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