master
xy 3 years ago
parent 8b168b0c5c
commit 177c0d1c20

@ -5,7 +5,7 @@
<el-menu :default-active="activeMenu" :collapse="isCollapse" :background-color="variables.menuBg"
:text-color="variables.menuText" :unique-opened="false" :active-text-color="variables.menuActiveText"
:collapse-transition="false" mode="vertical">
<sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />
<sidebar-item v-for="route in menuComputed" :key="route.path" :item="route" :base-path="route.path" />
</el-menu>
</el-scrollbar>
@ -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

@ -7,7 +7,6 @@
<ul>
<li v-for="item in $store.state.permission.rootMenu" :class="{'li-active':new RegExp(`^${item.path}`).test($route.path) && $route.path !== '/contract/system/menu'}" @click="menuClick(item)">{{ item.name }}</li>
<li :class="{'li-active':$route.path === '/contract/system/menu'}" @click="active = 5,$router.push('/contract/system/menu')">系统设置</li>
</ul>
<div class="top-head-bar__user">

@ -45,7 +45,7 @@ export const constantRoutes = [{
{
path: '/',
component: Layout,
redirect: '/worker',
redirect: '/contract/dashboard',
children: [{
path: 'contract/dashboard',
name: '系统首页',

@ -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

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

Loading…
Cancel
Save