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