From b52bec54f02f5b894d5dde30f8f05b76c71771ba Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 12 九月 2025 15:48:18 +0800
Subject: [PATCH] feat: 支付宝充值

---
 src/views/ServiceChargeManage/ServiceChargeManage.vue |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 8cbbe76..6888c19 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -89,6 +89,8 @@
     </AppContainer>
     <UploadStatementDialog v-bind="dialogProps" />
     <SettleDetailDialog v-bind="dialogSettleProps" />
+    <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" />
+    <AlipayWalletRecharge v-bind="dialogAlipayWalletProps" />
   </LoadingLayout>
 </template>
 
@@ -117,9 +119,12 @@
 } from '@/constants';
 import { downloadFileByUrl, setOssFileName } from '@/utils';
 import * as taskServices from '@/services/api/task';
+import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
 import { ModelValueType } from 'element-plus';
 import UploadStatementDialog from './components/UploadStatementDialog.vue';
 import SettleDetailDialog from './components/SettleDetailDialog.vue';
+import RechargeEnterpriseWalletDialog from './components/RechargeEnterpriseWalletDialog.vue';
+import AlipayWalletRecharge from './components/AlipayWalletRecharge.vue';
 import { Message } from '@bole-core/core';
 
 defineOptions({
@@ -207,6 +212,8 @@
 ]);
 
 const router = useRouter();
+
+const { userDetail } = useUser();
 
 const eventContext = useGlobalEventContext();
 
@@ -311,11 +318,52 @@
     let params: API.SureTaskSettlementCommand = {
       taskInfoId: settleEditForm.id,
     };
-    let res = await taskServices.sureTaskSettlement(params);
+    let res = await taskServices.sureTaskSettlement(params, {
+      skipErrorHandler: true,
+    });
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);
     }
+  } catch (error) {
+    if (error?.info?.errorCode == 's510') {
+      handleRechargeAdd();
+    }
+  }
+}
+
+const {
+  dialogProps: dialogRechargeProps,
+  handleAdd: handleRechargeAdd,
+  editForm: rechargeEditForm,
+} = useFormDialog({
+  onConfirm: rechargeEnterpriseWallet,
+  defaultFormParams: {
+    amount: null as number,
+    remark: '',
+  },
+});
+
+const { dialogProps: dialogAlipayWalletProps, handleAdd: handleAlipayWalletAdd } = useFormDialog({
+  onConfirm: rechargeEnterpriseWallet,
+  defaultFormParams: {
+    alipayUrl: '',
+  },
+});
+
+async function rechargeEnterpriseWallet() {
+  try {
+    let params: API.RechargeEnterpriseWalletCommand = {
+      access: EnumEnterpriseWalletAccess.Alipay,
+      amount: rechargeEditForm.amount,
+      remark: rechargeEditForm.remark,
+    };
+    let res = await enterpriseWalletServices.rechargeEnterpriseWallet(params);
+    if (res) {
+      handleAlipayWalletAdd({
+        alipayUrl: res.payUrl,
+      });
+    }
   } catch (error) {}
 }
 

--
Gitblit v1.9.1