From 5095d8b908ae1ac1daf992888956d27fddf5870f Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期日, 19 十月 2025 21:26:55 +0800 Subject: [PATCH] feat: 1.2.0.1 --- packages/components/src/Input/ChooseInputWithDatePicker.vue | 4 ++++ apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue index f0a2eb6..34fb36f 100644 --- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue @@ -194,6 +194,7 @@ v-model="form.beginTime" :minDate="nowDate" placeholder="璇烽�夋嫨浠诲姟寮�濮嬫棩鏈�" + @change="timeChange" ></ChooseInputWithDatePicker> </nut-form-item> <nut-form-item label="浠诲姟缁撴潫鏃ユ湡:" class="bole-form-item" prop="endTime" label-width="90px"> @@ -223,7 +224,7 @@ > <ChooseInputWithDatePicker v-model="form.applyEndTime" - :max-date="form.endTime ? dayjs(form.endTime).toDate() : nowDate" + :minDate="form.beginTime ? dayjs(form.beginTime).toDate() : nowDate" placeholder="璇烽�夋嫨鎶ュ悕缁撴潫鏃ユ湡" ></ChooseInputWithDatePicker> </nut-form-item> @@ -318,6 +319,13 @@ const isCopy = router.params?.isCopy === 'true'; const nowDate = dayjs().toDate(); +const applyBeginTimeMinDate = computed(() => { + return form.applyBeginTime + ? dayjs(form.applyBeginTime).toDate() + : form.beginTime + ? dayjs(form.beginTime).toDate() + : nowDate; +}); const { dictionaryDataList: WelfareTypeList } = useDictionaryDataSelect({ categoryCode: CategoryCode.Welfare, @@ -427,17 +435,25 @@ applyBeginTime: [ { required: true, - message: '璇烽�夋嫨浠诲姟寮�濮嬫棩鏈�', + message: '璇烽�夋嫨鎶ュ悕寮�濮嬫棩鏈�', + validator(value) { + if (!value) return Promise.reject('璇烽�夋嫨鎶ュ悕寮�濮嬫棩鏈�'); + if (dayjs(value).isBefore(dayjs(form.beginTime))) + return Promise.reject('鎶ュ悕寮�濮嬫棩鏈熼渶澶т簬浠诲姟寮�濮嬫棩鏈�'); + return Promise.resolve(true); + }, }, ], applyEndTime: [ { required: true, - message: '璇烽�夋嫨浠诲姟缁撴潫鏃ユ湡', + message: '璇烽�夋嫨鎶ュ悕缁撴潫鏃ユ湡', validator(value) { - if (!value) return Promise.reject('璇烽�夋嫨浠诲姟缁撴潫鏃ユ湡'); + if (!value) return Promise.reject('璇烽�夋嫨鎶ュ悕缁撴潫鏃ユ湡'); if (dayjs(value).isBefore(dayjs(form.applyBeginTime))) - return Promise.reject('浠诲姟缁撴潫鏃ユ湡闇�澶т簬浠诲姟寮�濮嬫棩鏈�'); + return Promise.reject('鎶ュ悕缁撴潫鏃ユ湡闇�澶т簬鎶ュ悕寮�濮嬫棩鏈�'); + if (dayjs(value).isAfter(dayjs(form.endTime))) + return Promise.reject('鎶ュ悕缁撴潫鏃ユ湡闇�灏忎簬浠诲姟缁撴潫鏃ユ湡'); return Promise.resolve(true); }, }, @@ -550,6 +566,15 @@ } catch (error) {} } +function timeChange() { + form.applyBeginTime = ''; + form.applyEndTime = ''; +} + +function applyTimeChange() { + form.applyEndTime = ''; +} + function settleTypeChange() { form.settlementDate = null as number; } diff --git a/packages/components/src/Input/ChooseInputWithDatePicker.vue b/packages/components/src/Input/ChooseInputWithDatePicker.vue index 2f55286..a68a71f 100644 --- a/packages/components/src/Input/ChooseInputWithDatePicker.vue +++ b/packages/components/src/Input/ChooseInputWithDatePicker.vue @@ -27,6 +27,7 @@ const emit = defineEmits<{ (e: 'update:modelValue', val: string | number): void; + (e: 'change'): void; }>(); function handleOpen() { @@ -55,6 +56,9 @@ emit('update:modelValue', dayjs(selectedValue.join('-')).format(props.format)); onClose(); }, + onChange: () => { + emit('change'); + }, minDate: props.minDate, }), } -- Gitblit v1.9.1