From 177c0d1c20fe4dcf2d260ea52e9be9fbadcb70e7 Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Thu, 9 Mar 2023 17:18:14 +0800 Subject: [PATCH] 2023-3-9 --- src/layout/components/Sidebar/index.vue | 12 +++++++++++- src/layout/index.vue | 1 - src/router/index.js | 2 +- src/store/getters.js | 3 ++- src/store/modules/permission.js | 18 ++++++++++++++++-- 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index 8d1b154..24a04f0 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -5,7 +5,7 @@ - + @@ -33,7 +33,17 @@ ...mapGetters([ 'sidebar', 'permission_routes', + 'system_routes' ]), + menuComputed(){ + if(/^\/contract/.test(this.$route.path)){ + return this.permission_routes + } + if(/^\/system/.test(this.$route.path)){ + return this.system_routes + } + return [] + }, routes() { //return this.routers; //return this.$router.options.routes diff --git a/src/layout/index.vue b/src/layout/index.vue index 30ad4f9..407eb60 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -7,7 +7,6 @@
diff --git a/src/router/index.js b/src/router/index.js index 0096aec..72bea51 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -45,7 +45,7 @@ export const constantRoutes = [{ { path: '/', component: Layout, - redirect: '/worker', + redirect: '/contract/dashboard', children: [{ path: 'contract/dashboard', name: '系统首页', diff --git a/src/store/getters.js b/src/store/getters.js index a108508..3766754 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -5,6 +5,7 @@ const getters = { avatar: state => state.user.avatar, name: state => state.user.name, roles: state => state.user.roles, - permission_routes: state => state.permission.routes + permission_routes: state => state.permission.routes, + system_routes:state => state.permission.systemMenu } export default getters diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 6336839..88dd260 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -54,6 +54,7 @@ export function filterAsyncRoutes(routes, roles) { const state = { routes: [], rootMenu:[], + systemMenu:[], addRoutes: [] } @@ -85,7 +86,7 @@ export function generaMenu(routes, data) { } const menu = { path: (path === '#' ? item.id + '_key' : path), - redirect: (item.children?.length > 0 ? "noRedirect" : ""), + redirect: item.redirect || '', component: item.url === '#' ? Layout : loadView(item.url), hidden: item.hidden ?? false, children: [], @@ -113,6 +114,9 @@ const mutations = { }, SET_ROOTMENU:(state,menu) => { state.rootMenu = menu + }, + SET_SYSTEMMENU:(state,menu) => { + state.systemMenu = menu } } @@ -132,7 +136,17 @@ const actions = { let routes = data.filter(item => item.path === '/contract')[0]?.children let root = data.map(item => { - delete item.children + switch (item.path){ + case '/system': + let sys = [] + generaMenu(sys,item.children) + commit('SET_SYSTEMMENU',sys) + item.redirect = item.children[0]?.path + break; + case '/contract': + item.redirect = '/contract/dashboard' + break; + } item.hidden = true return item })