routes.js
5.4 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
import Login from './views/Login.vue'
import ssoLogin from './views/SsoLogin.vue'
import NotFound from './views/404.vue'
import Home from './views/Home.vue'
import Main from './views/dashboard/index'
import Role from './views/nav1/role.vue'
import Perm from './views/nav1/perm.vue'
import LOG from './views/nav1/Log.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 Page6 from './views/nav3/Page6.vue'
import Page7 from './views/nav3/Page7.vue'
import echarts from './views/charts/echarts.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'
import Verecord from './views/road_verecord/verecord'
//统计分析
import AgentExcelExport from './views/excel/exportExcel-agent'
import NMMSExcelExport from './views/excel/exportExcel-NMMS'
import ExitAnalysis from './views/dataAnalysis/ExitAnalysis'
import ArrivalAnalysis from './views/dataAnalysis/ArrivalAnalysis'
let routes = [
{
path: '/login',
component: Login,
name: '登录',
hidden: true
},
{
path: '/ssologin',
component: ssoLogin,
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-delete-location',
children: [
{ path: '/Page6', component: Page6, name: '申请列表' },
{ path: '/Page7', component: Page7, 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: '/',
component: Home,
name: '车辆备案管理',
iconCls: 'el-icon-setting',//图标样式class
children: [
{path: '/verecord', component: Verecord, name: '备案列表'}
]
},
// {
// path: '/',
// component: Home,
// name: 'Charts',
// iconCls: 'fa fa-bar-chart',
// children: [
// {path: '/echarts', component: echarts, name: 'echarts'}
// ]
// },
{
path: '*',
hidden: true,
redirect: {path: '/404'}
},
// {
// path: '/cgonms-provide',
// component: Home,
// name: '业务统计',
// iconCls: 'fa fa-id-card-o',
// children: [
// {path: '/exitAnalysis', component: ExitAnalysis, name: '出港业务统计'},
// {path: '/arrivalAnalysis', component: ArrivalAnalysis, name: '进港业务统计'},
// ]
// },
// {
// path: '/analysis',
// component: Home,
// name: '统计分析',
// iconCls: 'fa fa-id-card-o',
// children: [
// {path: '/agentexport', component: AgentExcelExport, name: '出港统计'},
// {path: '/nmmsexport', component: NMMSExcelExport, name: '进港统计'},
// ]
// },
];
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
};