From 4dc2236babbf99787044c0fa29be9cb5fa850144 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 21:06:07 +0800
Subject: [PATCH] feat: 1.2.0.1
---
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue | 485 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 362 insertions(+), 123 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
index 738ce69..f0a2eb6 100644
--- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -1,34 +1,77 @@
<template>
<ContentScrollView :paddingH="false">
<nut-form :model-value="form" ref="formRef" :rules="rules">
- <nut-form-item label="浠诲姟鍚嶇О:" class="bole-form-item" prop="taskName" label-width="90px">
- <nut-input v-model="form.taskName" placeholder="璇疯緭鍏ヤ换鍔″悕绉�"> </nut-input>
+ <nut-form-item label="浠诲姟鍚嶇О:" class="bole-form-item" prop="name" label-width="90px">
+ <nut-input v-model="form.name" placeholder="璇疯緭鍏ヤ换鍔″悕绉�"> </nut-input>
</nut-form-item>
<nut-form-item
label="鏈嶅姟璐�:"
class="bole-form-item alignTop"
- prop="feeType"
+ prop="billingMethod"
required
label-width="90px"
label-position="top"
>
- <nut-radio-group v-model="form.feeType" direction="horizontal">
- <BlRadio :label="Number(key)" v-for="(val, key) in FlexTaskFeeTypeEnumText" :key="key">{{
+ <nut-radio-group v-model="form.billingMethod" direction="horizontal">
+ <BlRadio :label="Number(key)" v-for="(val, key) in EnumBillingMethodText" :key="key">{{
val
}}</BlRadio>
</nut-radio-group>
</nut-form-item>
- <nut-form-item label=" " class="bole-form-item" prop="fee" label-width="0">
+ <nut-form-item label=" " class="bole-form-item" prop="serviceFee" label-width="0">
<div class="bole-form-input-wrapper">
- <nut-input
- v-model.trim="form.fee"
+ <NumberInput
+ v-model.trim="form.serviceFee"
class="nut-input-text bole-input-text"
placeholder="璇疯緭鍏ユ湇鍔¤垂"
+ :min="0"
+ :max="999999999999"
+ :precision="2"
type="text"
/>
- <div class="form-input-unit">{{ SalaryTimeTypeEnumUnit[form.feeType] }}</div>
+ <div class="form-input-unit">{{ BillingMethodEnumUnit[form.billingMethod] }}</div>
</div>
</nut-form-item>
+ <template v-if="form.billingMethod === EnumBillingMethod.Hour">
+ <nut-form-item
+ label="鏍稿畾宸ユ椂:"
+ class="bole-form-item"
+ prop="verifyWorkHours"
+ label-width="90"
+ >
+ <div class="bole-form-input-wrapper">
+ <NumberInput
+ v-model.trim="form.verifyWorkHours"
+ class="nut-input-text bole-input-text"
+ placeholder="璇疯緭鍏ユ牳瀹氬伐鏃�"
+ :min="0"
+ :max="999999999999"
+ :precision="2"
+ type="text"
+ />
+ <div class="form-input-unit">{{ '灏忔椂/澶�' }}</div>
+ </div>
+ </nut-form-item>
+ <nut-form-item
+ label="瓒呮椂鏈嶅姟璐�:"
+ class="bole-form-item"
+ prop="timeoutServiceFee"
+ label-width="90"
+ >
+ <div class="bole-form-input-wrapper">
+ <NumberInput
+ v-model.trim="form.timeoutServiceFee"
+ class="nut-input-text bole-input-text"
+ placeholder="璇疯緭鍏ヨ秴鏃舵湇鍔¤垂"
+ :min="0"
+ :max="999999999999"
+ :precision="2"
+ type="text"
+ />
+ <div class="form-input-unit">{{ '鍏�/灏忔椂' }}</div>
+ </div>
+ </nut-form-item>
+ </template>
<nut-form-item
label="缁撶畻鏂瑰紡:"
class="bole-form-item"
@@ -36,18 +79,33 @@
required
label-width="90px"
>
- <nut-radio-group v-model="form.settleType" direction="horizontal">
- <BlRadio
- :label="Number(key)"
- v-for="(val, key) in FlexTaskSettleTypeEnumText"
- :key="key"
- >{{ val }}</BlRadio
- >
+ <nut-radio-group
+ v-model="form.settlementCycle"
+ direction="horizontal"
+ @change="settleTypeChange"
+ >
+ <BlRadio :label="Number(key)" v-for="(val, key) in EnumSettlementCycleText" :key="key">{{
+ val
+ }}</BlRadio>
</nut-radio-group>
</nut-form-item>
- <nut-form-item label="绂忓埄:" class="bole-form-item" prop="settleType" label-width="90px">
+ <nut-form-item
+ label="缁撶畻鏃ユ湡:"
+ class="bole-form-item"
+ prop="settlementDate"
+ label-width="90px"
+ required
+ v-if="form.settlementCycle !== EnumSettlementCycle.Day"
+ >
+ <ChooseInputWithPicker
+ v-model="form.settlementDate"
+ placeholder="璇疯缃粨绠楁棩鏈�"
+ :value-enum="settlementDateList"
+ />
+ </nut-form-item>
+ <nut-form-item label="绂忓埄:" class="bole-form-item" prop="benefits" label-width="90px">
<ChooseInputWithCheckbox
- v-model="form.listAideIds"
+ v-model="form.benefits"
title="璇烽�夋嫨绂忓埄"
:columns="WelfareTypeList"
placeholder="璇烽�夋嫨绂忓埄"
@@ -56,62 +114,147 @@
<nut-form-item
label="骞撮緞鑼冨洿:"
class="bole-form-item"
- prop="minAge"
+ prop="ageMinLimit"
required
label-width="90px"
>
<div class="bole-form-input-wrapper">
<NumberInput
- v-model.trim="form.minAge"
+ v-model.trim="form.ageMinLimit"
class="nut-input-text bole-input-text"
placeholder="璇烽�夋嫨骞撮緞鑼冨洿"
- :min="1"
+ :min="16"
/>
<div class="form-input-separator">鑷�</div>
<NumberInput
- v-model.trim="form.maxAge"
+ v-model.trim="form.ageMaxLimit"
class="nut-input-text bole-input-text"
placeholder="璇烽�夋嫨骞撮緞鑼冨洿"
- :min="1"
+ :min="16"
/>
</div>
</nut-form-item>
- <nut-form-item label="鎬у埆:" class="bole-form-item" prop="sexType" label-width="90px">
+ <nut-form-item
+ label="鎬у埆瑕佹眰:"
+ class="bole-form-item"
+ prop="genderLimit"
+ label-width="90px"
+ required
+ >
<ChooseInputWithPicker
- v-model="form.sexType"
+ v-model="form.genderLimit"
placeholder="璇烽�夋嫨鎬у埆瑕佹眰"
- :value-enum="GenderText"
+ :value-enum="EnumUserGenderTextOptions"
/>
</nut-form-item>
- <nut-form-item label="璧勬牸璇佷功:" class="bole-form-item" prop="settleType" label-width="90px">
+ <nut-form-item
+ label="璧勬牸璇佷功:"
+ class="bole-form-item"
+ prop="credentialLimits"
+ label-width="90px"
+ >
<ChooseInputWithCheckbox
- v-model="form.listCertionIds"
+ v-model="form.credentialLimits"
title="璇烽�夋嫨璧勬牸璇佷功"
:columns="CertificateTypeList"
placeholder="璇烽�夋嫨璧勬牸璇佷功"
/>
</nut-form-item>
- <nut-form-item label="浠诲姟鍦扮偣" class="bole-form-item" prop="areaList" required>
- <!-- <ChooseLocationInput placeholder="璇烽�夋嫨浠诲姟鎵�鍦ㄥ湴" v-model="form.weMapInfo" /> -->
- <ChooseInputWithAreaPicker
- :columns="areaTreeList"
- v-model="form.areaList"
- placeholder="璇烽�夋嫨鎵�鍦ㄥ湴鍖�"
- ></ChooseInputWithAreaPicker>
+ <nut-form-item
+ label="浠诲姟鍦扮偣"
+ label-width="90px"
+ class="bole-form-item"
+ prop="weMapInfo"
+ required
+ >
+ <ChooseLocationInput
+ inputAlign="left"
+ placeholder="璇烽�夋嫨浠诲姟鍦扮偣"
+ v-model="form.weMapInfo"
+ />
</nut-form-item>
- <nut-form-item label="璇︾粏鍦板潃:" class="bole-form-item" prop="address" label-width="90px">
- <nut-input v-model="form.address" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"> </nut-input>
+ <nut-form-item
+ label="鍦扮偣璇存槑:"
+ class="bole-form-item"
+ prop="addressDetail"
+ label-width="90px"
+ >
+ <nut-input v-model="form.addressDetail" placeholder="璇疯緭鍏ュ湴鐐硅鏄�"> </nut-input>
+ </nut-form-item>
+ <nut-form-item label="浠诲姟璇存槑:" class="bole-form-item" prop="description" label-width="90px">
+ <nut-textarea v-model="form.description" placeholder="璇疯緭鍏ヤ换鍔¤鏄�"> </nut-textarea>
</nut-form-item>
<nut-form-item
label="浠诲姟寮�濮嬫棩鏈�:"
class="bole-form-item"
- prop="startDate"
+ prop="beginTime"
label-width="90px"
>
- <ChooseInputWithDatePicker v-model="form.startDate"></ChooseInputWithDatePicker>
+ <ChooseInputWithDatePicker
+ v-model="form.beginTime"
+ :minDate="nowDate"
+ placeholder="璇烽�夋嫨浠诲姟寮�濮嬫棩鏈�"
+ ></ChooseInputWithDatePicker>
</nut-form-item>
- <nut-form-item label="浠诲姟缁撴潫鏃ユ湡:" class="bole-form-item" prop="endDate" label-width="90px">
- <ChooseInputWithDatePicker v-model="form.endDate"></ChooseInputWithDatePicker>
+ <nut-form-item label="浠诲姟缁撴潫鏃ユ湡:" class="bole-form-item" prop="endTime" label-width="90px">
+ <ChooseInputWithDatePicker
+ v-model="form.endTime"
+ :minDate="nowDate"
+ placeholder="璇烽�夋嫨浠诲姟缁撴潫鏃ユ湡"
+ ></ChooseInputWithDatePicker>
+ </nut-form-item>
+ <nut-form-item
+ label="鎶ュ悕寮�濮嬫棩鏈�:"
+ class="bole-form-item"
+ prop="applyBeginTime"
+ label-width="90px"
+ >
+ <ChooseInputWithDatePicker
+ v-model="form.applyBeginTime"
+ :minDate="form.beginTime ? dayjs(form.beginTime).toDate() : nowDate"
+ placeholder="璇烽�夋嫨鎶ュ悕寮�濮嬫棩鏈�"
+ ></ChooseInputWithDatePicker>
+ </nut-form-item>
+ <nut-form-item
+ label="鎶ュ悕缁撴潫鏃ユ湡:"
+ class="bole-form-item"
+ prop="applyEndTime"
+ label-width="90px"
+ >
+ <ChooseInputWithDatePicker
+ v-model="form.applyEndTime"
+ :max-date="form.endTime ? dayjs(form.endTime).toDate() : nowDate"
+ placeholder="璇烽�夋嫨鎶ュ悕缁撴潫鏃ユ湡"
+ ></ChooseInputWithDatePicker>
+ </nut-form-item>
+ <nut-form-item
+ label="楠屾敹鏂瑰紡:"
+ class="bole-form-item"
+ prop="checkReceiveMethod"
+ label-width="90px"
+ >
+ <nut-radio-group v-model="form.checkReceiveMethod" direction="horizontal">
+ <BlRadio
+ :label="Number(key)"
+ v-for="(val, key) in EnumTaskCheckReceiveMethodText"
+ :key="key"
+ >{{ 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>
@@ -122,14 +265,24 @@
</template>
<script setup lang="ts">
-import {
- FlexTaskSettleTypeEnum,
- FlexTaskSettleTypeEnumText,
- FlexTaskFeeTypeEnum,
- FlexTaskFeeTypeEnumText,
- SalaryTimeTypeEnumUnit,
-} from '@/constants/task';
import { useUser } from '@/hooks';
+import {
+ CategoryCode,
+ EnumBillingMethod,
+ EnumSettlementCycle,
+ EnumUserGender,
+ EnumBillingMethodText,
+ EnumUserGenderText,
+ EnumSettlementCycleText,
+ BillingMethodEnumUnit,
+ EnumUserGenderTextOptions,
+ EnumSettlementCycleDateWeekArray,
+ EnumSettlementCycleDateMonthArray,
+ EnumTaskCheckReceiveMethod,
+ EnumTaskCheckReceiveMethodText,
+ EnumEnterpriseWalletAccess,
+ EnumEnterpriseWalletAccessText,
+} from '@12333/constants';
import {
ChooseInputWithPicker,
ChooseInputWithDatePicker,
@@ -140,12 +293,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 { Gender, GenderText, SearchType } from '@12333/constants';
-import { useAllAreaList, useSearchSettingType } from '@12333/hooks';
+import {
+ useAllAreaList,
+ useDictionaryDataSelect,
+ useEnterpriseWalletAccessSelect,
+} from '@12333/hooks';
import { useQuery } from '@tanstack/vue-query';
import dayjs from 'dayjs';
@@ -154,60 +310,95 @@
});
const { userDetail } = useUser();
-const { areaTreeList } = useAllAreaList();
+const { findAreaNameFromCode } = useAllAreaList();
+const { settlementAccessList } = useEnterpriseWalletAccessSelect();
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 { searchSettingTypeList: WelfareTypeList } = useSearchSettingType({
- searchType: SearchType.Welfare,
+const nowDate = dayjs().toDate();
+
+const { dictionaryDataList: WelfareTypeList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.Welfare,
});
-const { searchSettingTypeList: CertificateTypeList } = useSearchSettingType({
- searchType: SearchType.CertificateType,
+const { dictionaryDataList: CertificateTypeList } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.CertificateType,
+});
+
+const settlementDateList = computed(() => {
+ if (form.settlementCycle === EnumSettlementCycle.Month) {
+ return EnumSettlementCycleDateMonthArray;
+ }
+ if (form.settlementCycle === EnumSettlementCycle.Week) {
+ return EnumSettlementCycleDateWeekArray;
+ }
+ return [];
});
const form = reactive({
- taskName: '',
- feeType: FlexTaskFeeTypeEnum.OfMonth,
- fee: 0,
- settleType: FlexTaskSettleTypeEnum.OfMonth,
- listAideIds: [] as string[],
- minAge: 0,
- maxAge: 0,
- sexType: Gender.Male,
- listCertionIds: [] as string[],
- address: '',
- startDate: '',
- endDate: '',
- areaList: [] as number[],
+ name: '',
+ billingMethod: EnumBillingMethod.Day,
+ serviceFee: '' as any as number,
+ settlementCycle: EnumSettlementCycle.Day,
+ benefits: [] as string[],
+ ageMinLimit: '' as any as number,
+ ageMaxLimit: '' as any as number,
+ genderLimit: 0 as any as EnumUserGender,
+ credentialLimits: [] as string[],
+ beginTime: '',
+ endTime: '',
+ settlementDate: null as number,
weMapInfo: {} as WeMapModel,
+ addressDetail: '',
+
+ verifyWorkHours: null as number,
+ timeoutServiceFee: null as number,
+ description: '',
+ checkReceiveMethod: EnumTaskCheckReceiveMethod.CheckIn,
+ applyBeginTime: '',
+ applyEndTime: '',
+ settlementAccess: '' as any as EnumEnterpriseWalletAccess,
});
const rules = reactive<FormRules>({
- taskName: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }],
-
- // weMapInfo: [
- // { required: true, message: '璇疯缃伐浣滃湴鐐�', validator: FormValidator.validatorWeMap },
- // ],
- areaList: [
- { required: true, message: '娓呮坊鍔犲伐浣滃湴鐐�', validator: FormValidator.validatorArray },
+ name: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }],
+ genderLimit: [{ required: true, message: '璇烽�夋嫨鎬у埆瑕佹眰' }],
+ settlementCycleDate: [{ required: true, message: '璇疯缃粨绠楁棩鏈�' }],
+ settlementAccess: [{ 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 },
],
- minAge: [
+ ageMinLimit: [
{
required: true,
message: '璇疯緭鍏ュ勾榫勮姹�',
validator: () => {
- if (!form.minAge) {
+ if (!form.ageMinLimit && form.ageMinLimit > 0) {
return Promise.reject('璇疯緭鍏ュ勾榫勮姹�');
}
- if (!form.maxAge) {
+ if (!form.ageMaxLimit && form.ageMaxLimit > 0) {
return Promise.reject('璇疯緭鍏ュ勾榫勮姹�');
}
- if (Number(form.maxAge) <= Number(form.minAge)) {
+ if (Number(form.ageMaxLimit) <= Number(form.ageMinLimit)) {
return Promise.reject('鏈�澶у勾榫勪笉鑳藉皬浜庢渶灏忓勾榫�');
}
return Promise.resolve(true);
@@ -215,19 +406,38 @@
},
],
- startDate: [
+ beginTime: [
{
required: true,
message: '璇烽�夋嫨寮�濮嬫棩鏈�',
},
],
- endDate: [
+ endTime: [
{
required: true,
message: '璇烽�夋嫨缁撴潫鏃ユ湡',
validator(value) {
if (!value) return Promise.reject('璇烽�夋嫨缁撴潫鏃ユ湡');
- if (value <= form.startDate) return Promise.reject('缁撴潫鏃ユ湡涓嶈兘灏忎簬寮�濮嬫棩鏈�');
+ if (dayjs(value).isBefore(dayjs(form.beginTime)))
+ return Promise.reject('缁撴潫鏃ユ湡闇�澶т簬寮�濮嬫棩鏈�');
+ return Promise.resolve(true);
+ },
+ },
+ ],
+ applyBeginTime: [
+ {
+ required: true,
+ message: '璇烽�夋嫨浠诲姟寮�濮嬫棩鏈�',
+ },
+ ],
+ applyEndTime: [
+ {
+ required: true,
+ message: '璇烽�夋嫨浠诲姟缁撴潫鏃ユ湡',
+ validator(value) {
+ if (!value) return Promise.reject('璇烽�夋嫨浠诲姟缁撴潫鏃ユ湡');
+ if (dayjs(value).isBefore(dayjs(form.applyBeginTime)))
+ return Promise.reject('浠诲姟缁撴潫鏃ユ湡闇�澶т簬浠诲姟寮�濮嬫棩鏈�');
return Promise.resolve(true);
},
},
@@ -240,32 +450,47 @@
data: detail,
refetch,
} = useQuery({
- queryKey: ['flexWorkerServices/getFlexTaskDto', taskId],
+ queryKey: ['taskServices/getTaskInfo', taskId],
queryFn: async () => {
- return await flexWorkerServices.getFlexTaskDto(
+ return await taskServices.getTaskInfo(
{ id: taskId },
{
showLoading: false,
}
);
},
- placeholderData: () => ({} as API.GetFlexTaskDtoOutput),
+ placeholderData: () => ({} as API.GetTaskInfoQueryResult),
enabled: isEdit,
onSuccess(data) {
- form.taskName = data.taskName;
- form.feeType = data.feeType;
- form.fee = data.fee;
- form.settleType = data.settleType;
- form.listAideIds = data.taskWeals?.length > 0 ? data.taskWeals.map((item) => item.id) : [];
- form.minAge = data.minAge;
- form.maxAge = data.maxAge;
- form.sexType = data.sexType;
- form.listCertionIds = data.taskCerts?.length > 0 ? data.taskCerts.map((item) => item.id) : [];
- form.address = data.address;
- form.startDate = dayjs(data.startDate).format('YYYY-MM-DD');
- form.endDate = dayjs(data.endDate).format('YYYY-MM-DD');
- form.areaList = [data.provinceId, data.cityId, data.areaId];
- form.address = data.address;
+ form.name = data.name;
+ form.billingMethod = data.billingMethod;
+ form.serviceFee = data.serviceFee;
+ form.settlementCycle = data.settlementCycle;
+ form.settlementDate = data.settlementDate;
+ 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.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: data.provinceContent,
+ cityName: data.cityContent,
+ provinceCode: data.provinceCode,
+ cityCode: data.cityCode,
+ latitude: data.latitude,
+ longitude: data.longitude,
+ addressName: data.addressName,
+ };
+ form.description = data.description;
+ form.verifyWorkHours = data.verifyWorkHours;
+ form.timeoutServiceFee = data.timeoutServiceFee;
+ 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;
},
});
@@ -281,32 +506,42 @@
async function confirm() {
try {
- let params: API.AddEidtFlexTaskInput = {
- taskName: form.taskName,
- feeType: form.feeType,
- fee: form.fee,
- settleType: form.settleType,
- listAideIds: form.listAideIds,
- minAge: form.minAge,
- maxAge: form.maxAge,
- sexType: form.sexType,
- listCertionIds: form.listCertionIds,
- address: form.address,
- startDate: form.startDate,
- endDate: form.endDate,
- provinceId: form.areaList[0],
- cityId: form.areaList[1],
- areaId: form.areaList[2],
+ let params: API.SaveTaskInfoCommand = {
+ name: form.name,
+ billingMethod: form.billingMethod,
+ serviceFee: form.serviceFee,
+ settlementCycle: form.settlementCycle,
+ settlementDate: form.settlementDate ? form.settlementDate : 0,
+ benefits: form.benefits,
+ ageMinLimit: form.ageMinLimit,
+ ageMaxLimit: form.ageMaxLimit,
+ genderLimit: form.genderLimit,
+ credentialLimits: form.credentialLimits,
+ provinceCode: form.weMapInfo.provinceCode,
+ cityCode: form.weMapInfo.cityCode,
+ addressName: form.weMapInfo.addressName,
+ addressDetail: form.addressDetail,
+ longitude: form.weMapInfo.longitude,
+ latitude: form.weMapInfo.latitude,
+ beginTime: dayjs(form.beginTime).format('YYYY-MM-DD 00:00:00'),
+ endTime: dayjs(form.endTime).format('YYYY-MM-DD 23:59:59'),
+ description: form.description,
+ verifyWorkHours: form.verifyWorkHours,
+ timeoutServiceFee: form.timeoutServiceFee,
+ 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.taskId = taskId;
+ params.id = taskId;
}
if (isCopy) {
- params.taskId = '';
+ params.id = '';
}
- let res = await flexWorkerServices.addEidtFlexTask(params);
+ let res = await taskServices.saveTaskInfo(params);
if (res) {
- Message.success(isEdit ? '缂栬緫鎴愬姛' : '鍙戝竷鎴愬姛', {
+ Message.success(isEdit && !isCopy ? '缂栬緫鎴愬姛' : '鍙戝竷鎴愬姛', {
onClosed() {
goBack();
},
@@ -315,8 +550,12 @@
} catch (error) {}
}
+function settleTypeChange() {
+ form.settlementDate = null as number;
+}
+
function handleCancel() {
- Taro.navigateBack();
+ goBack();
}
</script>
--
Gitblit v1.9.1