From 00840e19923b568b00143b1fd406af8b7e613eb1 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 07 十一月 2025 16:37:59 +0800
Subject: [PATCH] feat: 接口
---
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue | 91 +++++++++++++++++++++++----------------------
1 files changed, 46 insertions(+), 45 deletions(-)
diff --git a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
index e537ff5..1d129cf 100644
--- a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
+++ b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -376,6 +376,9 @@
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
+ <ProFormItemV2 label="棰勮鏈嶅姟璐规�婚:" prop="totalServiceFee">
+ {{ `${toThousand(form.totalServiceFee)}鍏僠 }}
+ </ProFormItemV2>
<ProFormItemV2
label="缁撶畻鏂瑰紡:"
prop="settlementAccess"
@@ -432,7 +435,7 @@
EnumTaskCheckReceiveMethodText,
EnumEnterpriseWalletAccessText,
} from '@/constants';
-import { format, FormValidator } from '@/utils';
+import { format, FormValidator, toThousand } from '@/utils';
import dayjs from 'dayjs';
defineOptions({
@@ -512,6 +515,7 @@
checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
applyTime: [] as unknown as ModelValueType,
settlementAccess: '' as any as EnumEnterpriseWalletAccess,
+ totalServiceFee: 0,
});
const { settlementAccessList } = useEnterpriseWalletAccessSelect({
@@ -594,27 +598,6 @@
return monthInterval > 15 ? Math.ceil(monthInterval / 30) : monthInterval;
}
-function calculateServicesFee(
- billingMethod: EnumBillingMethod,
- serviceFee: number,
- time: ModelValueType,
- needPeopleNumber: number,
- verifyWorkHours: number
-) {
- const monthInterval = calculateMonthInterval(time[0], time[1]);
- const dayInterval = dayjs(time[1]).diff(time[0], 'day');
- switch (billingMethod) {
- case EnumBillingMethod.Month:
- return monthInterval * serviceFee * needPeopleNumber;
- case EnumBillingMethod.Day:
- return serviceFee * dayInterval * needPeopleNumber;
- case EnumBillingMethod.Hour:
- return serviceFee * dayInterval * needPeopleNumber * verifyWorkHours;
- case EnumBillingMethod.Piece:
- return serviceFee * needPeopleNumber;
- }
-}
-
const productFormRef = ref<FormInstance>();
function handleConfirm() {
if (!productFormRef.value) return;
@@ -626,29 +609,28 @@
}
});
}
+
+async function calcTaskTotalServiceFee() {
+ try {
+ let params: API.CalcTaskTotalServiceFeeCommand = {
+ billingMethod: form.billingMethod,
+ serviceFee: form.serviceFee,
+ verifyWorkHours: form.verifyWorkHours,
+ totalPieceQuantity: form.totalPieceQuantity,
+ needPeopleNumber: form.needPeopleNumber,
+ beginTime: dayjs(form.time[0]).format('YYYY-MM-DD 00:00:00'),
+ endTime: dayjs(form.time[1]).format('YYYY-MM-DD 23:59:59'),
+ };
+ let res = await taskServices.calcTaskTotalServiceFee(params);
+ if (res) {
+ form.totalServiceFee = res.totalServiceFee;
+ }
+ } catch (error) {}
+}
+
async function submit() {
try {
- // const estimateServicesFee = calculateServicesFee(
- // form.billingMethod,
- // form.serviceFee,
- // form.time,
- // form.needPeopleNumber,
- // form.verifyWorkHours
- // );
- // if (estimateServicesFee > 10000) {
- // Message.tipMessage('鎮ㄥ綋鍓嶈处鎴蜂綑棰濅笉瓒筹紝鏆傛椂鏃犳硶鍙戝竷浠诲姟锛岃鍏呭�煎悗鎿嶄綔', {
- // confirmButtonText: '绔嬪嵆鍏呭��',
- // cancelButtonText: '鍙栨秷',
- // type: 'warning',
- // callback: (action) => {
- // if (action === 'confirm') {
- // router.push({
- // name: 'BalanceManageV2',
- // });
- // }
- // },
- // });
- // }
+ await calcTaskTotalServiceFee();
let params: API.SaveTaskInfoCommand = {
supplierEnterpriseId: form.supplierEnterpriseId,
name: form.name,
@@ -682,13 +664,32 @@
if (isEdit) {
params.id = id;
}
- let res = await taskServices.saveTaskInfo(params);
+ let res = await taskServices.saveTaskInfo(params, {
+ skipErrorHandler: true,
+ });
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
eventContext.emit(isEdit ? 'taskManage:edit' : 'taskManage:add');
handleBack();
}
- } catch (error) {}
+ } catch (error) {
+ if (error?.info?.errorCode == 'BalanceNotEnough') {
+ Message.tipMessage('鎮ㄥ綋鍓嶈处鎴蜂綑棰濅笉瓒筹紝鏆傛椂鏃犳硶鍙戝竷浠诲姟锛岃鍏呭�煎悗鎿嶄綔', {
+ confirmButtonText: '绔嬪嵆鍏呭��',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ callback: (action) => {
+ if (action === 'confirm') {
+ router.push({
+ name: 'BalanceManageV2',
+ });
+ }
+ },
+ });
+ } else {
+ Message.errorMessage(error);
+ }
+ }
}
function handleCheckBenefitsAllChange(val: boolean) {
--
Gitblit v1.9.1