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