import Login from './views/Login.vue' import NotFound from './views/404.vue' import Home from './views/Home.vue' import HomeNew from './views/HomeNew.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 Process from './views/hqpt/Process.vue' import Job from './views/hqpt/Job.vue' // import Form from './views/nav1/Form.vue' import OrgManifest from './views/nmms/orgManifest.vue' import ExitFlight from './views/nmms/ExitFlight.vue' import ExitPre from './views/nmms/ExitPre.vue' import ExitTidy from './views/nmms/ExitTidy.vue' import ExitArrive from './views/nmms/ExitArrive.vue' import ExitManifest from './views/nmms/ExitManifest.vue' import ExitLoading from './views/nmms/ExitLoading.vue' import ExitFlightDesc from './views/nmms/ExitFlightDesc.vue' import LostLoad from './views/lostLoadChange/lostLoading.vue' import LostLoadChange from './views/lostLoadChange/lostLoadChange.vue' import OrigFlightList from './views/nmms_import/OrigFlightList.vue' import EnterFlightInfo from './views/nmms_import/EnterFlightInfo.vue' import Cross from './views/nmms_import/Cross.vue' import OrigMaster from './views/nmms_import/OrigMaster.vue' import EnterTally from './views/nmms_import/EnterFlightTally.vue' import TallyMster from './views/nmms_import/TallyMster.vue' import Waybill from './views/nmms_import/Waybill.vue' import AllocateSearch from './views/nmms_import/AllocateSearch.vue' import Importallocation from './views/nmms_import/Importallocation.vue' import Allocatearrive from './views/nmms_import/Allocatearrive.vue' import User from './views/nav1/user.vue' import preConfiguration from './views/nav2/preConfiguration.vue' import allocate from './views/nav2/allocate.vue' import charge from './views/nav2/charge.vue' import documents from './views/nav2/documents.vue' import booking from './views/nav4/booking.vue' import order from './views/nav4/order.vue' import airlift from './views/nav4/airlift.vue' import inquiry from './views/nav4/inquiry.vue' import Page6 from './views/nav3/Page6.vue' import Page7 from './views/nav3/Page7.vue' import importFFMMsg from './views/airRadioMsg/importFFMMsg.vue' import importFHLMsg from './views/airRadioMsg/importFHLMsg.vue' import importFWBMsg from './views/airRadioMsg/importFWBMsg.vue' import statis from './views/nmms_import/statistics' import echarts from './views/charts/echarts.vue' import earthCharts from './views/charts/earthCharts.vue' import SecrityInspection from './views/staff/security_inspection.vue' import Key from './views/staff/key.vue' import Maintain from './views/staff/maintain.vue' import ComeCar from './views/staff/come_car.vue' import OnDuty from './views/staff/on_duty.vue' import WaterStationsPatrol from './views/water/water_stations_patrol.vue' import Location from './views/empt/Location.vue' //运输工具 通用业务申报 import Route from './views/airtransport/route.vue' import Bill from './views/airtransport/bill.vue' import Flight from './views/airtransport/flight.vue' import Flightplan from './views/airtransport/flightplan.vue' import Aircraft from './views/airtransport/aircraft.vue' import Routeaircraft from './views/airtransport/routeaircraft' //通用业务查询 import queryRoute from './views/airtransport/queryRoute.vue' import queryBill from './views/airtransport/queryBill.vue' import queryFlight from './views/airtransport/queryFlight.vue' import queryFlightplan from './views/airtransport/queryFlightplan.vue' import queryAircraft from './views/airtransport/queryAircraft.vue' import queryRouteaircraft from './views/airtransport/queryRouteaircraft.vue' import arrival from './views/airtransport/arrival.vue' import confirmatory from './views/airtransport/confirmatory.vue' import queryArrival from './views/airtransport/queryArrival.vue' import conForConfigure from './views/airtransport/conForConfigure.vue' import queryForConfigure from './views/airtransport/queryForConfigure.vue' import queryConfirmatory from './views/airtransport/queryConfirmatory.vue' import configure from './views/airtransport/configure.vue' import queryConfigure from './views/airtransport/queryConfigure.vue' import transit from './views/transit/transit.vue' import technological from './views/technological/technological.vue' import example from './views/technological/example.vue' import task from './views/technological/task.vue' import departure from './views/airtransport/departure.vue' import declare from './views/airtransport/declare.vue' import queryDeparture from './views/airtransport/queryDeparture.vue' import queryDeclare from './views/airtransport/queryDeclare.vue' import outConfigure from './views/airtransport/outConfigure.vue' import queryFlightConfigure from './views/airtransport/queryFlightConfigure.vue' import Consigner from './views/consigner/consigner.vue' import Consignee from './views/consigner/consignee.vue' // 货主信息管理 import Shipper from './views/shipper/shipper.vue' import Security from './views/security/security.vue' import dynamics from './views/airtransport/dynamics.vue' import matter from './views/airtransport/matter.vue' //国际转运 import transfer from './views/airtransport/transfer.vue' // import transpour from './views/airtransport/transpour.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 Express from './views/express_system/express.vue' //给海龙做的货运单 import Way from './views/nav3/Way.vue' //朱总让做的网页在线客服 import Webdialog from './views/bus/Webdialog.vue' //转运申请 import Transport from './views/nav4/Transport.vue' /* 车辆调度系统 */ import DriverInfo from "./views/dispatch/DriverInfo"; import VehicleInfo from "./views/dispatch/VehicleInfo"; import DispatchNode from "./views/dispatch/DispatchNode"; import Dispatch from "./views/dispatch/Dispatch"; let routes = [ { path: '/login', component: Login, name: '登录', hidden: true }, { path: '/404', component: NotFound, name: '错误', hidden: true }, { path: '/', component: HomeNew, name: '主页', leaf: true, iconCls: 'el-icon-menu', children: [ {path: '/main', component: Main, name: '首页'}, ] }, { path: '/', component: HomeNew, name: 'Charts', iconCls: 'fa fa-bar-chart', children: [ {path: '/echarts', component: echarts, name: 'echarts'}, {path: '/earthCharts', component: earthCharts, name: '统计表'} ] }, { path: '/test', component: Main }, { path: '/bill', component: HomeNew, name: '货运单', iconCls: 'el-icon-collection', children: [ {path: '/Way', component: Way, name: '货运单'}, {path: '/Webdialog', component: Webdialog, name: '在线客服'} ] }, { path: '/', component: HomeNew, name: '海关货物流转', iconCls: 'el-icon-delete-location', children: [ { path: '/Page6', component: Page6, name: '申请列表' }, { path: '/Page7', component: Page7, name: '申请添加' }, ] }, { path: '/', component: HomeNew, name: '车辆调度管理', iconCls: 'el-icon-delete-location', children: [ { path: '/Dispatch', component: Dispatch, name: '车辆调度' }, { path: '/DriverInfo', component: DriverInfo, name: '驾驶员信息' }, { path: '/VehicleInfo', component: VehicleInfo, name: '车辆信息' }, ] }, { path: '/domdep', component: HomeNew, name: '订舱系统', iconCls: 'el-icon-delete-location', children: [ { path: '/booking', component: booking, name: '在线订舱' }, { path: '/order', component: order, name: '订舱信息' }, { path: '/airlift', component: airlift, name: '空运专线' }, ] }, // 货运系统--航班预配 { path: '/domdep', component: HomeNew, name: '国内出港', iconCls: 'el-icon-position', children: [ { path: '/preConfiguration', component: preConfiguration, name: '航班预配' }, { path: '/allocate', component: allocate, name: '航班配载' }, { path: '/documents', component: documents, name: '航班文件' }, { path: '/charge', component: charge, name: '付费处理' } ] }, { path: '/admin', component: HomeNew, name: '系统设置', iconCls: 'el-icon-setting',//图标样式class leaf: false, 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: '/guestService', component: HomeNew, name: '客服系统', iconCls: 'fa fa-id-card-o', children: [ { path: '/process', component: Process, name: '工单管理' }, { path: '/job', component: Job, name: '任务管理' }, {path: '/pre1', component: PreManifest, name: '预配'}, ] }, { path: '/output', component: HomeNew, name: '国际出港业务申报', iconCls: 'el-icon-collection', children: [ {path: '/flight', component: ExitFlight, name: '出港航班申报'}, {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, {path: '/pre', component: ExitPre, name: '国际出港预配舱单'}, {path: '/arrive', component: ExitArrive, name: '出港运抵'}, {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'}, {path: '/loading', component: ExitLoading, name: '出港装载'}, {path: '/tidy', component: ExitTidy, name: '出港理货'} ] }, { path: '/radioMsgImport', component: HomeNew, name: '航空报文导入', iconCls:'el-icon-goods', children:[ {path:'/ffmRadioMsgImport',component:importFFMMsg,name:'FFM报文导入'}, {path:'/fhlRadioMsgImport',component:importFHLMsg,name:'FHL报文导入'}, {path:'/fwbRadioMsgImport',component:importFWBMsg,name:'FWB报文导入'} ] }, { path: '/sec', component: HomeNew, name: '国际安检清单申报管理', iconCls: 'el-icon-collection', children: [ {path: '/security', component: Security, name: '国际安检清单申报'} ] }, { path: '/output', component: HomeNew, name: '国内出港业务申报', iconCls: 'el-icon-collection', children: [ {path: '/flight', component: ExitFlight, name: '出港航班申报'}, {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, {path: '/pre', component: ExitPre, name: '国内出港预配舱单'}, {path: '/arrive', component: ExitArrive, name: '出港运抵'}, {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'}, {path: '/loading', component: ExitLoading, name: '出港装载'}, {path: '/tidy', component: ExitTidy, name: '出港理货'} ] }, { path: '/output', component: HomeNew, name: '国内进港业务申报', iconCls: 'el-icon-collection', children: [ {path: '/flight', component: ExitFlight, name: '出港航班申报'}, {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, {path: '/pre', component: ExitPre, name: '国内进港预配舱单'}, {path: '/arrive', component: ExitArrive, name: '出港运抵'}, {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'}, {path: '/loading', component: ExitLoading, name: '出港装载'}, {path: '/tidy', component: ExitTidy, name: '出港理货'} ] }, { path: '/sec', component: HomeNew, name: '国内安检清单申报管理', iconCls: 'el-icon-collection', children: [ {path: '/security', component: Security, name: '国内安检清单申报'} ] }, { path: '/nmms2', component: HomeNew, name: '进港业务申报', iconCls: 'fa fa-id-card-o', children: [ { path: '/orig', component: OrigFlightList, name: '进港航班申报' }, {path:'/waybill',component:Waybill,name:'进港运单申报'}, {path:'/allocateSearch',component:AllocateSearch,name:'运单分拨申报'}, { path: '/enter', component: EnterFlightInfo, name: '原始舱单'}, { path: '/cross', component: Cross, name: '进港原始跨天配置'}, { path:'/origmaster',component:OrigMaster,name:'进港原始舱单'}, {path:'/entertall',component:EnterTally,name:'进港理货'}, {path:'/tallymaster',component:TallyMster,name:'进港理货舱单'}, {path:'/importallocation',component:Importallocation,name:'进港分拨'}, {path:'/allocatearrive',component:Allocatearrive,name:'分拨运抵'}, {path:'/statis',component:statis,name:'进港舱单统计'} ] }, // 货运系统--航班预配 { path: '/flight_scheduling', component: HomeNew, name: '航班计划', iconCls: 'el-icon-delete-location', children: [ { path: '/inquiry', component: inquiry, name: '航班计划查询' }, ] }, { path: '/lost', component: HomeNew, name: '落装改配申报', iconCls:'el-icon-goods', children:[ {path:'/lostLoad',component:LostLoad,name:'落装业务申报'}, {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'}, ] }, { path: '/airtransport', component: HomeNew, name: '通用业务申报', iconCls:'el-icon-goods', children:[ {path:'/route',component:Route,name:'航线申报'}, {path:'/bill',component:Bill,name:'单据申报'}, {path:'/flights',component:Flight,name:'航班申报'}, {path:'/flightplan',component:Flightplan,name:'当日飞行计划'}, {path:'/aircraft',component:Aircraft,name:'通用航空器申报'}, {path:'/routeaircraft',component:Routeaircraft,name:'航线航空器申报'}, {path:'/queryForConfigure',component:queryForConfigure,name:'预报申报配置'}, {path:'/conryForConfigure',component:conForConfigure,name:'确报申报配置'}, ] }, { path: '/querytransport', component: HomeNew, name: '通用业务查询', iconCls:'el-icon-goods', children:[ {path:'/queryRoute',component:queryRoute,name:'航线查询'}, {path:'/queryBill',component:queryBill,name:'单据查询'}, {path:'/queryFlights',component:queryFlight,name:'航班查询'}, {path:'/queryFlightplan',component:queryFlightplan,name:'当日飞行计划查询'}, {path:'/queryAircraft',component:queryAircraft,name:'通用航空器查询'}, {path:'/queryRouteaircraft',component:queryRouteaircraft,name:'航线航空器查询'}, ] }, { path: '/input', component: HomeNew, name: '进港航班申报', iconCls:'el-icon-goods', children:[ {path:'/arrival',component:arrival,name:'进港预报申报'}, {path:'/confirmatory',component:confirmatory,name:'进港确报申报'}, {path:'/queryArrival',component:queryArrival,name:'进港预报查询'}, {path:'/queryConfirmatory',component:queryConfirmatory,name:'进港确报查询'}, {path:'/configure',component:configure,name:'进港航班配置'}, {path:'/queryConfigure',component:queryConfigure,name:'航班配置查询'}, ] }, { path: '/con', component: HomeNew, name: '收发货人管理', iconCls:'el-icon-goods', children:[ {path:'/consigner',component:Consigner,name:'发货人管理'}, {path:'/consignee',component:Consignee,name:'收货人管理'}, {path:'/transport',component:Transport,name:'转运申请'}, ] }, { path: '/cargo_shipper', component: HomeNew, name: '货主信息管理', iconCls:'el-icon-goods', children:[ {path: '/shipper',component: Shipper,name: '货主信息管理'} ] }, { path: '/', component: HomeNew, name: '转关运抵', iconCls: 'el-icon-delete-location', children: [ {path:'/transit',component:transit,name:'转关运抵申报'}, ] }, { path: '/workflow', component: HomeNew, name: '流程管理', iconCls: 'el-icon-goods', children: [ {path:'/technological',component:technological,name:'部署管理'}, {path:'/example',component:example,name:'部署实例管理'}, {path:'/task',component:task,name:'任务管理'}, ] }, { path: '/out', component: HomeNew, name: '出港航班申报', iconCls:'el-icon-goods', children:[ {path:'/departure',component:departure,name:'出港预报申报'}, {path:'/declare',component:declare,name:'出港确报申报'}, {path:'/queryDeparture',component:queryDeparture,name:'出港预报查询'}, {path:'/queryDeclare',component:queryDeclare,name:'出港确报查询'}, {path:'/outConfigure',component:outConfigure,name:'出港航班配置'}, {path:'/queryFlightConfigure',component:queryFlightConfigure,name:'航班配置查询'}, ] }, { path: '/at', component: HomeNew, name: '在港动态', iconCls:'el-icon-goods', children:[ {path:'/dynamics',component:dynamics,name:'在港动态信息'}, {path:'/matter',component:matter,name:'物料申报管理'} ] }, { path: '/', component: HomeNew, name: '国际转运', iconCls:'el-icon-goods', children:[ {path:'/transfer',component:transfer,name:'国际转运'}, // {path:'/transpour',component:transpour,name:'转运导入'} ] }, { path: '/express-system', component: HomeNew, name: '快邮舱单申报', iconCls:'el-icon-wind-power', children:[ {path:'/express',component:Express,name:'快邮舱单申报'}, ] }, { path: '/', component: HomeNew, 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-truck', children: [ {path: '/dispatch', component: Dispatch, name: '车辆调度'}, {path: '/dispatchNode', component: DispatchNode, name: '调度记录'}, {path: '/vehicleInfo', component: VehicleInfo, name: '车辆信息'}, {path: '/driverInfo', component: DriverInfo, name: '驾驶员信息'}, // {path: '/companyInfo', component: CompanyInfo, name: '公司信息'}, ] }, { path: '/empt', component: HomeNew, name: '能源管理', iconCls: 'fa fa-id-card-o', children: [ { path: '/location', component: Location, name: '能源缴费' }, ] }, { path: '/satff', component: HomeNew, name: '生活保障部门', iconCls: 'fa fa-id-card-o', children: [ { path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' }, { path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' }, { path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' }, { path: '/come_car', component: ComeCar, name: '职工公寓外来人员车辆登记管理' }, { path: '/on_duty', component: OnDuty, name: '职工公寓值班巡视记录管理' }, ] }, { path: '/water_heating_chamber', component: HomeNew, name: '水暖室', iconCls: 'fa fa-address-card', // leaf: true,//只有一个节点 children: [ { path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' }, { path: '/page6', component: Page6, name: '水质量检测' }, { path: '/page6', component: Page6, name: '污水站' }, { path: '/page6', component: Page6, name: '一水厂' }, { path: '/page6', component: Page6, 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 };