作者 朱兆平

菜单组件化

@@ -36,3 +36,6 @@ export const add = params => { return axios({ @@ -36,3 +36,6 @@ export const add = params => { return axios({
36 'Content-Type': 'application/json;charset=UTF-8' 36 'Content-Type': 'application/json;charset=UTF-8'
37 } 37 }
38 })}; 38 })};
  39 +
  40 +
  41 +export const userMenu = params => { return axios.get(`${base}/userMenu`, { params: params }); };
  1 +<template>
  2 + <el-menu default-active="$route.path"
  3 + class="el-menu-vertical-demo"
  4 + background-color="#26384c"
  5 + text-color="#fff"
  6 + active-text-color="#ffd04b"
  7 + style="overflow-y:scroll"
  8 + @open="handleopen"
  9 + @close="handleclose"
  10 + @select="handleselect"
  11 + unique-opened
  12 + router
  13 + :collapse="collapsed">
  14 + <el-radio-group v-model="collapsed" style="margin-bottom: 20px;">
  15 + <el-radio-button :label="false">展开</el-radio-button>
  16 + <el-radio-button :label="true">收起</el-radio-button>
  17 + </el-radio-group>
  18 + <div align="center" style="background-color: #2b2f3a;height: 67px">
  19 + <img src="~@/assets/logo1.png">
  20 + <h1 style="color:white;display: inline-block;font-weight: 600;font-size: 15px;line-height: 50px">航空物流公共信息服务平台</h1>
  21 + </div>
  22 + <template v-for="(item,index) in menu">
  23 + <el-submenu :index="index+''" v-if="item.hasChild">
  24 + <template slot="title">
  25 + <i :class="item.iconCls"></i>
  26 + <span slot="title">{{item.name}}</span>
  27 + </template>
  28 + <el-menu-item v-for="child in item.children"
  29 + :index="child.path"
  30 + :key="child.permissionId"
  31 + v-if="!child.hidden">
  32 + {{child.name}}
  33 + </el-menu-item>
  34 + </el-submenu>
  35 + <el-menu-item v-if="!item.hasChild" :index="item.path">
  36 + <i :class="item.iconCls"></i>
  37 + <span slot="title">{{item.name}}</span>
  38 + </el-menu-item>
  39 + </template>
  40 + </el-menu>
  41 +</template>
  42 +
  43 +<script>
  44 + import userInfo from '@/api/base';
  45 + import {userMenu} from '@/api/perm_api';
  46 + export default {
  47 + name: 'NavMenus',
  48 + data() {
  49 + return {
  50 + collapsed: false,
  51 + menu:[
  52 + {
  53 + permissionId:1,
  54 + name:'系统设置',
  55 + permissionOrder:'1',
  56 + description:'',
  57 + ismenu:true,
  58 + hidden:false,
  59 + parentId:0,
  60 + path:'/',
  61 + url:'/',
  62 + method:'',
  63 + iconCls:'el-icon-setting',
  64 + component:'',
  65 + hasChild:true,
  66 + children:[
  67 + {
  68 + permissionId:2,
  69 + name:'用户管理',
  70 + permissionOrder:'1',
  71 + description:'',
  72 + ismenu:true,
  73 + hidden:false,
  74 + parentId:0,
  75 + path:'/user',
  76 + url:'/user/**',
  77 + method:'',
  78 + iconCls:'',
  79 + component:'',
  80 + children:[]
  81 + },
  82 + {
  83 + permissionId:3,
  84 + name:'权限管理',
  85 + permissionOrder:'2',
  86 + description:'',
  87 + ismenu:true,
  88 + hidden:false,
  89 + parentId:0,
  90 + path:'/user1',
  91 + url:'/user/**',
  92 + method:'',
  93 + iconCls:'',
  94 + component:'',
  95 + children:[]
  96 + }
  97 + ]
  98 + },
  99 + {
  100 + permissionId:4,
  101 + name:'舱单申报',
  102 + permissionOrder:'1',
  103 + description:'',
  104 + ismenu:true,
  105 + hidden:false,
  106 + parentId:0,
  107 + path:'/main',
  108 + url:'/',
  109 + method:'',
  110 + iconCls:'el-icon-setting',
  111 + component:'',
  112 + children:[]
  113 + }
  114 + ]
  115 + }
  116 + },
  117 + methods: {
  118 + onSubmit() {
  119 + console.log('submit!');
  120 + },
  121 + handleopen() {
  122 + console.log('handleopen');
  123 + },
  124 + handleclose() {
  125 + console.log('handleclose');
  126 + },
  127 + handleselect: function (a, b) {
  128 + this.reload()
  129 + },
  130 + showMenu(i,status){
  131 + this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none';
  132 + },
  133 + getUserMenu:function(){
  134 + const _this=this;
  135 + const para={
  136 + userId:userInfo.userId
  137 + };
  138 + userMenu(para).then((res) => {
  139 + console.log("ce"+res.data);
  140 + _this.menu = res.data.data;
  141 + }).catch((error) => {
  142 + if(null!= error.response && error.response!==undefined){
  143 + let status= error.response.status;
  144 + let msg = error.response.statusText;
  145 + _this.$message({
  146 + // 饿了么的消息弹窗组件
  147 + message: msg,
  148 + type: "error"
  149 + });
  150 + }else {
  151 + _this.$message({
  152 + // 饿了么的消息弹窗组件
  153 + message: error,
  154 + type: "error"
  155 + });
  156 + }
  157 + });
  158 + },
  159 + reload() {
  160 + this.$nextTick(function () {
  161 + this.$router.push({
  162 + path: this.$router.path,
  163 + query:{
  164 + t: new Date().getTime()
  165 + }
  166 + })
  167 + })
  168 + },
  169 + },
  170 + mounted() {
  171 + console.log(userInfo)
  172 + this.getUserMenu();
  173 + }
  174 + }
  175 +</script>
  176 +<style scoped lang="scss">
  177 +
  178 +</style>
  179 +<style>
  180 +</style>
