|  |  |  | 
|---|
|  |  |  | }}</BlRadio> | 
|---|
|  |  |  | </nut-radio-group> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | <nut-form-item label=" " class="bole-form-item" prop="serviceFee" label-width="0"> | 
|---|
|  |  |  | <nut-form-item | 
|---|
|  |  |  | v-if="form.billingMethod !== EnumBillingMethod.Face" | 
|---|
|  |  |  | label=" " | 
|---|
|  |  |  | class="bole-form-item" | 
|---|
|  |  |  | prop="serviceFee" | 
|---|
|  |  |  | label-width="0" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="bole-form-input-wrapper"> | 
|---|
|  |  |  | <NumberInput | 
|---|
|  |  |  | v-model.trim="form.serviceFee" | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="form-input-unit">{{ BillingMethodEnumUnit[form.billingMethod] }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | <template v-if="form.billingMethod === EnumBillingMethod.Hour"> | 
|---|
|  |  |  | <template | 
|---|
|  |  |  | v-if=" | 
|---|
|  |  |  | form.billingMethod === EnumBillingMethod.Hour || | 
|---|
|  |  |  | form.billingMethod === EnumBillingMethod.Day | 
|---|
|  |  |  | " | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <nut-form-item | 
|---|
|  |  |  | label="核定工时:" | 
|---|
|  |  |  | class="bole-form-item" | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ChooseInputWithDatePicker | 
|---|
|  |  |  | v-model="form.applyBeginTime" | 
|---|
|  |  |  | :minDate="form.beginTime ? dayjs(form.beginTime).toDate() : nowDate" | 
|---|
|  |  |  | :minDate="nowDate" | 
|---|
|  |  |  | placeholder="请选择报名开始日期" | 
|---|
|  |  |  | ></ChooseInputWithDatePicker> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ChooseInputWithDatePicker | 
|---|
|  |  |  | v-model="form.applyEndTime" | 
|---|
|  |  |  | :max-date="form.endTime ? dayjs(form.endTime).toDate() : nowDate" | 
|---|
|  |  |  | :minDate="form.applyBeginTime ? dayjs(form.applyBeginTime).toDate() : nowDate" | 
|---|
|  |  |  | placeholder="请选择报名结束日期" | 
|---|
|  |  |  | ></ChooseInputWithDatePicker> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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, | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!form.billingMethod) { | 
|---|
|  |  |  | return Promise.reject('请选择服务费类型'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!form.serviceFee) { | 
|---|
|  |  |  | if (!form.serviceFee && form.billingMethod !== EnumBillingMethod.Face) { | 
|---|
|  |  |  | return Promise.reject('请输入服务费'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return Promise.resolve(true); | 
|---|
|  |  |  | 
|---|
|  |  |  | applyBeginTime: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | required: true, | 
|---|
|  |  |  | message: '请选择任务开始日期', | 
|---|
|  |  |  | message: '请选择报名开始日期', | 
|---|
|  |  |  | validator(value) { | 
|---|
|  |  |  | if (!value) return Promise.reject('请选择报名开始日期'); | 
|---|
|  |  |  | if (dayjs(value).isAfter(dayjs(form.endTime))) | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function timeChange() { | 
|---|
|  |  |  | form.applyBeginTime = ''; | 
|---|
|  |  |  | form.applyEndTime = ''; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function applyTimeChange() { | 
|---|
|  |  |  | form.applyEndTime = ''; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function settleTypeChange() { | 
|---|
|  |  |  | form.settlementDate = null as number; | 
|---|
|  |  |  | } | 
|---|