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/CustomerRechargeManage.vue |  168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 168 insertions(+), 0 deletions(-)

diff --git a/src/views/FinanceManage/CustomerRechargeManage.vue b/src/views/FinanceManage/CustomerRechargeManage.vue
new file mode 100644
index 0000000..c3a5bc8
--- /dev/null
+++ b/src/views/FinanceManage/CustomerRechargeManage.vue
@@ -0,0 +1,168 @@
+<template>
+  <LoadingLayout :loading="state.loading">
+    <AppContainer>
+      <ProTableQueryFilterBar @on-reset="reset">
+        <template #query>
+          <QueryFilterItem>
+            <SearchInput
+              v-model="extraParamState.keywords"
+              style="width: 260px"
+              placeholder="浼佷笟鍚嶇О/淇$敤浠g爜"
+              @on-click-search="getList"
+            >
+            </SearchInput>
+          </QueryFilterItem>
+        </template>
+      </ProTableQueryFilterBar>
+      <ProTableV2
+        v-bind="proTableProps"
+        :columns="CustomerRechargeManageColumns"
+        :operationBtns="operationBtns"
+      >
+      </ProTableV2>
+    </AppContainer>
+    <CustomerRechargeDialog v-bind="dialogProps" />
+  </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+  ProTableQueryFilterBar,
+  ProTableV2,
+  SearchInput,
+  LoadingLayout,
+  AppContainer,
+  QueryFilterItem,
+  useTable,
+  useFormDialog,
+  defineOperationBtns,
+} from '@bole-core/components';
+import * as enterpriseCooperationWalletServices from '@/services/api/enterpriseCooperationWallet';
+import CustomerRechargeDialog from './components/CustomerRechargeDialog.vue';
+import { CustomerRechargeManageColumns } from './constants';
+import { Message } from '@bole-core/core';
+
+defineOptions({
+  name: 'CustomerRechargeManage',
+});
+
+const operationBtns = defineOperationBtns([
+  {
+    data: {
+      enCode: 'confirmBtn',
+      name: '纭',
+    },
+    emits: {
+      onClick: (role) => openDialog(role, false),
+    },
+    extraProps: {
+      hide: (role: API.GetCooperationWalletRechargeTransactionsQueryResultItem) =>
+        role.transactionStatus !== EnumEnterpriseCooperationWalletTransactionStatus.WaitSure,
+    },
+  },
+  {
+    data: {
+      enCode: 'detailBtn',
+      name: '璇︽儏',
+    },
+    emits: {
+      onClick: (role) => openDialog(role, true),
+    },
+    extraProps: {
+      hide: (role: API.GetCooperationWalletRechargeTransactionsQueryResultItem) =>
+        role.transactionStatus === EnumEnterpriseCooperationWalletTransactionStatus.WaitSure,
+    },
+  },
+]);
+
+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.GetCooperationWalletRechargeTransactionsQuery = {
+        pageModel: {
+          rows: pageSize,
+          page: pageIndex,
+          orderInput: extraParamState.orderInput,
+        },
+        keywords: extraParamState.keywords,
+      };
+      let res = await enterpriseCooperationWalletServices.getCooperationWalletRechargeTransactions(
+        params
+      );
+      return res;
+    } catch (error) {}
+  },
+  {
+    defaultExtraParams: {
+      keywords: '',
+      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+    },
+    columnsRenderProps: {
+      amount: { type: 'money' },
+      createdTime: { type: 'date' },
+      transactionStatus: {
+        type: 'enum',
+        valueEnum: EnumEnterpriseCooperationWalletTransactionStatusText,
+      },
+    },
+  }
+);
+
+const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({
+  onConfirm: handleAddOrEdit,
+  defaultFormParams: {
+    id: '',
+    cooperationId: '',
+    transactionStatus: '' as any as EnumEnterpriseCooperationWalletTransactionStatus,
+    remark: '',
+    isDetail: false,
+  },
+});
+
+function openDialog(
+  row: API.GetCooperationWalletRechargeTransactionsQueryResultItem,
+  isDetail: boolean
+) {
+  handleEdit({
+    cooperationId: '',
+    id: row.id,
+    transactionStatus: '' as any as EnumEnterpriseCooperationWalletTransactionStatus,
+    remark: '',
+    isDetail: isDetail,
+  });
+}
+
+async function handleAddOrEdit() {
+  try {
+    let params: API.SureRechargeCooperationWalletCommand = {
+      cooperationId: editForm.cooperationId,
+      id: editForm.id,
+      transactionStatus: editForm.transactionStatus,
+      remark: editForm.remark,
+    };
+    let res = await enterpriseCooperationWalletServices.sureRechargeCooperationWallet(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
+</script>

--
Gitblit v1.9.1