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
})