@@ -136,27 +136,27 @@ let routes = [ @@ -136,27 +136,27 @@ let routes = [
136 {path: '/main', component: Main, name: '首页'}, 136 {path: '/main', component: Main, name: '首页'},
137 ] 137 ]
138 }, 138 },
139 - // {  
140 - // path: '/',  
141 - // component: Home,  
142 - // name: 'Charts',  
143 - // iconCls: 'fa fa-bar-chart',  
144 - // children: [  
145 - // {path: '/echarts', component: echarts, name: 'echarts'},  
146 - // {path: '/earthCharts', component: earthCharts, name: '统计表'}  
147 - // ]  
148 - // },  
149 - // { path: '/test', component: Main },  
150 - // {  
151 - // path: '/bill',  
152 - // component: Home,  
153 - // name: '货运单',  
154 - // iconCls: 'el-icon-collection',  
155 - // children: [  
156 - // {path: '/Way', component: Way, name: '货运单'},  
157 - // {path: '/Webdialog', component: Webdialog, name: '在线客服'}  
158 - // ]  
159 - // }, 139 + {
  140 + path: '/',
  141 + component: Home,
  142 + name: 'Charts',
  143 + iconCls: 'fa fa-bar-chart',
  144 + children: [
  145 + {path: '/echarts', component: echarts, name: 'echarts'},
  146 + {path: '/earthCharts', component: earthCharts, name: '统计表'}
  147 + ]
  148 + },
  149 + { path: '/test', component: Main },
  150 + {
  151 + path: '/bill',
  152 + component: Home,
  153 + name: '货运单',
  154 + iconCls: 'el-icon-collection',
  155 + children: [
  156 + {path: '/Way', component: Way, name: '货运单'},
  157 + {path: '/Webdialog', component: Webdialog, name: '在线客服'}
  158 + ]
  159 + },
