🐞 fix(时间选择器): 修复根据时间筛选结果的问题

This commit is contained in:
xuan
2022-12-07 15:15:08 +08:00
parent caf228d121
commit 0992ef1208
10 changed files with 66 additions and 62 deletions
+11 -11
View File
@@ -27,46 +27,46 @@ const FilterTimeOptions = {
name: '今天',
date_min: `${dayjs(new Date())
.add(0, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
date_max: `${dayjs(new Date())
.add(1, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
},
2: {
name: '昨日',
date_min: `${dayjs(new Date())
.add(-1, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
date_max: `${dayjs(new Date())
.add(0, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
},
3: {
name: '近7日',
date_min: `${dayjs(new Date())
.add(-7, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
date_max: `${dayjs(new Date())
.add(0, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
},
4: {
name: '近30日',
date_min: `${dayjs(new Date())
.add(-30, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
date_max: `${dayjs(new Date())
.add(0, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
},
5: {
name: '近90日',
date_min: `${dayjs(new Date())
.add(-90, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
date_max: `${dayjs(new Date())
.add(0, 'day')
.format('YYYY/MM/DD')} 00:00:00`,
.format('YYYY-MM-DD')} 00:00:00`,
},
custom: {
name: '自定义时间',
@@ -114,7 +114,7 @@ const SelectTimePicker = (props: SelectSaleTypeProps, ref) => {
end: event?.value?.end,
})
setShowTime(false)
customFilterButtonText.current = `${formatDateTime(event?.value?.start, 'YYYY年MM月DD日')} 至 ${formatDateTime(event?.value?.end, 'YYYY年MM月DD日')}`
customFilterButtonText.current = `${dayjs(event?.value?.start).format('YYYY年MM月DD日')} 至 ${dayjs(event?.value?.end).format('YYYY年MM月DD日')}`
change?.([event?.value?.start, event?.value?.end])
}
+11 -8
View File
@@ -21,31 +21,34 @@ const TimePicker = (props: Props) => {
// 如果选的是同一天的日期, end 自动加一天
if (!end) {
// 判断如果没选下一天的时候
e.value.end = `${dayjs(new Date(start)).add(1, 'day').format('YYYY/MM/DD')} 00:00:00`
e.value.end = `${dayjs(new Date(start)).add(1, 'day').format('YYYY-MM-DD')} 00:00:00`
}
else
if (start === end) {
e.value.end = `${dayjs(new Date(start)).add(1, 'day').format('YYYY/MM/DD')} 00:00:00`
e.value.end = `${dayjs(new Date(start)).add(1, 'day').format('YYYY-MM-DD')} 00:00:00`
}
else {
e.value.start = `${dayjs(start).format('YYYY-MM-DD')} 00:00:00`
e.value.end = `${dayjs(end).format('YYYY-MM-DD')} 00:00:00`
}
console.log('e===>', e)
setTime(e)
}
// 由于小程序的bug,部分ios和安卓显示时间的时候会有问题,原因是格式化时有`-`这个横杠
return (
<>
<View className={styles['time-box']}>
<AtCalendar
isMultiSelect
format="YYYY/MM/DD 00:00:00"
format="YYYY-MM-DD 00:00:00"
currentDate={{
start,
end,
}}
onSelectDate={e => handTime?.(e)}
onSelectDate={e => handTime(e)}
/>
</View>
<NormalButton type="primary" onClick={() => onSelectDate?.(time)} size="normal" round customClassName={styles['sure-box']}>确认</NormalButton>
{/* <View className='sure-box' onClick={() => onSelectDate?.(time)}>
确认
</View> */}
</>
)
}