Blame view

admin-web-master/src/store/modules/permission.js 1.91 KB
3f535f30   杨鑫   '初始'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  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
      }
    },
d38d3f35   wesley88   1
20
    actions: { 
3f535f30   杨鑫   '初始'
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
      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