From 3a6cec3cc9068778953f21516660bc4403bc7ceb Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期一, 04 八月 2025 18:24:28 +0800 Subject: [PATCH] fix: 修改功能模块 --- src/store/modules/permission.ts | 95 +++++++++++++++++++++++------------------------ 1 files changed, 46 insertions(+), 49 deletions(-) diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts index 2fc37a5..fa8e73a 100644 --- a/src/store/modules/permission.ts +++ b/src/store/modules/permission.ts @@ -3,7 +3,7 @@ // import { RouteConfigs } from "@/layout/types"; import { constantRoutes, Route } from '@/router'; import { addAsyncRoutes, ascending } from '@/router/utils'; -import * as baseModuleServices from '@/services/api/BaseModule'; +import * as menuServices from '@/services/api/menu'; export interface PermissonState { routes: Route[]; @@ -27,13 +27,16 @@ getModuleList() { return new Promise<Route[]>(async (resolve, reject) => { try { - // let res = await userApiClient.apiUserUserMenusGet(); - // let userMenuList = res.data.data; - // let userInfo = rootGetters['userInfo'] as Getter['userInfo']; - const res = await baseModuleServices.getCurrentUserModuleList({ - showLoading: false, - }); - const accessedRoutes = ascending(addAsyncRoutes(formatModuleList(res, null))); // createAccessedRoutes(userMenuList, userInfo) + const res = await menuServices.getMenus( + { + userType: EnumUserType.Operation, + clientType: EnumClientType.PcWeb, + }, + { + showLoading: false, + } + ); + const accessedRoutes = ascending(addAsyncRoutes(formatModuleList(res))); // createAccessedRoutes(userMenuList, userInfo) //@ts-ignore accessedRoutes.push({ path: '/:pathMatch(.*)*', redirect: '/404', hidden: true }); @@ -58,47 +61,41 @@ return usePermissionStore(store); } -function formatModuleList(moduleList: API.ModuleDto[], parentId: string | null) { - const treeModuleList: Route[] = []; - if (moduleList.length > 0) { - moduleList.forEach((item) => { - if (item.parentId === parentId) { - const isRootModule = !item.parentId && item.isMenu === 1; - //@ts-ignore - const asyncRoute: Route = isRootModule - ? { - path: formatPath(item.path), - name: item.enCode, - redirect: 'noRedirect', - alwaysShow: true, - hidden: item.isMenu !== 1, - meta: { - title: item.name, - icon: item.icon, - moduleId: item.id, - rank: item?.sortCode, - rootMenu: true, - }, - } - : { - path: formatPath(item.path), - name: item.enCode, - hidden: item.isMenu !== 1, - alwaysShow: true, - meta: { - title: item.name, - moduleId: item.id, - noCache: !item.isCache, - rank: item?.sortCode, - }, - }; - const children = formatModuleList(moduleList, item.id); - asyncRoute.children = children; - treeModuleList.push(asyncRoute); - } - }); - } - return treeModuleList; +function formatModuleList(moduleList: API.GetMenusQueryResultItem[]) { + return moduleList.map((item) => { + const isRootModule = !item.parentId && item.type == EnumMenuType.Menu; + //@ts-ignore + let asyncRoute: Route = isRootModule + ? { + path: formatPath(item.url), + name: item.code, + redirect: 'noRedirect', + alwaysShow: true, + hidden: item.type != EnumMenuType.Menu, + meta: { + title: item.name, + icon: item.icon, + moduleId: item.id, + rank: item?.sort, + rootMenu: true, + }, + } + : { + path: formatPath(item.url), + name: item.code, + hidden: item.type != EnumMenuType.Menu, + alwaysShow: true, + meta: { + title: item.name, + moduleId: item.id, + noCache: !item.isCache, + rank: item?.sort, + }, + }; + const children = formatModuleList(item.children); + asyncRoute.children = children; + return asyncRoute; + }); } function formatPath(path: string) { -- Gitblit v1.9.1