From b331f884097a2dc5086c8cf043c8c8f52e7640fe Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 12 九月 2025 17:34:39 +0800 Subject: [PATCH] Merge branch 'master' into dev-v1.1 --- src/views/ServiceChargeManage/components/RechargeEnterpriseWalletDialog.vue | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 120 insertions(+), 0 deletions(-) diff --git a/src/views/ServiceChargeManage/components/RechargeEnterpriseWalletDialog.vue b/src/views/ServiceChargeManage/components/RechargeEnterpriseWalletDialog.vue new file mode 100644 index 0000000..278fb14 --- /dev/null +++ b/src/views/ServiceChargeManage/components/RechargeEnterpriseWalletDialog.vue @@ -0,0 +1,120 @@ +<template> + <ProDialog + title="閽卞寘鍏呭��" + v-model="visible" + @close="onDialogClose" + destroy-on-close + draggable + :width="700" + > + <ProForm :model="form" ref="dialogForm" label-width="120px"> + <ProFormItemV2 label="閽卞寘閫氶亾:" prop="access" :check-rules="[{ message: '璇烽�夋嫨閽卞寘閫氶亾' }]"> + <ProFormSelect + v-model="form.access" + :valueEnum="EnumEnterpriseWalletAccessText" + placeholder="璇烽�夋嫨閽卞寘閫氶亾" + > + </ProFormSelect> + </ProFormItemV2> + <ProFormItemV2 + label="鍏呭�奸噾棰濓細" + prop="amount" + :check-rules="[{ message: '璇疯緭鍏ュ厖鍊奸噾棰�' }]" + > + <ProFormInputNumber + placeholder="璇疯緭鍏ュ厖鍊奸噾棰�" + v-model.trim="form.amount" + :controls="false" + :min="0" + ></ProFormInputNumber> + </ProFormItemV2> + <ProFormItemV2 label="澶囨敞" prop="remark"> + <ProFormTextArea placeholder="璇疯緭鍏ュ娉�" v-model="form.remark"></ProFormTextArea> + </ProFormItemV2> + </ProForm> + <template #footer> + <span class="dialog-footer"> + <el-button @click="emit('onCancel')">鍙栨秷</el-button> + <el-button type="primary" @click="handleConfirm">纭</el-button> + </span> + </template> + </ProDialog> + <AlipayWalletRecharge v-bind="dialogAlipayWalletProps" /> +</template> + +<script setup lang="ts"> +import { FormInstance } from 'element-plus'; +import { + ProDialog, + ProForm, + ProFormInputNumber, + ProFormItemV2, + ProFormTextArea, + useFormDialog, + ProFormSelect, +} from '@bole-core/components'; +import * as enterpriseWalletServices from '@/services/api/enterpriseWallet'; +import AlipayWalletRecharge from './AlipayWalletRecharge.vue'; +import { EnumEnterpriseWalletAccessText } from '@/constants'; + +defineOptions({ + name: 'RechargeEnterpriseWalletDialog', +}); + +type Form = { + title?: string; + amount: number; + remark: string; + access: EnumEnterpriseWalletAccess; +}; + +const visible = defineModel({ type: Boolean }); + +const form = defineModel<Form>('form'); + +const emit = defineEmits<{ + (e: 'onConfirm'): void; + (e: 'onCancel'): void; +}>(); + +const dialogForm = ref<FormInstance>(); + +const { dialogProps: dialogAlipayWalletProps, handleAdd: handleAlipayWalletAdd } = useFormDialog({ + defaultFormParams: { + alipayUrl: '', + }, +}); + +async function rechargeEnterpriseWallet() { + try { + let params: API.RechargeEnterpriseWalletCommand = { + access: form.value.access, + amount: form.value.amount, + remark: form.value.remark, + }; + let res = await enterpriseWalletServices.rechargeEnterpriseWallet(params); + if (res) { + handleAlipayWalletAdd({ + alipayUrl: res.payUrl, + }); + } + } catch (error) {} +} + +function onDialogClose() { + if (!dialogForm.value) return; + dialogForm.value.resetFields(); +} + +function handleConfirm() { + if (!dialogForm.value) return; + dialogForm.value.validate((valid) => { + if (valid) { + rechargeEnterpriseWallet(); + emit('onConfirm'); + } else { + return; + } + }); +} +</script> -- Gitblit v1.9.1