permission.js
1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import { mainRoutes } from '@/router/index.js'
import Layout from '@/layout/index'
const permission = {
state: {
// routers: constantRoutes,
routers: mainRoutes,
addRouters: [],
hasLoad: false
},
mutations: {
SET_ROUTERS: (state, routers) => {
state.addRouters = routers
state.routers = mainRoutes.concat(routers)
},
SET_LOAD: (state, hasLoad) => {
state.hasLoad = hasLoad
}
},
actions: {
GenerateRoutes({ commit }, asyncRouter) {
commit('SET_ROUTERS', asyncRouter)
}
}
}
export const filterAsyncRouter = routers => {
// let loadChild = true // 是否加载子组件
return routers.filter(router => {
if (router.resourceType === 'catalog') { // 菜单节点,添加Layout父容器
// if (router.children.length !== 0) {
// router.component = Layout
// } else {
// // router.component = Layout
// const menu = JSON.parse(JSON.stringify(router))
// router.path = '/'
// router.component = Layout
// // 修改子组件
// menu.component = loadView(menu.path)
// menu.resourceType = 'menu'
// router.children.push(menu)
// // console.log('单独菜单', router)
// // console.log('单独menu', menu)
// loadChild = false
// }
router.component = Layout
// console.log(router)
} else {
// console.log(router.path)
// const component = router.component
router.component = loadView(router.path)
// console.log('load--',router.path);
}
if (router.children && router.children.length) {
router.children = filterAsyncRouter(router.children)
}
return true
})
}
// 加载页面文件
export const loadView = view => {
// console.log('view', view)
return resolve => require([`@/views${view}`], resolve)
// return resolve => require([`@/views/${view}/index`], resolve)
}
export default permission