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