routes.js
4.1 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import Login from './views/Login.vue'
import NotFound from './views/404.vue'
import Home from './views/Home.vue'
import Main from './views/dashboard/index'
// import Table from './views/nav1/Table.vue'
import Role from './views/nav1/role.vue'
import Perm from './views/nav1/perm.vue'
import LOG from './views/nav1/Log.vue'
import PreManifest from './views/agent/PreManifest.vue'
import Company from './views/nav1/company.vue'
import Department from './views/nav1/department.vue'
import Group from './views/nav1/groupcompany.vue'
import User from './views/nav1/user.vue'
// 陆运运输
import Vehicle from './views/vehicle_manage/Vehicle.vue'
import Trailer from './views/vehicle_manage/Trailer.vue'
import Corporation from './views/vehicle_manage/Corporation.vue'
import Driver from './views/vehicle_manage/Driver.vue'
// 场站管理
import Yard from './views/station_manage/Yard.vue'
import Bayonet from './views/station_manage/Bayonet.vue'
import Warehouse from './views/station_manage/Warehouse.vue'
let routes = [
{
path: '/login',
component: Login,
name: '登录',
hidden: true
},
{
path: '/404',
component: NotFound,
name: '错误',
hidden: true
},
{
path: '/',
component: Home,
name: '主页',
leaf: true,
iconCls: 'el-icon-menu',
children: [
{path: '/main', component: Main, name: '首页'},
]
},
{
path: '/admin',
component: Home,
name: '系统设置',
iconCls: 'el-icon-setting',//图标样式class
children: [
{path: '/user', component: User, name: '用户管理'},
{path: '/role', component: Role, name: '组织机构'},
{path: '/perm', component: Perm, name: '权限管理'},
{path: '/log', component: LOG, name: '系统日志'},
{path: '/department', component: Department, name: '部门管理'},
{path: '/company', component: Company, name: '公司管理'},
{path: '/group', component: Group, name: '集团管理'}
]
},
{
path: '/',
component: Home,
name: '陆运运输',
iconCls: 'el-icon-setting',//图标样式class
children: [
{path: '/vehicle', component: Vehicle, name: '车辆管理'},
{path: '/trailer', component: Trailer, name: '挂车管理'},
{path: '/corporation', component: Corporation, name: '企业管理'},
{path: '/driver', component: Driver, name: '驾驶员管理'},
]
},
{
path: '/',
component: Home,
name: '场站管理',
iconCls: 'el-icon-setting',//图标样式class
children: [
{path: '/yard', component: Yard, name: '场站管理'},
{path: '/bayonet', component: Bayonet, name: '卡口管理'},
{path: '/warehouse', component: Warehouse, name: '仓库管理'},
]
},
{
path: '*',
hidden: true,
redirect: {path: '/404'}
}
];
let initRouters = routes.concat();
let setUserMenus = function (list) {
routes = list;
}
/**
* 处理登陆后的账号对应的菜单
* @param menuList
*/
let handleMenuList = function (router, menu) {
var _self = this;
var routerName = "";
router.forEach(function (v_router) {
routerName = v_router.name;
menu.forEach(function (v_menu) {
//查找返回的目录列表是否包含路由名称,有就返回匹配到的元素,没有就移除
let result = menu.find(item => {
return item.name === routerName;
});
//匹配到继续判断是否子元素,有子元素继续递归
if (result) {
if (v_router.children) {
_self.handleMenuList(v_router.children, result.children);
}
//没有则可以移除
} else {
router.splice(router.findIndex(itm => itm.name === routerName), 1);
}
})
});
}
export default {
routes, setUserMenus, handleMenuList, initRouters
};