160 { 160 {
161 path: '/', 161 path: '/',
162 component: Home, 162 component: Home,
@@ -195,11 +195,11 @@ let routes = [ @@ -195,11 +195,11 @@ let routes = [
195 { path: '/documents', component: documents, name: '航班文件' }, 195 { path: '/documents', component: documents, name: '航班文件' },
196 { path: '/charge', component: charge, name: '付费处理' }, 196 { path: '/charge', component: charge, name: '付费处理' },
197 197
198 - // { path: '/perm', component: Perm, name: '权限管理' },  
199 - // { path: '/log', component: LOG, name: '系统日志' },  
200 - // { path: '/department', component: Department, name: '部门管理' },  
201 - // { path: '/company', component: Company, name: '公司管理'},  
202 - // { path: '/group', component: Group, name: '集团管理'} 198 + { path: '/perm', component: Perm, name: '权限管理' },
  199 + { path: '/log', component: LOG, name: '系统日志' },
  200 + { path: '/department', component: Department, name: '部门管理' },
  201 + { path: '/company', component: Company, name: '公司管理'},
  202 + { path: '/group', component: Group, name: '集团管理'}
203 ] 203 ]
204 }, 204 },
205 { 205 {
@@ -207,6 +207,7 @@ let routes = [ @@ -207,6 +207,7 @@ let routes = [
207 component: Home, 207 component: Home,
208 name: '系统设置', 208 name: '系统设置',
209 iconCls: 'el-icon-setting',//图标样式class 209 iconCls: 'el-icon-setting',//图标样式class
  210 + leaf: false,
210 children: [ 211 children: [
211 { path: '/user', component: User, name: '用户管理' }, 212 { path: '/user', component: User, name: '用户管理' },
212 { path: '/role', component: Role, name: '组织机构' }, 213 { path: '/role', component: Role, name: '组织机构' },
@@ -217,30 +218,30 @@ let routes = [ @@ -217,30 +218,30 @@ let routes = [
217 { path: '/group', component: Group, name: '集团管理'} 218 { path: '/group', component: Group, name: '集团管理'}
218 ] 219 ]
219 }, 220 },
220 - // {  
221 - // path: '/guestService',  
222 - // component: Home,  
223 - // name: '客服系统',  
224 - // iconCls: 'fa fa-id-card-o',  
225 - // children: [  
226 - // { path: '/process', component: Process, name: '工单管理' },  
227 - // { path: '/job', component: Job, name: '任务管理' },  
228 - // {path: '/pre1', component: PreManifest, name: '预配'},  
229 - // ]  
230 - // }, 221 + {
  222 + path: '/guestService',
  223 + component: Home,
  224 + name: '客服系统',
  225 + iconCls: 'fa fa-id-card-o',
  226 + children: [
  227 + { path: '/process', component: Process, name: '工单管理' },
  228 + { path: '/job', component: Job, name: '任务管理' },
  229 + {path: '/pre1', component: PreManifest, name: '预配'},
  230 + ]
  231 + },
231 { 232 {
232 path: '/output', 233 path: '/output',
233 component: Home, 234 component: Home,
234 name: '国际出港业务申报', 235 name: '国际出港业务申报',
235 iconCls: 'el-icon-collection', 236 iconCls: 'el-icon-collection',
236 children: [ 237 children: [
237 - // {path: '/flight', component: ExitFlight, name: '出港航班申报'},  
238 - // {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, 238 + {path: '/flight', component: ExitFlight, name: '出港航班申报'},
  239 + {path: '/manifest', component: ExitManifest, name: '出港运单申报'},
239 {path: '/pre', component: ExitPre, name: '国际出港预配舱单'}, 240 {path: '/pre', component: ExitPre, name: '国际出港预配舱单'},
240 - // {path: '/arrive', component: ExitArrive, name: '出港运抵'},  
241 - // {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},  
242 - // {path: '/loading', component: ExitLoading, name: '出港装载'},  
243 - // {path: '/tidy', component: ExitTidy, name: '出港理货'} 241 + {path: '/arrive', component: ExitArrive, name: '出港运抵'},
  242 + {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},
  243 + {path: '/loading', component: ExitLoading, name: '出港装载'},
  244 + {path: '/tidy', component: ExitTidy, name: '出港理货'}
244 ] 245 ]
245 }, 246 },
246 { 247 {
@@ -270,13 +271,13 @@ let routes = [ @@ -270,13 +271,13 @@ let routes = [
270 name: '国内出港业务申报', 271 name: '国内出港业务申报',
271 iconCls: 'el-icon-collection', 272 iconCls: 'el-icon-collection',
272 children: [ 273 children: [
273 - // {path: '/flight', component: ExitFlight, name: '出港航班申报'},  
274 - // {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, 274 + {path: '/flight', component: ExitFlight, name: '出港航班申报'},
  275 + {path: '/manifest', component: ExitManifest, name: '出港运单申报'},
275 {path: '/pre', component: ExitPre, name: '国内出港预配舱单'}, 276 {path: '/pre', component: ExitPre, name: '国内出港预配舱单'},
276 - // {path: '/arrive', component: ExitArrive, name: '出港运抵'},  
277 - // {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},  
278 - // {path: '/loading', component: ExitLoading, name: '出港装载'},  
279 - // {path: '/tidy', component: ExitTidy, name: '出港理货'} 277 + {path: '/arrive', component: ExitArrive, name: '出港运抵'},
  278 + {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},
  279 + {path: '/loading', component: ExitLoading, name: '出港装载'},
  280 + {path: '/tidy', component: ExitTidy, name: '出港理货'}
280 ] 281 ]
281 }, 282 },
282 { 283 {
@@ -285,13 +286,13 @@ let routes = [ @@ -285,13 +286,13 @@ let routes = [
285 name: '国内进港业务申报', 286 name: '国内进港业务申报',
286 iconCls: 'el-icon-collection', 287 iconCls: 'el-icon-collection',
287 children: [ 288 children: [
288 - // {path: '/flight', component: ExitFlight, name: '出港航班申报'},  
289 - // {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, 289 + {path: '/flight', component: ExitFlight, name: '出港航班申报'},
  290 + {path: '/manifest', component: ExitManifest, name: '出港运单申报'},
290 {path: '/pre', component: ExitPre, name: '国内进港预配舱单'}, 291 {path: '/pre', component: ExitPre, name: '国内进港预配舱单'},
291 - // {path: '/arrive', component: ExitArrive, name: '出港运抵'},  
292 - // {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},  
293 - // {path: '/loading', component: ExitLoading, name: '出港装载'},  
294 - // {path: '/tidy', component: ExitTidy, name: '出港理货'} 292 + {path: '/arrive', component: ExitArrive, name: '出港运抵'},
  293 + {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},
  294 + {path: '/loading', component: ExitLoading, name: '出港装载'},
  295 + {path: '/tidy', component: ExitTidy, name: '出港理货'}
295 ] 296 ]
296 }, 297 },
297 { 298 {
@@ -304,44 +305,44 @@ let routes = [ @@ -304,44 +305,44 @@ let routes = [
304 ] 305 ]
305 }, 306 },
306 307
307 - // {  
308 - // path: '/nmms2',  
309 - // component: Home,  
310 - // name: '进港业务申报',  
311 - // iconCls: 'fa fa-id-card-o',  
312 - // children: [  
313 - // { path: '/orig', component: OrigFlightList, name: '进港航班申报' },  
314 - // {path:'/waybill',component:Waybill,name:'进港运单申报'},  
315 - // {path:'/allocateSearch',component:AllocateSearch,name:'运单分拨申报'},  
316 - // { path: '/enter', component: EnterFlightInfo, name: '原始舱单'},  
317 - // { path:'/origmaster',component:OrigMaster,name:'进港原始舱单'},  
318 - // {path:'/entertall',component:EnterTally,name:'进港理货'},  
319 - // {path:'/tallymaster',component:TallyMster,name:'进港理货舱单'},  
320 - // {path:'/importallocation',component:Importallocation,name:'进港分拨'},  
321 - // {path:'/allocatearrive',component:Allocatearrive,name:'分拨运抵'},  
322 - // ]  
323 - // }, 308 + {
  309 + path: '/nmms2',
  310 + component: Home,
  311 + name: '进港业务申报',
  312 + iconCls: 'fa fa-id-card-o',
  313 + children: [
  314 + { path: '/orig', component: OrigFlightList, name: '进港航班申报' },
  315 + {path:'/waybill',component:Waybill,name:'进港运单申报'},
  316 + {path:'/allocateSearch',component:AllocateSearch,name:'运单分拨申报'},
  317 + { path: '/enter', component: EnterFlightInfo, name: '原始舱单'},
  318 + { path:'/origmaster',component:OrigMaster,name:'进港原始舱单'},
  319 + {path:'/entertall',component:EnterTally,name:'进港理货'},
  320 + {path:'/tallymaster',component:TallyMster,name:'进港理货舱单'},
  321 + {path:'/importallocation',component:Importallocation,name:'进港分拨'},
  322 + {path:'/allocatearrive',component:Allocatearrive,name:'分拨运抵'},
  323 + ]
  324 + },
324 // 货运系统--航班预配 325 // 货运系统--航班预配
325 - // {  
326 - // path: '/flight_scheduling',  
327 - // component: Home,  
328 - // name: '航班计划',  
329 - // iconCls: 'el-icon-delete-location',  
330 - // children: [  
331 - // { path: '/inquiry', component: inquiry, name: '航班计划查询' },  
332 - // ]  
333 - // },  
334 - // {  
335 - // path: '/lost',  
336 - // component: Home,  
337 - // name: '落装改配申报',  
338 - // iconCls:'el-icon-goods',  
339 - // children:[  
340 - // {path:'/lostLoad',component:LostLoad,name:'落装业务申报'},  
341 - // {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'}  
342 - //  
343 - // ]  
344 - // }, 326 + {
  327 + path: '/flight_scheduling',
  328 + component: Home,
  329 + name: '航班计划',
  330 + iconCls: 'el-icon-delete-location',
  331 + children: [
  332 + { path: '/inquiry', component: inquiry, name: '航班计划查询' },
  333 + ]
  334 + },
  335 + {
  336 + path: '/lost',
  337 + component: Home,
  338 + name: '落装改配申报',
  339 + iconCls:'el-icon-goods',
  340 + children:[
  341 + {path:'/lostLoad',component:LostLoad,name:'落装业务申报'},
  342 + {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'}
  343 +
  344 + ]
  345 + },
345 { 346 {
346 path: '/airtransport', 347 path: '/airtransport',
347 component: Home, 348 component: Home,
@@ -384,18 +385,18 @@ let routes = [ @@ -384,18 +385,18 @@ let routes = [
384 {path:'/queryConfigure',component:queryConfigure,name:'航班配置查询'}, 385 {path:'/queryConfigure',component:queryConfigure,name:'航班配置查询'},
385 ] 386 ]
386 }, 387 },
387 - // {  
388 - // path: '/con',  
389 - // component: Home,  
390 - // name: '收发货人管理',  
391 - // iconCls:'el-icon-goods',  
392 - // children:[  
393 - // {path:'/consigner',component:Consigner,name:'发货人管理'},  
394 - // {path:'/consignee',component:Consignee,name:'收货人管理'},  
395 - // {path:'/transport',component:Transport,name:'转运申请'},  
396 - //  
397 - // ]  
398 - // }, 388 + {
  389 + path: '/con',
  390 + component: Home,
  391 + name: '收发货人管理',
  392 + iconCls:'el-icon-goods',
  393 + children:[
  394 + {path:'/consigner',component:Consigner,name:'发货人管理'},
  395 + {path:'/consignee',component:Consignee,name:'收货人管理'},
  396 + {path:'/transport',component:Transport,name:'转运申请'},
  397 +
  398 + ]
  399 + },
399 { 400 {
400 path: '/out', 401 path: '/out',
401 component: Home, 402 component: Home,
@@ -419,71 +420,71 @@ let routes = [ @@ -419,71 +420,71 @@ let routes = [
419 {path:'/dynamics',component:dynamics,name:'在港动态信息'}, 420 {path:'/dynamics',component:dynamics,name:'在港动态信息'},
420 ] 421 ]
421 }, 422 },
422 - // {  
423 - // path: '/express-system',  
424 - // component: Home,  
425 - // name: '快邮舱单申报',  
426 - // iconCls:'el-icon-wind-power',  
427 - // children:[  
428 - // {path:'/express',component:Express,name:'快邮舱单申报'},  
429 - // ]  
430 - // }, 423 + {
  424 + path: '/express-system',
  425 + component: Home,
  426 + name: '快邮舱单申报',
  427 + iconCls:'el-icon-wind-power',
  428 + children:[
  429 + {path:'/express',component:Express,name:'快邮舱单申报'},
  430 + ]
  431 + },
  432 +
  433 + {
  434 + path: '/',
  435 + component: Home,
  436 + name: '场站管理',
  437 + iconCls: 'el-icon-setting',//图标样式class
  438 + children: [
  439 + {path: '/yard', component: Yard, name: '场站管理'},
  440 + {path: '/bayonet', component: Bayonet, name: '卡口管理'},
  441 + {path: '/warehouse', component: Warehouse, name: '仓库管理'},
  442 + ]
  443 + },
431 444
432 - // {  
433 - // path: '/',  
434 - // component: Home,  
435 - // name: '场站管理',  
436 - // iconCls: 'el-icon-setting',//图标样式class  
437 - // children: [  
438 - // {path: '/yard', component: Yard, name: '场站管理'},  
439 - // {path: '/bayonet', component: Bayonet, name: '卡口管理'},  
440 - // {path: '/warehouse', component: Warehouse, name: '仓库管理'},  
441 - // ]  
442 - // },  
443 - //  
444 - // {  
445 - // path: '/empt',  
446 - // component: Home,  
447 - // name: '能源管理',  
448 - // iconCls: 'fa fa-id-card-o',  
449 - // children: [  
450 - // { path: '/location', component: Location, name: '能源缴费' },  
451 - //  
452 - // ]  
453 - // },  
454 - // {  
455 - // path: '/satff',  
456 - // component: Home,  
457 - // name: '生活保障部门',  
458 - // iconCls: 'fa fa-id-card-o',  
459 - // children: [  
460 - // { path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' },  
461 - // { path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' },  
462 - // { path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' },  
463 - // { path: '/come_car', component: ComeCar, name: '职工公寓外来人员车辆登记管理' },  
464 - // { path: '/on_duty', component: OnDuty, name: '职工公寓值班巡视记录管理' },  
465 - // ]  
466 - // },  
467 - // {  
468 - // path: '/water_heating_chamber',  
469 - // component: Home,  
470 - // name: '水暖室',  
471 - // iconCls: 'fa fa-address-card',  
472 - // // leaf: true,//只有一个节点  
473 - // children: [  
474 - // { path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' },  
475 - // // { path: '/page6', component: Page6, name: '水质量检测' },  
476 - // // { path: '/page6', component: Page6, name: '污水站' },  
477 - // // { path: '/page6', component: Page6, name: '一水厂' },  
478 - // // { path: '/page6', component: Page6, name: '综合楼空调站' },  
479 - // ]  
480 - // }, 445 + {
  446 + path: '/empt',
  447 + component: Home,
  448 + name: '能源管理',
  449 + iconCls: 'fa fa-id-card-o',
  450 + children: [
  451 + { path: '/location', component: Location, name: '能源缴费' },
481 452
482 - // {  
483 - // path: '*',  
484 - // hidden: true,  
485 - // redirect: {path: '/404'}  
486 - // } 453 + ]
  454 + },
  455 + {
  456 + path: '/satff',
  457 + component: Home,
  458 + name: '生活保障部门',
  459 + iconCls: 'fa fa-id-card-o',
  460 + children: [
  461 + { path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' },
  462 + { path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' },
  463 + { path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' },
  464 + { path: '/come_car', component: ComeCar, name: '职工公寓外来人员车辆登记管理' },
  465 + { path: '/on_duty', component: OnDuty, name: '职工公寓值班巡视记录管理' },
  466 + ]
  467 + },
  468 + {
  469 + path: '/water_heating_chamber',
  470 + component: Home,
  471 + name: '水暖室',
  472 + iconCls: 'fa fa-address-card',
  473 + // leaf: true,//只有一个节点
  474 + children: [
  475 + { path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' },
  476 + // { path: '/page6', component: Page6, name: '水质量检测' },
  477 + // { path: '/page6', component: Page6, name: '污水站' },
  478 + // { path: '/page6', component: Page6, name: '一水厂' },
  479 + // { path: '/page6', component: Page6, name: '综合楼空调站' },
  480 + ]
  481 + },
  482 +
  483 + {
  484 + path: '*',
  485 + hidden: true,
  486 + redirect: {path: '/404'}
  487 + }
487 ]; 488 ];
488 let initRouters = routes.concat(); 489 let initRouters = routes.concat();
489 let setUserMenus = function (list) { 490 let setUserMenus = function (list) {
@@ -4,14 +4,14 @@ @@ -4,14 +4,14 @@
4 <el-col :span="14" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'"> 4 <el-col :span="14" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'">
5 {{collapsed?'':sysName}} 5 {{collapsed?'':sysName}}
6 </el-col> 6 </el-col>
7 - <el-col :span="6">  
8 - <div class="tools" @click.prevent="collapse" style="width: 15px;margin-top: 72px;margin-left:1px;z-index:9999;position:absolute;">  
9 -<!-- ;margin-top: 80px;z-index:9999;margin-left: 170px-->  
10 -<!-- <i class="el-icon-s-operation" style="color: rgb(38,56,76)"></i>-->  
11 - <img :class="[rotate?'go':'aa']" @click="start" width="20" height="44" src="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABCCAYAAABAfGYuAAAArklEQVRYhe3YIQ4CMRBG4b+IOhyS26DXEjySBE6A4QSINasRSAx3guBJECTdLMn6dtp0Be8loz/Tjhh3OLVBEzSbAhUwMDAwMDAwMDAw8B/A5+PuNzEtF/NycGwDut9u6sIj6r2vB6eiRWALmg1b0SzYOWndrExoFhyC1F3vejxfdeGh9+er9nIz4dmPy4oX+U4WvNgCScWLrswRj4k7FzAwMDAwMDAwMDBwYnLqAfLHOpMP7/PBAAAAAElFTkSuQmCC">  
12 - </div>  
13 -<!-- 标签i的图标 fa-align-justify-->  
14 - </el-col> 7 +<!-- <el-col :span="6">-->
  8 +<!-- <div class="tools" @click.prevent="collapse" style="width: 15px;margin-top: 72px;margin-left:1px;z-index:9999;position:absolute;">-->
  9 +<!--&lt;!&ndash; ;margin-top: 80px;z-index:9999;margin-left: 170px&ndash;&gt;-->
  10 +<!--&lt;!&ndash; <i class="el-icon-s-operation" style="color: rgb(38,56,76)"></i>&ndash;&gt;-->
  11 +<!-- <img :class="[rotate?'go':'aa']" @click="start" width="20" height="44" src="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABCCAYAAABAfGYuAAAArklEQVRYhe3YIQ4CMRBG4b+IOhyS26DXEjySBE6A4QSINasRSAx3guBJECTdLMn6dtp0Be8loz/Tjhh3OLVBEzSbAhUwMDAwMDAwMDAw8B/A5+PuNzEtF/NycGwDut9u6sIj6r2vB6eiRWALmg1b0SzYOWndrExoFhyC1F3vejxfdeGh9+er9nIz4dmPy4oX+U4WvNgCScWLrswRj4k7FzAwMDAwMDAwMDBwYnLqAfLHOpMP7/PBAAAAAElFTkSuQmCC">-->
  12 +<!-- </div>-->
  13 +<!--&lt;!&ndash; 标签i的图标 fa-align-justify&ndash;&gt;-->
  14 +<!-- </el-col>-->
15 <!-- <el-col :span="4" class="userinfo">--> 15 <!-- <el-col :span="4" class="userinfo">-->
16 <!-- <el-dropdown trigger="hover" >--> 16 <!-- <el-dropdown trigger="hover" >-->
17 <!-- <span class="el-dropdown-link userinfo-inner">{{sysUserName}}<img :src="this.sysUserAvatar"/></span>--> 17 <!-- <span class="el-dropdown-link userinfo-inner">{{sysUserName}}<img :src="this.sysUserAvatar"/></span>-->
@@ -44,42 +44,43 @@ @@ -44,42 +44,43 @@
44 <!-- </el-dialog>--> 44 <!-- </el-dialog>-->
45 <!-- </el-col>--> 45 <!-- </el-col>-->
46 <el-col :span="24" class="main"> 46 <el-col :span="24" class="main">
47 - <aside :class="collapsed?'menu-collapsed':'menu-expanded'">  
48 - <!--导航菜单-->  
49 - <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen"  
50 - @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed"  
51 - style="width: 380px;height: 100%;margin-right: -18px">  
52 -<!-- ;overflow: scroll-->  
53 - <div align="center" style="background-color: #2b2f3a;height: 67px">  
54 - <img src="./logo1.png">  
55 - <h1 style="color:white;display: inline-block">航空物流公共信息服务平台</h1>  
56 -<!-- ;font-weight: 600;font-size: 15px;line-height: 50px-->  
57 - </div>  
58 - <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">  
59 - <el-submenu :index="index+''" v-if="!item.leaf">  
60 - <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>  
61 - <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item>  
62 - </el-submenu>  
63 - <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>  
64 - </template>  
65 - </el-menu>  
66 - <!--导航菜单-折叠后-->  
67 - <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed">  
68 - <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item">  
69 - <template v-if="!item.leaf">  
70 - <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div>  
71 - <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)">  
72 - <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li>  
73 - </ul>  
74 - </template>  
75 - <template v-else>  
76 - <li class="el-submenu">  
77 - <div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div>  
78 - </li>  
79 -</template>  
80 -</li>  
81 -</ul>  
82 -</aside> 47 + <NavMenu></NavMenu>
  48 +<!-- <aside :class="collapsed?'menu-collapsed':'menu-expanded'">-->
  49 +<!-- &lt;!&ndash;导航菜单&ndash;&gt;-->
  50 +<!-- <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen"-->
  51 +<!-- @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed"-->
  52 +<!-- style="width: 380px;height: 100%;margin-right: -18px">-->
  53 +<!-- &lt;!&ndash; ;overflow: scroll&ndash;&gt;-->
  54 +<!-- <div align="center" style="background-color: #2b2f3a;height: 67px">-->
  55 +<!-- <img src="./logo1.png">-->
  56 +<!-- <h1 style="color:white;display: inline-block">航空物流公共信息服务平台</h1>-->
  57 +<!-- &lt;!&ndash; ;font-weight: 600;font-size: 15px;line-height: 50px&ndash;&gt;-->
  58 +<!-- </div>-->
  59 +<!-- <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">-->
  60 +<!-- <el-submenu :index="index+''" v-if="!item.leaf">-->
  61 +<!-- <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>-->
  62 +<!-- <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item>-->
  63 +<!-- </el-submenu>-->
  64 +<!-- <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>-->
  65 +<!-- </template>-->
  66 +<!-- </el-menu>-->
  67 +<!-- &lt;!&ndash;导航菜单-折叠后&ndash;&gt;-->
  68 +<!-- <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed">-->
  69 +<!-- <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item">-->
  70 +<!-- <template v-if="!item.leaf">-->
  71 +<!-- <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div>-->
  72 +<!-- <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)">-->
  73 +<!-- <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li>-->
  74 +<!-- </ul>-->
  75 +<!-- </template>-->
  76 +<!-- <template v-else>-->
  77 +<!-- <li class="el-submenu">-->
  78 +<!-- <div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div>-->
  79 +<!-- </li>-->
  80 +<!-- </template>-->
  81 +<!-- </li>-->
  82 +<!-- </ul>-->
  83 +<!-- </aside>-->
83 <div class="tabM" > 84 <div class="tabM" >
84 <TabMenu></TabMenu> 85 <TabMenu></TabMenu>
85 </div> 86 </div>
@@ -96,6 +97,7 @@ @@ -96,6 +97,7 @@
96 import { editPass,resetToken} from '../api/user'; 97 import { editPass,resetToken} from '../api/user';
97 import ElFormItem from "element-ui/packages/form/src/form-item"; 98 import ElFormItem from "element-ui/packages/form/src/form-item";
98 import TabMenu from "@/components/TabMenu" 99 import TabMenu from "@/components/TabMenu"
  100 + import NavMenu from "@/components/NavMenu"
99 101
100 export default { 102 export default {
101 103
@@ -104,7 +106,7 @@ @@ -104,7 +106,7 @@
104 reload: this.reload 106 reload: this.reload
105 } 107 }
106 }, 108 },
107 - components: {ElFormItem,TabMenu}, 109 + components: {ElFormItem,TabMenu,NavMenu},
108 data() { 110 data() {
109 // var validatePass = (rule, value, callback) => { 111 // var validatePass = (rule, value, callback) => {
110 // if (!value) { 112 // if (!value) {
@@ -284,8 +286,7 @@ @@ -284,8 +286,7 @@
284 this.collapsed=!this.collapsed; 286 this.collapsed=!this.collapsed;
285 }, 287 },
286 showMenu(i,status){ 288 showMenu(i,status){
287 - this.$refs.menuColl  
288 - apsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none'; 289 + this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none';
289 }, 290 },
290 291
291 }, 292 },
@@ -385,8 +386,8 @@ @@ -385,8 +386,8 @@
385 bottom: 0px; 386 bottom: 0px;
386 overflow: hidden; 387 overflow: hidden;
387 aside { 388 aside {
388 - flex:0 0 300px;  
389 - width: 300px; 389 + flex:0 0 380px;
  390 + width: 380px;
390 overflow-x: hidden; 391 overflow-x: hidden;
391 overflow-y: scroll; 392 overflow-y: scroll;
392 position: relative; 393 position: relative;