From a8651ec657fd2ef85cacc6660916dc847a932e1f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 10 十一月 2025 16:36:05 +0800
Subject: [PATCH] fix: bug

---
 src/views/FinanceManage/components/EnterpriseBalanceManageView.vue |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/src/views/FinanceManage/components/EnterpriseBalanceManageView.vue b/src/views/FinanceManage/components/EnterpriseBalanceManageView.vue
new file mode 100644
index 0000000..c66af80
--- /dev/null
+++ b/src/views/FinanceManage/components/EnterpriseBalanceManageView.vue
@@ -0,0 +1,132 @@
+<template>
+  <LoadingLayout :loading="state.loading">
+    <AppContainer>
+      <ProTableV2
+        v-bind="proTableProps"
+        :columns="BalanceManageColumns"
+        :operationBtns="operationBtns"
+      >
+      </ProTableV2>
+    </AppContainer>
+    <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" />
+  </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+  ProTableV2,
+  LoadingLayout,
+  AppContainer,
+  useTable,
+  useFormDialog,
+  defineOperationBtns,
+  ProTabs,
+  ProTabPane,
+} from '@bole-core/components';
+import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
+import { BalanceManageColumns } from '../constants';
+import RechargeEnterpriseWalletDialog from '@/views/ServiceChargeManage/components/RechargeEnterpriseWalletDialog.vue';
+import { EnumEnterpriseWalletAccess, EnumEnterpriseWalletAccessText } from '@/constants';
+
+defineOptions({
+  name: 'EnterpriseBalanceManageView',
+});
+
+const operationBtns = defineOperationBtns([
+  {
+    data: {
+      enCode: 'rechargeBtn',
+      name: '鍏呭��',
+    },
+    emits: {
+      onClick: (role) => openDialog(role),
+    },
+    extraProps: {
+      hide: (role: API.GetEnterpriseWalletBalancesQueryResultItem) =>
+        role.access !== EnumEnterpriseWalletAccess.Alipay,
+    },
+  },
+  {
+    data: {
+      enCode: 'detailBtn',
+      name: '璇︽儏',
+    },
+    emits: {
+      onClick: (role) => goDetail(role),
+    },
+  },
+]);
+
+const router = useRouter();
+const BaseState = {
+  loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+onMounted(async () => {
+  await getList();
+  state.loading = false;
+});
+
+const {
+  getDataSource: getList,
+  proTableProps,
+  paginationState,
+  extraParamState,
+  reset,
+} = useTable(
+  async ({ pageIndex, pageSize }, extraParamState) => {
+    try {
+      let params: API.GetEnterpriseWalletBalancesQuery = {
+        pageModel: {
+          rows: pageSize,
+          page: pageIndex,
+          orderInput: extraParamState.orderInput,
+        },
+      };
+
+      let res = await enterpriseWalletServices.getEnterpriseWalletBalances(params, {
+        showLoading: !state.loading,
+      });
+      return res;
+    } catch (error) {}
+  },
+  {
+    defaultExtraParams: {
+      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+    },
+    columnsRenderProps: {
+      access: { type: 'enum', valueEnum: EnumEnterpriseWalletAccessText },
+      balance: { type: 'money' },
+      availableBalance: { type: 'money' },
+      freezeBalance: { type: 'money' },
+    },
+  }
+);
+
+const {
+  dialogProps: dialogRechargeProps,
+  handleAdd: handleRechargeAdd,
+  editForm: rechargeEditForm,
+} = useFormDialog({
+  defaultFormParams: {
+    access: EnumEnterpriseWalletAccess.Alipay,
+    amount: null as number,
+    remark: '',
+  },
+});
+
+function openDialog(row) {
+  handleRechargeAdd();
+}
+
+function goDetail(row: API.GetEnterpriseWalletBalancesQueryResultItem) {
+  router.push({
+    name: 'EnterpriseBalanceManageDetail',
+    params: {
+      id: row?.id ?? '',
+    },
+  });
+}
+</script>

--
Gitblit v1.9.1