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