From 93393138afcda975703f8c89ae1702fb62502080 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 05 八月 2025 13:11:49 +0800
Subject: [PATCH] fix: 修改功能模块

---
 src/hooks/useAccess.ts |   55 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/src/hooks/useAccess.ts b/src/hooks/useAccess.ts
index 9546d73..73ac9b2 100644
--- a/src/hooks/useAccess.ts
+++ b/src/hooks/useAccess.ts
@@ -1,13 +1,13 @@
 import { Route } from '@/router';
-import type { OperationBtnType, ColumnPropsMap } from '@bole-core/components';
+import type { OperationBtnType, ColumnPropsMap, ModuleColumnDto } from '@bole-core/components';
 import {
   useAccess as useBoleAccess,
   useGroupColumns as useBoleGroupColumns,
   useGroupOperationBtns as useBoleGroupOperationBtns,
 } from '@bole-core/components';
 import type { Ref, ComputedRef } from 'vue';
-import * as baseModuleServices from '@/services/api/BaseModule';
 import { myClient } from '@/constants/query';
+import * as menuServices from '@/services/api/menu';
 
 type UseAccessOptions = {
   operationBtnMap?: Record<string, OperationBtnType>;
@@ -29,18 +29,61 @@
 
   const moduleId = route.meta.moduleId;
 
+  const groupName = 'default';
+
   return useBoleAccess({
-    queryKey: ['baseModuleServices/getCurrentSubModuleList', { moduleId }],
+    queryKey: ['menuServices/getMenu', { moduleId }],
     service: async () => {
-      return await baseModuleServices.getCurrentSubModuleList({ moduleId }, { showLoading: false });
+      const res = await menuServices.getMenu({ id: moduleId });
+      const group = res.groups.find((g) => g.group === groupName);
+      const pageButtonLocation = group?.buttonLocations?.find?.(
+        (buttonLocation) => buttonLocation.location === SubModuleKey[SubModuleType.PageButton]
+      );
+      const dataButtonLocation = group?.buttonLocations?.find?.(
+        (buttonLocation) => buttonLocation.location === SubModuleKey[SubModuleType.DataButton]
+      );
+      return {
+        pageButton: menuButtonAdapter(pageButtonLocation, SubModuleType.PageButton),
+        dataButton: menuButtonAdapter(dataButtonLocation, SubModuleType.DataButton),
+        column: menuFieldsAdapter(group?.fields ?? []),
+      };
     },
     ...options,
   });
 }
 
+function menuButtonAdapter(buttonLocation: API.GetMenuQueryResultButtonLocation, buttonType) {
+  const buttons = buttonLocation?.buttons ?? [];
+  return buttons.map((x) => ({
+    id: x.id,
+    moduleId: '',
+    parentId: '',
+    enCode: x.code,
+    name: x.name,
+    sortCode: x.sort,
+    buttonType: buttonType,
+    hasCheck: x.isChecked,
+  }));
+}
+
+function menuFieldsAdapter(fields: API.GetMenuQueryResultField[]) {
+  return fields.map((x) => ({
+    id: x.id,
+    moduleId: '',
+    parentId: '',
+    enCode: x.code,
+    name: x.name,
+    sortCode: x.sort,
+    width: Number(x.width),
+    hasCheck: x.isChecked,
+    fixed: false,
+    isShow: true,
+  }));
+}
+
 export function useClearSubModule() {
   function clearSubModule() {
-    myClient.removeQueries({ queryKey: ['baseModuleServices/getCurrentSubModuleList'] });
+    myClient.removeQueries({ queryKey: ['menuServices/getMenu'] });
   }
 
   return { clearSubModule };
@@ -49,7 +92,7 @@
 /**
  * 瀵筩olumns杩涜鍒嗙粍
  */
-export function useGroupColumns(columns: Ref<API.ModuleColumnDto[]>, groups: string[]) {
+export function useGroupColumns(columns: Ref<ModuleColumnDto[]>, groups: string[]) {
   //@ts-ignore
   return useBoleGroupColumns(columns, groups);
 }

--
Gitblit v1.9.1