123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617 |
- // eslint-disable-next-line
- import * as loginService from '@/api/upms/login'
- // eslint-disable-next-line
- import { UserLayout, BasicLayout, BlankLayout, RouteView, PageView } from '@/layouts'
- import { GlobalConstant } from '@/constant'
- import BaseTool from '../utils/tool'
- // 前端路由表
- const constantRouterComponents = {
- // 基础页面 layout 必须引入
- 'UserLayout': UserLayout,
- 'BasicLayout': BasicLayout,
- 'BlankLayout': BlankLayout,
- 'RouteView': RouteView,
- 'PageView': PageView,
- '403': () => import(/* webpackChunkName: "error" */ '@/views/exception/403'),
- '404': () => import(/* webpackChunkName: "error" */ '@/views/exception/404'),
- '500': () => import(/* webpackChunkName: "error" */ '@/views/exception/500'),
- 'IndexView': () => import(/* webpackChunkName: "error" */ '@/views/index/Index'),
- // form
- 'BasicForm': () => import('@/views/form/BasicForm'),
- 'StepForm': () => import('@/views/form/stepForm/StepForm'),
- 'AdvanceForm': () => import('@/views/form/advancedForm/AdvancedForm'),
- // list
- 'TableList': () => import('@/views/list/TableList'),
- 'StandardList': () => import('@/views/list/StandardList'),
- 'CardList': () => import('@/views/list/CardList'),
- 'SearchLayout': () => import('@/views/list/search/SearchLayout'),
- 'SearchArticles': () => import('@/views/list/search/Article'),
- 'SearchProjects': () => import('@/views/list/search/Projects'),
- 'SearchApplications': () => import('@/views/list/search/Applications'),
- 'ProfileBasic': () => import('@/views/profile/basic/Index'),
- 'ProfileAdvanced': () => import('@/views/profile/advanced/Advanced'),
- // upms
- 'Dept': () => import('@/views/upms/dept/Dept'),
- 'User': () => import('@/views/upms/user/User'),
- 'Role': () => import('@/views/upms/role/Role'),
- 'Menu': () => import('@/views/upms/menu/Menu'),
- 'Dict': () => import('@/views/upms/dict/Dict'),
- 'Notice': () => import('@/views/upms/notice/SysNotice'),
- 'Log': () => import('@/views/upms/log/Log'),
- 'Task': () => import('@/views/upms/task/Task'),
- 'Config': () => import('@/views/upms/config/Config'),
- 'SysTeam': () => import('@/views/upms/team/SysTeam'),
- // result
- 'ResultSuccess': () => import(/* webpackChunkName: "result" */ '@/views/result/Success'),
- 'ResultFail': () => import(/* webpackChunkName: "result" */ '@/views/result/Error'),
- // exception
- 'Exception403': () => import(/* webpackChunkName: "fail" */ '@/views/exception/403'),
- 'Exception404': () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'),
- 'Exception500': () => import(/* webpackChunkName: "fail" */ '@/views/exception/500'),
- // account
- 'AccountCenter': () => import('@/views/account/center/Index'),
- 'AccountSettings': () => import('@/views/account/settings/Index'),
- // 其他组件
- 'IconSelectorView': () => import('@/views/other/IconSelectorView'),
- 'TreeList': () => import('@/views/other/TreeList'),
- 'TableInnerEditList': () => import('@/views/other/TableInnerEditList'),
- 'UserList': () => import('@/views/other/UserList'),
- 'RoleList': () => import('@/views/other/RoleList'),
- 'SystemRoleList': () => import('@/views/role/RoleList'),
- 'PermissionList': () => import('@/views/other/PermissionList'),
- // 设备类型
- 'SbType': () => import('@/views/sb/type/SbType'),
- // 设备位置
- 'SbPosition': () => import('@/views/sb/position/SbPosition'),
- // 设别规格
- 'SbGuige': () => import('@/views/sb/guige/SbGuige'),
- // 设别基础信息
- 'SbInfo': () => import('@/views/sb/info/SbInfo'),
- // 测量设备基础信息
- 'MeasureSbInfo': () => import('@/views/sb/measure/MeasureSbInfo'),
- // 测量设备预警台账
- 'MeasureSbInfoWarn': () => import('@/views/sb/measure/MeasureSbInfoWarn'),
- // 测量设备-检定记录
- 'MeasureLog': () => import('@/views/sb/measurelog/MeasureLog'),
- // 特种设备基础信息
- 'SpecialSbInfo': () => import('@/views/sb/info/SpecialSbInfo'),
- // 父子设备树
- 'ParentSbInfo': () => import('@/views/sb/info/ParentSbInfo'),
- // 设别型号库
- 'SbModel': () => import('@/views/sb/model/SbModel'),
- // 设备bom
- 'SbModelBom': () => import('@/views/sb/modelbom/SbModelBom'),
- // 设备型号筛选对应的备件bom
- 'SbModelSpareListBom': () => import('@/views/sb/modelbom/SbModelSpareListBom'),
- // 设备树
- 'SbInfoTree': () => import('@/views/sb/info/SbInfoTree'),
- // 部件类别
- 'PartType': () => import('@/views/part/type/PartType'),
- // 部件信息
- 'PartInfo': () => import('@/views/part/info/PartInfo'),
- // 部件信息
- 'SbInfoForPartInfo': () => import('@/views/sb/info/SbInfoForPartInfo'),
- // 备件类别
- 'SpareType': () => import('@/views/sqarepartmanage/sparetype/SpareType'),
- // 备件基础信息
- 'SparePartInfo': () => import('@/views/sqarepartmanage/sparepartinfo/SparePartInfo'),
- 'SparePartInfoCheckWarn': () => import('@/views/sqarepartmanage/sparepartinfo/SpareStoreTotalCheckStock'),
- 'SparePartInfoPrint': () => import('@/views/sqarepartmanage/sparepartinfo/SparePartInfoPrint'),
- // 备件库存汇总
- 'SpareStoreTotal': () => import('@/views/sqarepartmanage/sparepartinfo/SpareStoreTotal'),
- // 备件库存汇总预警
- 'SpareStoreTotalMinStock': () => import('@/views/sqarepartmanage/sparepartinfo/SpareStoreTotalMinStock'),
- // 备件使用信息
- 'SparePartUsed': () => import('@/views/sqarepartmanage/sparepartused/SparePartUsed'),
- // 点检
- 'SpotCheckStandard': () => import('@/views/check/checkstandard/SpotCheckStandard'),
- 'SpotCheckProject': () => import('@/views/check/checkproject/SpotCheckProject'),
- 'SpotCheckPlan': () => import('@/views/check/checkplan/SpotCheckPlan'),
- 'SpotCheckJob': () => import('@/views/check/checkjob/SpotCheckJob'),
- // 保养
- 'PollingCheckStandard': () => import('@/views/check/checkstandard/PollingCheckStandard'),
- 'PollingCheckProject': () => import('@/views/check/checkproject/PollingCheckProject'),
- 'PollingCheckPlan': () => import('@/views/check/checkplan/PollingCheckPlan'),
- 'PollingCheckJob': () => import('@/views/check/checkjob/PollingCheckJob'),
- 'PollingCheckJobOverTime': () => import('@/views/check/checkjob/PollingCheckJobOverTime'),
- 'PollingCheckJobFinish': () => import('@/views/check/checkjob/PollingCheckJobFinish'),
- // 润滑
- 'RunCheckStandard': () => import('@/views/check/checkstandard/RunCheckStandard'),
- 'RunCheckProject': () => import('@/views/check/checkproject/RunCheckProject'),
- 'RunCheckPlan': () => import('@/views/check/checkplan/RunCheckPlan'),
- 'RunCheckJob': () => import('@/views/check/checkjob/RunCheckJob'),
- // 工器具校准
- 'AdjustCheckStandard': () => import('@/views/check/checkstandard/AdjustCheckStandard'),
- 'AdjustCheckProject': () => import('@/views/check/checkproject/AdjustCheckProject'),
- 'AdjustCheckPlan': () => import('@/views/check/checkplan/AdjustCheckPlan'),
- 'AdjustCheckJob': () => import('@/views/check/checkjob/AdjustCheckJob'),
- // 特种设备定期检验
- 'SpecialCheckStandard': () => import('@/views/check/checkstandard/SpecialCheckStandard'),
- 'SpecialCheckProject': () => import('@/views/check/checkproject/SpecialCheckProject'),
- 'SpecialCheckPlan': () => import('@/views/check/checkplan/SpecialCheckPlan'),
- 'SpecialCheckJob': () => import('@/views/check/checkjob/SpecialCheckJob'),
- // 仓库信息
- 'Store': () => import('@/views/store/store/Store'),
- // 备件库存
- 'SpareStore': () => import('@/views/store/sparestore/SpareStore'),
- // 备件二级库存
- 'SpareStoreSecond': () => import('@/views/store/sparestoresecond/SpareStoreSecond'),
- // 入库登记单
- 'InStoreForm': () => import('@/views/store/instoreform/InStoreForm'),
- // 出库登记单
- 'OutStoreForm': () => import('@/views/store/outstoreform/OutStoreForm'),
- // 调拨登记单
- 'TransferStoreForm': () => import('@/views/store/transferstoreform/TransferStoreForm'),
- // 备件领用详情
- 'SparePickDetail': () => import('@/views/store/sparepickdetail/SparePickDetail'),
- // 备件领用登记单
- 'SparePickForm': () => import('@/views/store/sparepickform/SparePickForm'),
- // 备件回收详情
- 'SpareRecoveryDetail': () => import('@/views/store/sparerecoverydetail/SpareRecoveryDetail'),
- // 备件回收登记单
- 'SpareRecoveryForm': () => import('@/views/store/sparerecoveryform/SpareRecoveryForm'),
- // 备件退库详情
- 'SpareRestoreDetail': () => import('@/views/store/sparerestoredetail/SpareRestoreDetail'),
- // 备件退库登记单
- 'SpareRestoreForm': () => import('@/views/store/sparerestoreform/SpareRestoreForm'),
- // 备件退货详情
- 'SpareBackDetail': () => import('@/views/store/sparebackdetail/SpareBackDetail'),
- // 备件退货登记单
- 'SpareBackForm': () => import('@/views/store/sparebackform/SpareBackForm'),
- // 入库详情
- 'InStoreDetail': () => import('@/views/store/instoredetail/InStoreDetail'),
- // 出库详情
- 'OutStoreDetail': () => import('@/views/store/outstoredetail/OutStoreDetail'),
- // 调拨详情
- 'TransferStoreDetail': () => import('@/views/store/transferstoredetail/TransferStoreDetail'),
- // 报修单
- 'RepairApplicationForm': () => import('@/views/repair/application-form/RepairApplicationForm'),
- 'RepairOut': () => import('@/views/repair/application-form/RepairOut'),
- // 验收单
- 'RepairCheckForm': () => import('@/views/repair/application-form/RepairCheckForm'),
- // 维修单
- 'RepairForm': () => import('@/views/repair/application-form/RepairForm'),
- 'MRepairForm': () => import('@/views/repair/application-form/MyRepairForm'),
- 'MyRepairForm': () => import('@/views/repair/form/MyRepairForm'),
- // 验收单
- 'RepairCheck': () => import('@/views/repair/check/RepairCheck'),
- // 故障类别
- 'ErrorType': () => import('@/views/repair/errortype/ErrorType'),
- // 维修费用单
- 'RepairFee': () => import('@/views/repair/fee/RepairFee'),
- // 维修项目
- 'RepairProject': () => import('@/views/repair/repairproject/RepairProject'),
- 'RepairReason': () => import('@/views/repair/repair-reason/RepairReason'),
- // 生产商
- 'FirmProducer': () => import('@/views/firm/producer/FirmProducer'),
- // 报表管理
- 'MonthlySbThreeRate': () => import('@/views/monthly/sb-three-rate/MonthlySbThreeRateView'),
- // 工作票管理
- 'Ticket': () => import('@/views/ticket/ticket/Ticket'),
- 'TicketSafe': () => import('@/views/ticket/ticketsafe/TicketSafe'),
- 'TicketExecute': () => import('@/views/ticket/ticketexecute/TicketExecute'),
- 'TicketSafeExecute': () => import('@/views/ticket/ticketsafeexecute/TicketSafeExecute'),
- // 日常管理
- 'FillInfo': () => import('@/views/fill/info/FillInfo'),
- 'FillGather': () => import('@/views/fill/gather/FillGather'),
- 'SbInspectionFill': () => import('@/views/sb/inspection-fill/SbInspectionFill'),
- 'MySbInspectionFill': () => import('@/views/sb/inspection-fill/MySbInspectionFill'),
- 'ZGSbInspectionFill': () => import('@/views/sb/inspection-fill/ZGSbInspectionFill'),
- 'AdminSbInspectionFill': () => import('@/views/sb/inspection-fill/AdminSbInspectionFill'),
- 'SbRunFill': () => import('@/views/sb/run-fill/SbRunFill'),
- 'ZGSbRunFill': () => import('@/views/sb/run-fill/ZGSbRunFill'),
- 'MySbRunFill': () => import('@/views/sb/run-fill/MySbRunFill'),
- 'AdminSbRunFill': () => import('@/views/sb/run-fill/AdminSbRunFill'),
- // 仓库月报表
- 'StoreMonthReport': () => import('@/views/report/store/StoreMonthReport'),
- // 出入库明细+汇总
- 'ReportInStoreDetail': () => import('@/views/report/instoredetail/InStoreDetail'),
- 'MyReportInStoreDetail': () => import('@/views/report/instoredetail/MyInStoreDetail'),
- 'ReportOutStoreDetail': () => import('@/views/report/outstoredetail/OutStoreDetail'),
- 'MyReportOutStoreDetail': () => import('@/views/report/outstoredetail/MyOutStoreDetail'),
- 'ReportInStoreCount': () => import('@/views/report/instorecount/InStoreCount'),
- 'ReportOutStoreCount': () => import('@/views/report/outstorecount/OutStoreCount'),
- 'ReportSparePartInfo': () => import('@/views/report/sparepartinfo/SparePartInfo'),
- 'ReportSparePickDetail': () => import('@/views/report/sparepickdetail/SparePickDetail'),
- 'MyReportSparePickDetail': () => import('@/views/report/sparepickdetail/MySparePickDetail'),
- 'ReportSparePickCount': () => import('@/views/report/sparepickcount/SparePickCount'),
- 'StatisticsRepairFormSb': () => import('@/views/statistics/repair/StatisticsRepairFormSb'),
- 'StatisticsRepairFormMonth': () => import('@/views/statistics/repair/StatisticsRepairFormMonthView'),
- 'StatisticsRepairFormErrorType': () => import('@/views/statistics/repair/StatisticsRepairFormErrorTypeView'),
- 'StatisticsSparePartUsedSpare': () => import('@/views/statistics/spare/StatisticsSparePartUsedSpare'),
- 'StatisticsRepairFormUser': () => import('@/views/statistics/repair/StatisticsRepairFormUserView'),
- 'WorkplaceBacklog': () => import('@/views/workplace/backlog/WorkplaceBacklog'),
- 'Supplier': () => import('@/views/purchase/supplier/Supplier'),
- 'SupplierApply': () => import('@/views/purchase/supplier/SupplierApply'),
- 'PurchaseDemandPlan': () => import('@/views/purchase/purchase-demand-plan/PurchaseDemandPlan'),
- 'PurchasePlan': () => import('@/views/purchase/purchase-plan/PurchasePlan'),
- 'PurchasePayment': () => import('@/views/purchase/purchase-payment/PurchasePaymentPage'),
- 'PurchaseReimburse': () => import('@/views/purchase/purchase-reimburse/PurchaseReimbursePage'),
- 'PurchaseOrder': () => import('@/views/purchase/purchase-order/PurchaseOrder'),
- 'PurchaseApply': () => import('@/views/purchase/purchase-apply/PurchaseApply'),
- 'PurchaseDispatchOrderPage': () => import('@/views/purchase/purchase-dispatch-order/PurchaseDispatchOrderPage'),
- 'Model': () => import('@/views/activiti/model/Model'),
- 'Flow': () => import('@/views/activiti/flow/Flow'),
- 'MyTask': () => import('@/views/activiti/task/MyTask'),
- // 调拨申请
- 'SbAllocateApply': () => import('@/views/sb/allocate-apply/ProjectSbAllocateApply'),
- 'GroupToProjectSbAllocateApply': () => import('@/views/sb/allocate-apply/GroupToProjectSbAllocateApply'),
- 'ProjectToProjectSbAllocateApply': () => import('@/views/sb/allocate-apply/ProjectToProjectSbAllocateApply'),
- 'MySbAllocateApply': () => import('@/views/sb/allocate-apply/MySbAllocateApply'),
- 'ZGSbAllocateApply': () => import('@/views/sb/allocate-apply/ZGSbAllocateApply'),
- 'XmbZgSbAllocateApply': () => import('@/views/sb/allocate-apply/XmbZgSbAllocateApply'),
- 'FgsZgSbAllocateApply': () => import('@/views/sb/allocate-apply/FgsZgSbAllocateApply'),
- // 调拨审批
- 'SbAllocateTaskAudit': () => import('@/views/sb/allocate-task/SbAllocateTaskAudit'),
- 'SbOilUser': () => import('@/views/sb/oil/SbOilUser'),
- 'SbOilTask': () => import('@/views/sb/oil/SbOilTask'),
- 'SbOilAudit': () => import('@/views/sb/oil/SbOilAudit'),
- 'MySbOil': () => import('@/views/sb/oil/MySbOil'),
- 'ZGSbOil': () => import('@/views/sb/oil/ZGSbOil'),
- 'AdminSbOil': () => import('@/views/sb/oil/AdminSbOil'),
- // 我的功能
- 'ProjectStore': () => import('@/views/store/store/ProjectStore'),
- 'CompanyStore': () => import('@/views/store/store/CompanyStore'),
- 'MyStore': () => import('@/views/store/store/MyStore'),
- 'MyInStoreForm': () => import('@/views/store/instoreform/MyInStoreForm'),
- 'MyOutStoreForm': () => import('@/views/store/outstoreform/MyOutStoreForm'),
- 'MyTransferStoreForm': () => import('@/views/store/transferstoreform/MyTransferStoreForm'),
- 'MySparePickForm': () => import('@/views/store/sparepickform/MySparePickForm'),
- 'MySbInfo': () => import('@/views/sb/info/MySbInfo'),
- 'ProjectSbInfo': () => import('@/views/sb/info/ProjectSbInfo'),
- 'BanzuSbInfo': () => import('@/views/sb/info/BanzuSbInfo'),
- 'CompanySbInfo': () => import('@/views/sb/info/CompanySbInfo'),
- 'MySpareStore': () => import('@/views/store/sparestore/MySpareStore'),
- 'MySpareStoreTotal': () => import('@/views/store/sparestore/MySpareStoreTotal'),
- 'MyRunCheckJob': () => import('@/views/check/checkjob/MyRunCheckJob'),
- 'MyPollingCheckJob': () => import('@/views/check/checkjob/MyPollingCheckJob'),
- 'MyPollingCheckJobFinish': () => import('@/views/check/checkjob/MyPollingCheckJobFinish'),
- 'MyPollingCheckJobOverTime': () => import('@/views/check/checkjob/MyPollingCheckJobOverTime'),
- 'MySpotCheckJob': () => import('@/views/check/checkjob/MySpotCheckJob'),
- // 验收单
- 'SbCheckForm': () => import('@/views/sb/sbcheckform/SbCheckForm'),
- 'FillProjectQuantity': () => import('@/views/fill/project-quantity/FillProjectQuantity'),
- 'SbCheckDetail': () => import('@/views/sb/sbcheckdetail/SbCheckDetail'),
- 'Article': () => import('@/views/operate/article/Article'),
- // 备件盘点
- 'StoreCheckPlan': () => import('@/views/store/storecheckplan/StoreCheckPlan'),
- 'StoreCheckJob': () => import('@/views/store/storecheckjob/StoreCheckJob'),
- // 设备盘点
- 'SbStoreCheckPlan': () => import('@/views/sb/storecheckplan/StoreCheckPlan'),
- 'SbStoreCheckJob': () => import('@/views/sb/storecheckjob/StoreCheckJob'),
- // 保养任务日程表
- 'CheckJobCalendar': () => import('@/views/check/checkjob/CheckJobCalendar'),
- // 设备状态变更表
- 'SbStatusLog': () => import('@/views/sb/status-log/SbStatusLog'),
- // 设备停机记录表
- 'SbStopLog': () => import('@/views/sb/stop-logs/SbStopLog'),
- // 设备安装调试过程记录
- 'SbInfoDebug': () => import('@/views/sb/info/SbInfoDebug'),
- // 设备试车过程记录
- 'SbInfoTestRun': () => import('@/views/sb/info/SbInfoTestRun'),
- // 设备报废
- 'SbInfoScrap': () => import('@/views/sb/scrap/SbInfoScrap'),
- // 设备维护标准
- 'SbInfoStandard': () => import('@/views/sb/info/SbInfoStandard'),
- // 导入
- 'Imp': () => import('@/views/upms/impExcel/Imp'),
- // 低值易耗品管理
- 'InStoreFormDZ': () => import('@/views/dz/InStoreFormDZ'), // 入库登记单
- 'OutStoreFormDZ': () => import('@/views/dz/OutStoreFormDZ'), // 出库登记单
- 'TransferStoreFormDZ': () => import('@/views/dz/TransferStoreFormDZ'), // 调拨登记单
- 'SparePickFormDZ': () => import('@/views/dz/SparePickFormDZ'), // 领用登记单
- 'SpareBackFormDZ': () => import('@/views/dz/SpareBackFormDZ'), // 退库登记单
- // 报表
- 'AnalysisSbInfo': () => import('@/views/dashboard/AnalysisSbInfo'), // 保养任务完成率报表
- 'CheckJobReport': () => import('@/views/dashboard/CheckJobReport'), // 保养任务完成率报表
- 'CheckJobReportWeek': () => import('@/views/dashboard/CheckJobReportWeek'), // 保养任务周工作负荷统计报表
- 'RepairReport': () => import('@/views/dashboard/RepairReport'), // >24小时停机次数按月统计
- 'RepairReportSbAll': () => import('@/views/dashboard/RepairReportSbAll'), // 设备故障次数按月统计
- 'RepairReportSbInfo': () => import('@/views/dashboard/RepairReportSbInfo'), // 设备维修报表
- 'RepairReportSbInfoFee': () => import('@/views/dashboard/RepairReportSbInfoFee'), // 设备维修费用报表
- 'RepairReportMttr': () => import('@/views/dashboard/RepairReportMttr'), // MTTR月统计报表
- 'RepairReportFee': () => import('@/views/dashboard/RepairReportFee') // 费用按月统计
- }
- // 前端未找到页面路由(固定不用改)
- const notFoundRouter = {
- path: '*', redirect: '/404', hidden: true
- }
- // 根级菜单
- const rootRouter = {
- key: 'RootIndex',
- path: '/',
- url: '/',
- name: 'index',
- component: 'BasicLayout',
- meta: { title: '首页' },
- redirect: '/WorkplaceBacklog',
- type: 1,
- children: []
- }
- /**
- * 基础路由
- * @type { *[] }
- */
- export const constantRouterMap = [
- {
- path: '/user',
- component: UserLayout,
- redirect: '/user/login',
- hidden: true,
- children: [
- {
- path: 'login',
- name: 'login',
- component: () => import(/* webpackChunkName: "user" */ '@/views/Login')
- },
- {
- path: '/work/scan',
- name: 'scan',
- component: () => import(/* webpackChunkName: "user" */ '@/views/Scan')
- },
- {
- path: 'register',
- name: 'register',
- component: () => import(/* webpackChunkName: "user" */ '@/views/Register')
- },
- {
- path: 'register-result',
- name: 'registerResult',
- component: () => import(/* webpackChunkName: "user" */ '@/views/RegisterResult')
- },
- {
- path: 'recover',
- name: 'recover',
- component: undefined
- }
- ]
- },
- {
- path: '/demo',
- component: BlankLayout,
- redirect: '/demo/test',
- hidden: true,
- children: [
- {
- path: 'test',
- name: 'test',
- component: () => import(/* webpackChunkName: "user" */ '@/views/test/BaseFormBak')
- }
- ]
- },
- {
- path: '/screen',
- component: BlankLayout,
- redirect: '/screen/leader',
- children: [
- {
- path: 'leader',
- name: 'LeaderScreen',
- component: () => import('@/views/big-screen/LeaderScreen')
- }
- ]
- },
- {
- path: '/repairScreen',
- component: BlankLayout,
- redirect: '/screen/repair',
- children: [
- {
- path: 'RepairScreen',
- name: 'RepairScreen',
- component: () => import('@/views/big-screen/RepairScreen')
- }
- ]
- },
- {
- path: '/404',
- component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
- },
- {
- path: '/single/login',
- name: 'SingleLogin',
- component: () => import('@/views/white-list/SingleLogin'),
- meta: {
- title: '单点登录',
- keepAlive: false,
- hiddenHeaderContent: true,
- target: null,
- permission: ''
- },
- hidden: true,
- hideChildrenInMenu: true
- },
- {
- path: '/result/success',
- name: 'ResultSuccess',
- component: () => import(/* webpackChunkName: "result" */ '@/views/result/Success'),
- meta: {
- title: '结果页',
- keepAlive: false,
- hiddenHeaderContent: true,
- target: null,
- permission: ''
- },
- hidden: true,
- hideChildrenInMenu: true
- }
- ]
- /**
- * 默认菜单
- */
- const defaultRouter = {
- key: 'RootDefault',
- path: '/default',
- url: '/default',
- name: 'default',
- component: BasicLayout,
- meta: { title: '默认' },
- redirect: '/account/settings',
- type: 1,
- children: [
- {
- path: '/account/center',
- name: 'center',
- component: constantRouterComponents['AccountCenter'],
- meta: {
- title: '个人中心',
- keepAlive: false,
- hiddenHeaderContent: false,
- target: null,
- permission: ''
- },
- hidden: true,
- hideChildrenInMenu: true
- },
- {
- path: '/account/settings',
- name: 'settings',
- component: constantRouterComponents['AccountSettings'],
- meta: {
- title: '个人设置',
- keepAlive: false,
- hiddenHeaderContent: true,
- target: null,
- permission: ''
- },
- hidden: true,
- hideChildrenInMenu: true
- }]
- }
- /**
- * 动态生成菜单
- * @param token
- * @returns {Promise<Router>}
- */
- export const generatorDynamicRouter = (menus) => {
- return new Promise((resolve, reject) => {
- try {
- const menuNav = []
- // 后端数据, 根级树数组, 根级 PID,后端已转为树型 解构
- // listToTree(result, childrenNav, 0)
- rootRouter.children = menus
- menuNav.push(rootRouter)
- const routers = generator(menuNav)
- routers.push(notFoundRouter)
- routers.push(defaultRouter)
- resolve(routers)
- } catch (e) {
- reject(e)
- }
- })
- }
- /**
- * 格式化树形结构数据 生成 vue-router 层级路由表
- *
- * @param routerMap
- * @param parent
- * @returns {*}
- */
- export const generator = (routerMap, parent) => {
- return routerMap.map(itemTree => {
- let item = itemTree.item
- if (BaseTool.Object.isBlank(item)) {
- item = itemTree
- }
- item.children = itemTree.children
- // 如果不是菜单则跳过
- if (GlobalConstant.MenuTypeMenu === item.type) {
- return null
- }
- // path: '/dashboard',
- // name: 'dashboard',
- // redirect: '/dashboard/workplace', // 可以做父路由到子路由的跳转
- // component: RouteView,
- // meta: { title: '仪表盘', keepAlive: true, icon: bxAnaalyse, permission: [ 'dashboard' ] },
- const { title, visible, hideChildren, hiddenHeaderContent, target, icon } = item || {}
- const myComponent = constantRouterComponents[item.component || item.name]
- const currentRouter = {
- // 如果路由设置了 path,则作为默认 path,否则 路由地址 动态拼接生成如 /dashboard/workplace
- path: item.url || `${parent && parent.url || ''}/${item.name}`,
- // 路由名称,建议唯一
- name: item.name,
- // 该路由对应页面的 组件 :方案1
- component: myComponent,
- // 该路由对应页面的 组件 :方案2 (动态加载)
- // component: constantRouterComponents[item.component || item.key] || () => import(`@/views/${item.component}`),
- // meta: 页面标题, 菜单图标, 页面权限(供指令权限用,可去掉)
- meta: { title: title, icon: icon || undefined, keepAlive: false, hiddenHeaderContent: hiddenHeaderContent || false, target: target, permission: item.permission }
- }
- // 是否设置了隐藏菜单
- if (visible === false) {
- currentRouter.hidden = true
- }
- // 是否设置了隐藏子菜单
- if (hideChildren || visible === false) {
- currentRouter.hideChildrenInMenu = true
- }
- // 为了防止出现后端返回结果不规范,处理有可能出现拼接出两个 反斜杠
- if (!currentRouter.path.startsWith('http')) {
- currentRouter.path = currentRouter.path.replace('//', '/')
- }
- // 重定向
- item.redirect && (currentRouter.redirect = item.redirect)
- // 是否有子菜单,并递归处理
- if (item.children && item.children.length > 0) {
- // Recursion
- currentRouter.children = generator(item.children, currentRouter)
- }
- return currentRouter
- })
- }
- /**
- * 数组转树形结构
- * @param list 源数组
- * @param tree 树
- * @param parentId 父ID
- */
- // const listToTree = (list, tree, parentId) => {
- // list.forEach(item => {
- // // 判断是否为父级菜单
- // if (item.parentId === parentId) {
- // const child = {
- // ...item,
- // key: item.key || item.name,
- // children: []
- // }
- // // 迭代 list, 找到当前菜单相符合的所有子菜单
- // listToTree(list, child.children, item.id)
- // // 删掉不存在 children 值的属性
- // if (child.children.length <= 0) {
- // delete child.children
- // }
- // // 加入到树中
- // tree.push(child)
- // }
- // })
- // }
|