From 85f7bdb64b1f8b0fdaf58355a4f3fc389ec26ad0 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 18 十一月 2025 16:00:00 +0800
Subject: [PATCH] feat: 新增审核撤回日志

---
 src/hooks/log.ts |  145 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 145 insertions(+), 0 deletions(-)

diff --git a/src/hooks/log.ts b/src/hooks/log.ts
new file mode 100644
index 0000000..05e8446
--- /dev/null
+++ b/src/hooks/log.ts
@@ -0,0 +1,145 @@
+import * as operateHistoryServices from '@/services/api/OperateHistory';
+import { OrderInputType } from '@bole-core/core';
+import { useTable } from '@bole-core/components';
+import { MaybeRef } from 'vue';
+import { OperateHistoryTypeEnum } from '@/constants';
+
+export enum OperateType {
+  /**
+   * 瀹℃牳
+   */
+  Audit = 1,
+  /**
+   * 鍏ヨ处
+   */
+  Account = 2,
+  /**
+   * 涓婁紶鍙戠エ
+   */
+  Invoice = 3,
+}
+
+export const OperateTypeText = {
+  [OperateType.Audit]: '瀹℃牳',
+  [OperateType.Account]: '鍏ヨ处',
+  [OperateType.Invoice]: '涓婁紶鍙戠エ',
+};
+
+export type UseTableLogListOptions = {
+  relationId: MaybeRef<string>;
+  operateType?: MaybeRef<number>;
+};
+
+export function useTableLogList({ relationId, operateType }: UseTableLogListOptions) {
+  const BaseState = {
+    loading: true,
+  };
+
+  const state = reactive({ ...BaseState });
+
+  const { getDataSource: getList, proTableProps } = useTable(
+    async ({ pageIndex, pageSize }) => {
+      try {
+        let params: API.GetOperateHistoryInput = {
+          pageModel: {
+            rows: pageSize,
+            page: pageIndex,
+            orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+          },
+          relationId: unref(relationId),
+        };
+        const _operateType = unref(operateType);
+        if (_operateType) {
+          params.operateName = OperateTypeText[_operateType];
+        }
+        let res = await operateHistoryServices.getOperateHistoryByRelationId(params, {
+          showLoading: !state.loading,
+        });
+        return res;
+      } catch (error) {}
+    },
+    {
+      queryKey: ['operateHistoryServices/getOperateHistoryByRelationId'],
+      columnsRenderProps: {
+        creationTime: {
+          type: 'date',
+          format: 'YYYY-MM-DD HH:mm:ss',
+        },
+      },
+    }
+  );
+
+  const OperateHistoryTableColumns: API.CustomModuleColumnDto[] = [
+    { id: '1', enCode: 'creatorName', name: '鎿嶄綔浜�' },
+    { id: '2', enCode: 'creationTime', name: '鎿嶄綔鏃堕棿', width: 180 },
+    { id: '3', enCode: 'operateName', name: '鎿嶄綔' },
+    { id: '4', enCode: 'operateContent', name: '鎿嶄綔鍐呭' },
+  ];
+
+  return {
+    state,
+    getList,
+    proTableProps,
+    OperateHistoryTableColumns,
+  };
+}
+
+export type UseTableLogListByTypeOptions = {
+  relationId: MaybeRef<string>;
+  operateHistoryType?: MaybeRef<OperateHistoryTypeEnum>;
+};
+
+export function useTableLogListByType({
+  relationId,
+  operateHistoryType,
+}: UseTableLogListByTypeOptions) {
+  const BaseState = {
+    loading: true,
+  };
+
+  const state = reactive({ ...BaseState });
+
+  const { getDataSource: getList, proTableProps } = useTable(
+    async ({ pageIndex, pageSize }) => {
+      try {
+        let params: API.QueryOperateHistoryByTypeInput = {
+          pageModel: {
+            rows: pageSize,
+            page: pageIndex,
+            orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+          },
+          typeId: unref(relationId),
+          operateHistoryType: unref(operateHistoryType),
+        };
+
+        let res = await operateHistoryServices.getOperateHistoryByType(params, {
+          showLoading: !state.loading,
+        });
+        return res;
+      } catch (error) {}
+    },
+    {
+      queryKey: ['operateHistoryServices/getOperateHistoryByRelationId'],
+      columnsRenderProps: {
+        creationTime: {
+          type: 'date',
+          format: 'YYYY-MM-DD HH:mm:ss',
+        },
+      },
+    }
+  );
+
+  const OperateHistoryTableColumns: API.CustomModuleColumnDto[] = [
+    { id: '1', enCode: 'creatorName', name: '鎿嶄綔浜�' },
+    { id: '2', enCode: 'creationTime', name: '鎿嶄綔鏃堕棿', width: 180 },
+    { id: '3', enCode: 'operateName', name: '鎿嶄綔' },
+    { id: '4', enCode: 'operateContent', name: '鎿嶄綔鍐呭' },
+  ];
+
+  return {
+    state,
+    getList,
+    proTableProps,
+    OperateHistoryTableColumns,
+  };
+}

--
Gitblit v1.9.1