routes.js 7.7 KB
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 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 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 echarts from './views/charts/echarts.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 queryConfirmatory from './views/airtransport/queryConfirmatory.vue'
import configure from './views/airtransport/configure.vue'
import queryConfigure from './views/airtransport/queryConfigure.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 Security from './views/security/security.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: '/',
        component: Home,
        name: '海关货物流转',
        iconCls: 'el-icon-delete-location',
        children: [
            { path: '/Page6', component: Page6, name: '申请列表' },
            { path: '/Page7', component: Page7, 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: '/yard', component: Yard, name: '场站管理'},
            {path: '/bayonet', component: Bayonet, name: '卡口管理'},
            {path: '/warehouse', component: Warehouse, name: '仓库管理'},
        ]
    },


    {
        path: '/',
        component: Home,
        name: 'Charts',
        iconCls: 'fa fa-bar-chart',
        children: [
            {path: '/echarts', component: echarts, name: 'echarts'}
        ]
    },
    {
        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
};