feat: 更新日期选择器和时间筛选逻辑,优化用户体验
This commit is contained in:
parent
4e0bbbf3e3
commit
33a32e1134
@ -9,12 +9,12 @@
|
||||
</view>
|
||||
</picker>
|
||||
|
||||
<picker mode="selector" :range="timeRangeOptions" range-key="label" @change="pickTimeRange">
|
||||
<uni-datetime-picker type="daterange" :value="dateRange" @change="pickTimeRange">
|
||||
<view class="filter-pill">
|
||||
<view class="pill-text">{{ currentTimeRange.label }}</view>
|
||||
<view class="pill-text">{{ dateRangeLabel }}</view>
|
||||
<uni-icons type="arrowdown" size="12" color="#666" />
|
||||
</view>
|
||||
</picker>
|
||||
</uni-datetime-picker>
|
||||
</view>
|
||||
|
||||
<view v-if="showShareTip" class="share-tip">
|
||||
@ -75,13 +75,13 @@ const currentType = ref({ name: '全部', value: 'ALL' });
|
||||
|
||||
const records = ref([]);
|
||||
|
||||
const timeRangeOptions = [
|
||||
{ label: '全部时间', value: 'ALL' },
|
||||
{ label: '今天', value: 'today' },
|
||||
{ label: '近7天', value: '7d' },
|
||||
{ label: '近30天', value: '30d' },
|
||||
];
|
||||
const currentTimeRange = ref(timeRangeOptions[0]);
|
||||
const dateRange = ref([]);
|
||||
const dateRangeLabel = computed(() => {
|
||||
if (Array.isArray(dateRange.value) && dateRange.value.length === 2 && dateRange.value[0] && dateRange.value[1]) {
|
||||
return `${dateRange.value[0]} 至 ${dateRange.value[1]}`;
|
||||
}
|
||||
return '全部时间';
|
||||
});
|
||||
|
||||
function getCurrentTeamId() {
|
||||
const team = uni.getStorageSync('ykt_case_current_team') || {};
|
||||
@ -204,19 +204,9 @@ async function refreshList() {
|
||||
currentType.value.value === 'ALL' ? templates.value.map((i) => i.templateType) : currentType.value.value;
|
||||
|
||||
// 添加时间筛选
|
||||
if (currentTimeRange.value.value !== 'ALL') {
|
||||
const now = Date.now();
|
||||
if (currentTimeRange.value.value === 'today') {
|
||||
const todayStart = new Date(new Date().setHours(0, 0, 0, 0)).getTime();
|
||||
params.startTime = todayStart;
|
||||
params.endTime = now;
|
||||
} else if (currentTimeRange.value.value === '7d') {
|
||||
params.startTime = now - 7 * 24 * 60 * 60 * 1000;
|
||||
params.endTime = now;
|
||||
} else if (currentTimeRange.value.value === '30d') {
|
||||
params.startTime = now - 30 * 24 * 60 * 60 * 1000;
|
||||
params.endTime = now;
|
||||
}
|
||||
if (Array.isArray(dateRange.value) && dateRange.value.length === 2 && dateRange.value[0] && dateRange.value[1]) {
|
||||
params.startTime = dayjs(dateRange.value[0]).startOf('day').valueOf();
|
||||
params.endTime = dayjs(dateRange.value[1]).endOf('day').valueOf();
|
||||
}
|
||||
|
||||
const res = await api('getCustomerMedicalRecord', params);
|
||||
@ -323,8 +313,8 @@ function pickType(e) {
|
||||
currentType.value = typeRange.value[e.detail.value] || { name: '全部', value: 'ALL' };
|
||||
refreshList();
|
||||
}
|
||||
function pickTimeRange(e) {
|
||||
currentTimeRange.value = timeRangeOptions[e.detail.value] || timeRangeOptions[0];
|
||||
function pickTimeRange(val) {
|
||||
dateRange.value = val;
|
||||
refreshList();
|
||||
}
|
||||
|
||||
|
||||
@ -717,11 +717,11 @@ const openVerifyEntry = () => {
|
||||
};
|
||||
|
||||
const openAddCustomerServiceEntry = () => {
|
||||
uni.showToast({ title: '添加客服功能待接入', icon: 'none' });
|
||||
uni.navigateTo({ url: '/pages/work/service/contact-service' });
|
||||
};
|
||||
|
||||
const openInvitePatientEntry = () => {
|
||||
uni.navigateTo({ url: '/pages/case/patient-invite' });
|
||||
uni.navigateTo({ url: '/pages/work/team/invite/invite-patient' });
|
||||
};
|
||||
|
||||
const openCreatePatientEntry = () => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user