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 | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue index d543c3b..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({ @@ -201,12 +206,14 @@ onClick: (role) => handleExport(role), }, extraProps: { - hide: () => false, + hide: () => true, }, }, ]); const router = useRouter(); + +const { userDetail } = useUser(); const eventContext = useGlobalEventContext(); @@ -288,7 +295,6 @@ }); async function handleAddOrEdit() { - console.log('editForm: ', editForm); goDetail(editForm.id, editForm.settlementUrl[0]?.path); } @@ -303,7 +309,7 @@ name: '', code: '', settlementUserCount: 0, - settlementAmount: 0, + actualSettlementAmount: 0, }, }); @@ -312,10 +318,51 @@ 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) {} } @@ -326,7 +373,7 @@ name: row.name, code: row.code, settlementUserCount: row.settlementUserCount ?? 0, - settlementAmount: row.settlementAmount ?? 0, + actualSettlementAmount: row.actualSettlementAmount ?? 0, }); } -- Gitblit v1.9.1