| | |
| | | <template> |
| | | <ContentScrollView :paddingH="false"> |
| | | <nut-form :model-value="form" ref="formRef" :rules="rules"> |
| | | <nut-form-item |
| | | label="供应商:" |
| | | class="bole-form-item" |
| | | prop="supplierEnterpriseId" |
| | | label-width="90px" |
| | | required |
| | | > |
| | | <ChooseInputWithPicker |
| | | v-model="form.supplierEnterpriseId" |
| | | placeholder="请选择供应商" |
| | | :value-enum="supplierEnterpriseSelect" |
| | | /> |
| | | </nut-form-item> |
| | | <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" |
| | | prop="needPeopleNumber" |
| | | label-width="90px" |
| | | > |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | | v-model.trim="form.needPeopleNumber" |
| | | class="nut-input-text bole-input-text" |
| | | placeholder="请输入需求人数" |
| | | :min="0" |
| | | :max="999999999999" |
| | | type="text" |
| | | /> |
| | | <div class="form-input-unit">人</div> |
| | | </div> |
| | | </nut-form-item> |
| | | <nut-form-item |
| | | label="服务费:" |
| | |
| | | > |
| | | <ChooseInputWithDatePicker |
| | | v-model="form.applyEndTime" |
| | | :minDate="form.beginTime ? dayjs(form.beginTime).toDate() : nowDate" |
| | | :minDate="form.applyBeginTime ? dayjs(form.applyBeginTime).toDate() : nowDate" |
| | | placeholder="请选择报名结束日期" |
| | | ></ChooseInputWithDatePicker> |
| | | </nut-form-item> |
| | |
| | | useAllAreaList, |
| | | useDictionaryDataSelect, |
| | | useEnterpriseWalletAccessSelect, |
| | | useGetSupplierEnterpriseSelect, |
| | | } from '@12333/hooks'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import dayjs from 'dayjs'; |
| | |
| | | const { userDetail } = useUser(); |
| | | const { findAreaNameFromCode } = useAllAreaList(); |
| | | const { settlementAccessList } = useEnterpriseWalletAccessSelect(); |
| | | const { supplierEnterpriseSelect } = useGetSupplierEnterpriseSelect(); |
| | | const router = Taro.useRouter(); |
| | | const taskId = router.params?.id ?? ''; |
| | | const isEdit = !!taskId; |
| | |
| | | }); |
| | | |
| | | const form = reactive({ |
| | | supplierEnterpriseId: '', |
| | | name: '', |
| | | needPeopleNumber: '' as any as number, |
| | | billingMethod: EnumBillingMethod.Day, |
| | | serviceFee: '' as any as number, |
| | | settlementCycle: EnumSettlementCycle.Day, |
| | |
| | | }); |
| | | |
| | | const rules = reactive<FormRules>({ |
| | | supplierEnterpriseId: [{ required: true, message: '请选择供应商' }], |
| | | name: [{ required: true, message: '请输入任务名称' }], |
| | | needPeopleNumber: [{ required: true, message: '请输入需求人数' }], |
| | | genderLimit: [{ required: true, message: '请选择性别要求' }], |
| | | settlementCycleDate: [{ required: true, message: '请设置结算日期' }], |
| | | settlementAccess: [{ required: true, message: '请选择结算方式' }], |
| | |
| | | if (!form.billingMethod) { |
| | | return Promise.reject('请选择服务费类型'); |
| | | } |
| | | if (!form.serviceFee) { |
| | | if (!form.serviceFee && form.billingMethod !== EnumBillingMethod.Face) { |
| | | return Promise.reject('请输入服务费'); |
| | | } |
| | | return Promise.resolve(true); |
| | |
| | | placeholderData: () => ({} as API.GetTaskInfoQueryResult), |
| | | enabled: isEdit, |
| | | onSuccess(data) { |
| | | form.supplierEnterpriseId = data.supplierEnterpriseId; |
| | | form.name = data.name; |
| | | form.needPeopleNumber = data.needPeopleNumber; |
| | | form.billingMethod = data.billingMethod; |
| | | form.serviceFee = data.serviceFee; |
| | | form.settlementCycle = data.settlementCycle; |
| | |
| | | async function confirm() { |
| | | try { |
| | | let params: API.SaveTaskInfoCommand = { |
| | | supplierEnterpriseId: form.supplierEnterpriseId, |
| | | name: form.name, |
| | | needPeopleNumber: form.needPeopleNumber, |
| | | billingMethod: form.billingMethod, |
| | | serviceFee: form.serviceFee, |
| | | settlementCycle: form.settlementCycle, |