Blame view

wenjuan/src/store/modules/permission.js 1.91 KB
e5b57447   杨鑫   '分包问卷'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  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: {
d64cd58f   wesley88   上传验收小程序
21
      GenerateRoutes ({ commit }, asyncRouter) {
e5b57447   杨鑫   '分包问卷'
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
        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