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