| | |
| | | placeholder="请输入需求人数" |
| | | :min="0" |
| | | :max="999999999999" |
| | | type="text" |
| | | :precision="0" |
| | | /> |
| | | <div class="form-input-unit">人</div> |
| | | </div> |
| | |
| | | </nut-radio-group> |
| | | </nut-form-item> |
| | | <nut-form-item |
| | | v-if="form.billingMethod !== EnumBillingMethod.Face" |
| | | label=" " |
| | | class="bole-form-item" |
| | | prop="serviceFee" |
| | | label-width="0" |
| | | v-if="form.billingMethod !== EnumBillingMethod.Face" |
| | | > |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | |
| | | </div> |
| | | </nut-form-item> |
| | | </template> |
| | | <nut-form-item |
| | | v-if="form.billingMethod === EnumBillingMethod.Piece" |
| | | label="总件数:" |
| | | class="bole-form-item" |
| | | prop="totalPieces" |
| | | label-width="90" |
| | | > |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | | v-model.trim="form.totalPieces" |
| | | 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="checkReceiveMethod" |
| | | label-width="90px" |
| | | > |
| | | <nut-radio-group v-model="form.checkReceiveMethod" direction="horizontal"> |
| | | <!-- <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-radio-group> --> |
| | | <nut-checkbox-group v-model="form.checkReceiveMethods"> |
| | | <nut-checkbox |
| | | v-for="(val, key) in EnumTaskCheckReceiveMethodText" |
| | | :key="key" |
| | | :label="key as any" |
| | | > |
| | | {{ val }} |
| | | </nut-checkbox> |
| | | </nut-checkbox-group> |
| | | </nut-form-item> |
| | | <nut-form-item |
| | | label="结算方式:" |
| | |
| | | :value-enum="settlementAccessList" |
| | | :disabled="isEdit" |
| | | /> |
| | | </nut-form-item> |
| | | <nut-form-item |
| | | label="预计服务费总额:" |
| | | class="bole-form-item" |
| | | prop="totalServiceFee" |
| | | label-width="110px" |
| | | > |
| | | {{ form.totalServiceFee }} |
| | | </nut-form-item> |
| | | </nut-form> |
| | | </ContentScrollView> |
| | |
| | | |
| | | const { userDetail } = useUser(); |
| | | const { findAreaNameFromCode } = useAllAreaList(); |
| | | const { settlementAccessList } = useEnterpriseWalletAccessSelect(); |
| | | |
| | | const { supplierEnterpriseSelect } = useGetSupplierEnterpriseSelect(); |
| | | const router = Taro.useRouter(); |
| | | const taskId = router.params?.id ?? ''; |
| | |
| | | verifyWorkHours: null as number, |
| | | timeoutServiceFee: null as number, |
| | | description: '', |
| | | checkReceiveMethod: EnumTaskCheckReceiveMethod.CheckIn, |
| | | checkReceiveMethods: [] as EnumTaskCheckReceiveMethod[], |
| | | applyBeginTime: '', |
| | | applyEndTime: '', |
| | | settlementAccess: '' as any as EnumEnterpriseWalletAccess, |
| | | totalPieces: '' as any as number, |
| | | |
| | | totalServiceFee: null as number, |
| | | }); |
| | | |
| | | const rules = reactive<FormRules>({ |
| | | supplierEnterpriseId: [{ required: true, message: '请选择供应商' }], |
| | | name: [{ required: true, message: '请输入任务名称' }], |
| | | needPeopleNumber: [{ required: true, message: '请输入需求人数' }], |
| | | totalPieces: [{ required: true, message: '请输入任务总件数' }], |
| | | verifyWorkHours: [{ required: true, message: '请输入核定工时' }], |
| | | timeoutServiceFee: [{ required: true, message: '请输入超时服务费' }], |
| | | genderLimit: [{ required: true, message: '请选择性别要求' }], |
| | | settlementCycleDate: [{ required: true, message: '请设置结算日期' }], |
| | | settlementAccess: [{ required: true, message: '请选择结算方式' }], |
| | |
| | | message: '请选择结束日期', |
| | | validator(value) { |
| | | if (!value) return Promise.reject('请选择结束日期'); |
| | | if (form.billingMethod === EnumBillingMethod.Month) { |
| | | if (dayjs(form.endTime).isBefore(dayjs(form.beginTime).add(1, 'month'))) { |
| | | return Promise.reject('按月服务费,任务时长需大于一个月'); |
| | | } |
| | | return Promise.resolve(true); |
| | | } |
| | | if (dayjs(value).isBefore(dayjs(form.beginTime))) |
| | | return Promise.reject('结束日期需大于开始日期'); |
| | | return Promise.resolve(true); |
| | |
| | | }, |
| | | }, |
| | | ], |
| | | }); |
| | | |
| | | const { settlementAccessList } = useEnterpriseWalletAccessSelect({ |
| | | supplierEnterpriseId: computed(() => form.supplierEnterpriseId), |
| | | }); |
| | | |
| | | const { |
| | |
| | | form.description = data.description; |
| | | form.verifyWorkHours = data.verifyWorkHours; |
| | | form.timeoutServiceFee = data.timeoutServiceFee; |
| | | form.checkReceiveMethod = data.checkReceiveMethod; |
| | | form.checkReceiveMethods = data.checkReceiveMethods; |
| | | form.applyBeginTime = dayjs(data.applyBeginTime).format('YYYY-MM-DD'); |
| | | form.applyEndTime = dayjs(data.applyEndTime).format('YYYY-MM-DD'); |
| | | form.settlementAccess = data.settlementAccess; |
| | |
| | | description: form.description, |
| | | verifyWorkHours: form.verifyWorkHours, |
| | | timeoutServiceFee: form.timeoutServiceFee, |
| | | checkReceiveMethod: form.checkReceiveMethod, |
| | | checkReceiveMethods: form.checkReceiveMethods, |
| | | 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, |