| | |
| | | :value-enum="supplierEnterpriseSelect" |
| | | placeholder="请选择供应商" |
| | | :disabled="isEdit" |
| | | @change="supplierEnterpriseChange" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | <ProFormCol> |
| | |
| | | </ProFormCol> |
| | | <ProFormItemV2 |
| | | label="保险产品:" |
| | | prop="checkReceiveMethods" |
| | | prop="insuranceProductId" |
| | | :check-rules="[{ message: '请选择保险产品' }]" |
| | | v-if=" |
| | | form.checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.CheckIn) && |
| | | form.isConfiguredInsurance |
| | | " |
| | | > |
| | | <ProFormSelect |
| | | v-model="form.checkReceiveMethods" |
| | | :value-enum="EnumTaskCheckReceiveMethodText" |
| | | v-model="form.insuranceProductId" |
| | | :value-enum="enterpriseInsuranceProductSelect" |
| | | @change="calcTaskTotalServiceFee" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 label="预计服务费总额:" prop="totalServiceFee"> |
| | |
| | | EnumSettlementCycleDateWeekArray, |
| | | EnumSettlementCycle, |
| | | EnumTaskCheckReceiveMethodText, |
| | | EnumEnterpriseWalletAccessText, |
| | | EnumTaskCheckReceiveMethod, |
| | | } from '@/constants'; |
| | | import { format, FormValidator, toThousand } from '@/utils'; |
| | | import dayjs from 'dayjs'; |
| | |
| | | applyTime: [] as unknown as ModelValueType, |
| | | settlementAccess: '' as any as EnumEnterpriseWalletAccess, |
| | | totalServiceFee: 0, |
| | | |
| | | insuranceProductId: '', |
| | | isConfiguredInsurance: false, |
| | | }); |
| | | |
| | | const { settlementAccessList } = useEnterpriseWalletAccessSelect({ |
| | | supplierEnterpriseId: computed(() => form.supplierEnterpriseId), |
| | | }); |
| | | |
| | | const { enterpriseInsuranceProductSelect } = useEnterpriseInsuranceProductSelect({ |
| | | supplierEnterpriseId: computed(() => form.supplierEnterpriseId), |
| | | isConfiguredInsurance: computed(() => form.isConfiguredInsurance), |
| | | }); |
| | | |
| | | const { isLoading } = useQuery({ |
| | |
| | | ]; |
| | | form.settlementAccess = data.settlementAccess; |
| | | form.totalServiceFee = data.estimatedServiceFee; |
| | | |
| | | form.insuranceProductId = data.insuranceProductId ?? ''; |
| | | |
| | | supplierEnterpriseChange(); |
| | | }, |
| | | enabled: isEdit, |
| | | }); |
| | |
| | | // } |
| | | // }); |
| | | |
| | | function supplierEnterpriseChange() { |
| | | if (form.supplierEnterpriseId) { |
| | | form.isConfiguredInsurance = supplierEnterpriseSelect.value?.find( |
| | | (item) => item.value === form.supplierEnterpriseId |
| | | )?.data?.isConfiguredInsurance; |
| | | } |
| | | } |
| | | |
| | | async function calcTaskTotalServiceFee() { |
| | | try { |
| | | let params: API.CalcTaskTotalServiceFeeCommand = { |
| | |
| | | needPeopleNumber: form.needPeopleNumber ?? 0, |
| | | beginTime: dayjs(form.time[0]).format('YYYY-MM-DD 00:00:00'), |
| | | endTime: dayjs(form.time[1]).format('YYYY-MM-DD 23:59:59'), |
| | | supplierEnterpriseId: form.supplierEnterpriseId, |
| | | checkReceiveMethods: form.checkReceiveMethods, |
| | | }; |
| | | if (form.insuranceProductId) { |
| | | params.insuranceProductId = form.insuranceProductId; |
| | | } |
| | | let res = await taskServices.calcTaskTotalServiceFee(params); |
| | | if (res) { |
| | | form.totalServiceFee = res.totalServiceFee; |
| | |
| | | description: form.description, |
| | | checkReceiveMethods: form.checkReceiveMethods, |
| | | settlementAccess: form.settlementAccess, |
| | | insuranceProductId: form.insuranceProductId, |
| | | }; |
| | | if (form.billingMethod !== EnumBillingMethod.Face) { |
| | | params.serviceFee = form.serviceFee; |