diff --git a/src/resources/store/modules/topMenu.js b/src/resources/store/modules/topMenu.js index b9844364625e82b71a2e93240f60bc1961573f49..da3d36cd1aafdcefb935d9646e1d0388dca28345 100644 --- a/src/resources/store/modules/topMenu.js +++ b/src/resources/store/modules/topMenu.js @@ -286,9 +286,7 @@ function getRouterConfig() { }); let commercialRouterConfig = getCommercialRouter(); Object.keys(commercialRouterConfig).forEach(key => { - if (routerConfig[key]) { - routerConfig[key].push(...commercialRouterConfig[key]); - } else { + if (!routerConfig[key]) { //模块引入 routerConfig[key] = commercialRouterConfig[key]; } }); diff --git a/src/views/components/topnav/topnav-menu.vue b/src/views/components/topnav/topnav-menu.vue index f1e20526e3337e446c8e0b1eb7d5d312ba758293..6d61e42c4d3043ce0736331ff26c3e29d65d83e2 100644 --- a/src/views/components/topnav/topnav-menu.vue +++ b/src/views/components/topnav/topnav-menu.vue @@ -40,7 +40,7 @@ -
+
{ this.$nextTick(() => { - this.extramenuLoading = false; this.$store.commit('setExtramenu', false); }); }); @@ -143,11 +136,22 @@ export default { return groupList; }; }, + isHasExtramenu() { + return this.$AuthUtils.hasRole('EXTRA_MENU_MODIFY'); + }, isUpdateExtramenu() { return this.$store.state.isUpdateExtramenu; } }, watch: { + isHasExtramenu: { + handler(val) { + if (val) { + this.initExtramenu(); + } + }, + immediate: true + }, isUpdateExtramenu: { handler(val) { if (val) { diff --git a/src/views/pages/process/router.js b/src/views/pages/process/router.js index d6ecbdc4d2da5b506d653a09c97ac84a4b7682da..7ab8a7eb933e5b8df79dabee0faace485ce2b5ac 100644 --- a/src/views/pages/process/router.js +++ b/src/views/pages/process/router.js @@ -350,5 +350,17 @@ let routerList = [ } } ]; - -export default routerList; +let importRouterList = []; +try { + // 导入自定义路由 + const routerContext = require.context('@/commercial-module', true, /router.js$/); + routerContext.keys().forEach(filePath => { + const moduleName = filePath?.split('/')[1]?.split('-')?.pop() || filePath?.split('/')[1]; + if (moduleName && config?.module && moduleName == config.module) { + importRouterList = routerContext(filePath).default || []; + } + }); +} catch (error) { + // 捕获异常 +} +export default [...routerList, ...importRouterList];