From 4a8d6f9364ebcadd08834dcb37feb97ab83fba78 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 11 九月 2025 15:21:12 +0800
Subject: [PATCH] fix: bug
---
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue | 68 +++++++++++++++++++++++----------
1 files changed, 47 insertions(+), 21 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
index 8e810c9..010a8a2 100644
--- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -20,11 +20,11 @@
</nut-form-item>
<nut-form-item label=" " class="bole-form-item" prop="serviceFee" label-width="0">
<div class="bole-form-input-wrapper">
- <nut-input
+ <NumberInput
v-model.trim="form.serviceFee"
class="nut-input-text bole-input-text"
placeholder="璇疯緭鍏ユ湇鍔¤垂"
- type="text"
+ :min="0"
/>
<div class="form-input-unit">{{ BillingMethodEnumUnit[form.billingMethod] }}</div>
</div>
@@ -83,7 +83,7 @@
<ChooseInputWithPicker
v-model="form.genderLimit"
placeholder="璇烽�夋嫨鎬у埆瑕佹眰"
- :value-enum="EnumUserGenderText"
+ :value-enum="EnumUserGenderTextOptions"
/>
</nut-form-item>
<nut-form-item
@@ -122,10 +122,18 @@
prop="beginTime"
label-width="90px"
>
- <ChooseInputWithDatePicker v-model="form.beginTime"></ChooseInputWithDatePicker>
+ <ChooseInputWithDatePicker
+ v-model="form.beginTime"
+ :minDate="nowDate"
+ placeholder="璇烽�夋嫨浠诲姟寮�濮嬫棩鏈�"
+ ></ChooseInputWithDatePicker>
</nut-form-item>
<nut-form-item label="浠诲姟缁撴潫鏃ユ湡:" class="bole-form-item" prop="endTime" label-width="90px">
- <ChooseInputWithDatePicker v-model="form.endTime"></ChooseInputWithDatePicker>
+ <ChooseInputWithDatePicker
+ v-model="form.endTime"
+ :minDate="nowDate"
+ placeholder="璇烽�夋嫨浠诲姟缁撴潫鏃ユ湡"
+ ></ChooseInputWithDatePicker>
</nut-form-item>
</nut-form>
</ContentScrollView>
@@ -146,6 +154,7 @@
EnumUserGenderText,
EnumSettlementCycleText,
BillingMethodEnumUnit,
+ EnumUserGenderTextOptions,
} from '@12333/constants';
import {
ChooseInputWithPicker,
@@ -173,10 +182,12 @@
const { userDetail } = useUser();
const { findAreaNameFromCode } = useAllAreaList();
const router = Taro.useRouter();
-const taskId = router.params?.taskId ?? '';
+const taskId = router.params?.id ?? '';
const isEdit = !!taskId;
const isCopy = router.params?.isCopy === 'true';
console.log('isCopy: ', router.params?.isCopy);
+
+const nowDate = dayjs().toDate();
const { dictionaryDataList: WelfareTypeList } = useDictionaryDataSelect({
categoryCode: CategoryCode.Welfare,
@@ -191,9 +202,9 @@
serviceFee: '' as any as number,
settlementCycle: EnumSettlementCycle.Month,
benefits: [] as string[],
- ageMinLimit: 0,
- ageMaxLimit: 0,
- genderLimit: '' as any as EnumUserGender,
+ ageMinLimit: '' as any as number,
+ ageMaxLimit: '' as any as number,
+ genderLimit: 0 as any as EnumUserGender,
credentialLimits: [] as string[],
// address: '',
beginTime: '',
@@ -208,7 +219,21 @@
name: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }],
genderLimit: [{ required: true, message: '璇烽�夋嫨鎬у埆瑕佹眰' }],
addressDetail: [{ required: true, message: '璇疯緭鍏ヨ缁嗗湴鍧�' }],
-
+ billingMethod: [
+ {
+ required: true,
+ message: '璇烽�夋嫨鏀惰垂鏂瑰紡',
+ validator: () => {
+ if (!form.billingMethod) {
+ return Promise.reject('璇烽�夋嫨鏈嶅姟璐圭被鍨�');
+ }
+ if (!form.serviceFee) {
+ return Promise.reject('璇疯緭鍏ユ湇鍔¤垂');
+ }
+ return Promise.resolve(true);
+ },
+ },
+ ],
weMapInfo: [
{ required: true, message: '璇疯缃伐浣滃湴鐐�', validator: FormValidator.validatorWeMap },
],
@@ -221,10 +246,10 @@
required: true,
message: '璇疯緭鍏ュ勾榫勮姹�',
validator: () => {
- if (!form.ageMinLimit) {
+ if (!form.ageMinLimit && form.ageMinLimit > 0) {
return Promise.reject('璇疯緭鍏ュ勾榫勮姹�');
}
- if (!form.ageMaxLimit) {
+ if (!form.ageMaxLimit && form.ageMaxLimit > 0) {
return Promise.reject('璇疯緭鍏ュ勾榫勮姹�');
}
if (Number(form.ageMaxLimit) <= Number(form.ageMinLimit)) {
@@ -247,7 +272,8 @@
message: '璇烽�夋嫨缁撴潫鏃ユ湡',
validator(value) {
if (!value) return Promise.reject('璇烽�夋嫨缁撴潫鏃ユ湡');
- if (value <= form.beginTime) return Promise.reject('缁撴潫鏃ユ湡涓嶈兘灏忎簬寮�濮嬫棩鏈�');
+ if (dayjs(value).isBefore(dayjs(form.beginTime)))
+ return Promise.reject('缁撴潫鏃ユ湡闇�澶т簬寮�濮嬫棩鏈�');
return Promise.resolve(true);
},
},
@@ -276,17 +302,17 @@
form.billingMethod = data.billingMethod;
form.serviceFee = data.serviceFee;
form.settlementCycle = data.settlementCycle;
- form.benefits = (data.benefits ?? []).map((item) => item.code);
+ form.benefits = (data.benefits ?? []).map((item) => item.benefitCode);
form.ageMinLimit = data.ageMinLimit;
form.ageMaxLimit = data.ageMaxLimit;
form.genderLimit = data.genderLimit;
- form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.code);
+ form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.typeCode);
form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD');
form.endTime = dayjs(data.endTime).format('YYYY-MM-DD');
form.addressDetail = data.addressDetail;
form.weMapInfo = {
- provinceName: findAreaNameFromCode(data.provinceCode),
- cityName: findAreaNameFromCode(data.cityCode),
+ provinceName: data.provinceContent,
+ cityName: data.cityContent,
provinceCode: data.provinceCode,
cityCode: data.cityCode,
latitude: data.latitude,
@@ -324,8 +350,8 @@
addressDetail: form.addressDetail,
longitude: form.weMapInfo.longitude,
latitude: form.weMapInfo.latitude,
- beginTime: form.beginTime,
- endTime: form.endTime,
+ beginTime: dayjs(form.beginTime).format('YYYY-MM-DD 00:00:00'),
+ endTime: dayjs(form.endTime).format('YYYY-MM-DD 23:59:59'),
};
if (isEdit) {
params.id = taskId;
@@ -335,7 +361,7 @@
}
let res = await taskServices.saveTaskInfo(params);
if (res) {
- Message.success(isEdit ? '缂栬緫鎴愬姛' : '鍙戝竷鎴愬姛', {
+ Message.success(isEdit && !isCopy ? '缂栬緫鎴愬姛' : '鍙戝竷鎴愬姛', {
onClosed() {
goBack();
},
@@ -345,7 +371,7 @@
}
function handleCancel() {
- Taro.navigateBack();
+ goBack();
}
</script>
--
Gitblit v1.9.1