hookehuyr

refactor(时间选择器): 简化日期选择器组件并修改日期格式

移除van-picker-group包装器,直接使用van-date-picker
修改日期格式为年-月-日,移除时间部分
初始化日期值为2024-01-01和2024-12-31
......@@ -183,24 +183,26 @@
<!-- 开始时间选择器 -->
<van-popup v-model:show="showStartTimePicker" position="bottom">
<van-picker-group
<van-date-picker
v-model="startDate"
title="选择开始时间"
:min-date="minDate"
:max-date="maxDate"
@confirm="onStartTimeConfirm"
@cancel="showStartTimePicker = false"
>
<van-date-picker v-model="startDate" :min-date="minDate" :max-date="maxDate" />
</van-picker-group>
/>
</van-popup>
<!-- 结束时间选择器 -->
<van-popup v-model:show="showEndTimePicker" position="bottom">
<van-picker-group
<van-date-picker
v-model="endDate"
title="选择结束时间"
:min-date="minDate"
:max-date="maxDate"
@confirm="onEndTimeConfirm"
@cancel="showEndTimePicker = false"
>
<van-date-picker v-model="endDate" :min-date="minDate" :max-date="maxDate" />
</van-picker-group>
/>
</van-popup>
<!-- 课程选择器 -->
......@@ -352,8 +354,8 @@ const showClassPicker = ref(false);
const showGroupPicker = ref(false);
// 日期选择器相关
const startDate = ref(new Date());
const endDate = ref(new Date());
const startDate = ref(['2024', '01', '01']);
const endDate = ref(['2024', '12', '31']);
const minDate = new Date(2020, 0, 1);
const maxDate = new Date(2030, 11, 31);
......@@ -473,9 +475,7 @@ const formatDateTime = (date) => {
const year = d.getFullYear();
const month = String(d.getMonth() + 1).padStart(2, '0');
const day = String(d.getDate()).padStart(2, '0');
const hours = String(d.getHours()).padStart(2, '0');
const minutes = String(d.getMinutes()).padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}`;
return `${year}-${month}-${day}`;
};
/**
......@@ -500,7 +500,8 @@ const onFrequencyConfirm = (option) => {
* 开始时间确认
*/
const onStartTimeConfirm = () => {
formData.value.start_time = startDate.value;
const [year, month, day] = startDate.value;
formData.value.start_time = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
showStartTimePicker.value = false;
};
......@@ -508,7 +509,8 @@ const onStartTimeConfirm = () => {
* 结束时间确认
*/
const onEndTimeConfirm = () => {
formData.value.end_time = endDate.value;
const [year, month, day] = endDate.value;
formData.value.end_time = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
showEndTimePicker.value = false;
};
......