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

---
 apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
index 6087e03..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>
@@ -241,6 +242,20 @@
             >{{ val }}</BlRadio
           >
         </nut-radio-group>
+      </nut-form-item>
+      <nut-form-item
+        label="缁撶畻鏂瑰紡:"
+        class="bole-form-item"
+        prop="settlementAccess"
+        label-width="90px"
+        required
+      >
+        <ChooseInputWithPicker
+          v-model="form.settlementAccess"
+          placeholder="璇烽�夋嫨缁撶畻鏂瑰紡"
+          :value-enum="settlementAccessList"
+          :disabled="isEdit"
+        />
       </nut-form-item>
     </nut-form>
   </ContentScrollView>
@@ -266,6 +281,8 @@
   EnumSettlementCycleDateMonthArray,
   EnumTaskCheckReceiveMethod,
   EnumTaskCheckReceiveMethodText,
+  EnumEnterpriseWalletAccess,
+  EnumEnterpriseWalletAccessText,
 } from '@12333/constants';
 import {
   ChooseInputWithPicker,
@@ -277,12 +294,15 @@
   ChooseInputWithCheckbox,
 } from '@12333/components';
 import { FormValidator, Message } from '@12333/utils';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
 import * as taskServices from '@12333/services/apiV2/task';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import Taro from '@tarojs/taro';
 import { goBack } from '@/utils';
-import { useAllAreaList, useDictionaryDataSelect } from '@12333/hooks';
+import {
+  useAllAreaList,
+  useDictionaryDataSelect,
+  useEnterpriseWalletAccessSelect,
+} from '@12333/hooks';
 import { useQuery } from '@tanstack/vue-query';
 import dayjs from 'dayjs';
 
@@ -292,12 +312,20 @@
 
 const { userDetail } = useUser();
 const { findAreaNameFromCode } = useAllAreaList();
+const { settlementAccessList } = useEnterpriseWalletAccessSelect();
 const router = Taro.useRouter();
 const taskId = router.params?.id ?? '';
 const isEdit = !!taskId;
 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,
@@ -339,12 +367,14 @@
   checkReceiveMethod: EnumTaskCheckReceiveMethod.CheckIn,
   applyBeginTime: '',
   applyEndTime: '',
+  settlementAccess: '' as any as EnumEnterpriseWalletAccess,
 });
 
 const rules = reactive<FormRules>({
   name: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }],
   genderLimit: [{ required: true, message: '璇烽�夋嫨鎬у埆瑕佹眰' }],
   settlementCycleDate: [{ required: true, message: '璇疯缃粨绠楁棩鏈�' }],
+  settlementAccess: [{ required: true, message: '璇烽�夋嫨缁撶畻鏂瑰紡' }],
   // addressDetail: [{ required: true, message: '璇疯緭鍏ヨ缁嗗湴鍧�' }],
   billingMethod: [
     {
@@ -402,6 +432,32 @@
       },
     },
   ],
+  applyBeginTime: [
+    {
+      required: true,
+      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: '璇烽�夋嫨鎶ュ悕缁撴潫鏃ユ湡',
+      validator(value) {
+        if (!value) return Promise.reject('璇烽�夋嫨鎶ュ悕缁撴潫鏃ユ湡');
+        if (dayjs(value).isBefore(dayjs(form.applyBeginTime)))
+          return Promise.reject('鎶ュ悕缁撴潫鏃ユ湡闇�澶т簬鎶ュ悕寮�濮嬫棩鏈�');
+        if (dayjs(value).isAfter(dayjs(form.endTime)))
+          return Promise.reject('鎶ュ悕缁撴潫鏃ユ湡闇�灏忎簬浠诲姟缁撴潫鏃ユ湡');
+        return Promise.resolve(true);
+      },
+    },
+  ],
 });
 
 const {
@@ -450,6 +506,7 @@
     form.checkReceiveMethod = data.checkReceiveMethod;
     form.applyBeginTime = dayjs(data.applyBeginTime).format('YYYY-MM-DD');
     form.applyEndTime = dayjs(data.applyEndTime).format('YYYY-MM-DD');
+    form.settlementAccess = data.settlementAccess;
   },
 });
 
@@ -490,6 +547,7 @@
       checkReceiveMethod: form.checkReceiveMethod,
       applyBeginTime: dayjs(form.applyBeginTime).format('YYYY-MM-DD 00:00:00'),
       applyEndTime: dayjs(form.applyEndTime).format('YYYY-MM-DD 23:59:59'),
+      settlementAccess: form.settlementAccess,
     };
     if (isEdit) {
       params.id = taskId;
@@ -508,6 +566,15 @@
   } catch (error) {}
 }
 
+function timeChange() {
+  form.applyBeginTime = '';
+  form.applyEndTime = '';
+}
+
+function applyTimeChange() {
+  form.applyEndTime = '';
+}
+
 function settleTypeChange() {
   form.settlementDate = null as number;
 }

--
Gitblit v1.9.1