import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) /* Layout */ import Layout from '@/layout' /** * Note: sub-menu only appear when route children.length >= 1 * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html * * hidden: true if set true, item will not show in the sidebar(default is false) * alwaysShow: true if set true, will always show the root menu * if not set alwaysShow, when item has more than one children route, * it will becomes nested mode, otherwise not show the root menu * redirect: noRedirect if set noRedirect will no redirect in the breadcrumb * name:'router-name' the name is used by (must set!!!) * meta : { roles: ['admin','editor'] control the page roles (you can set multiple roles) title: 'title' the name show in sidebar and breadcrumb (recommend set) icon: 'svg-name'/'el-icon-x' the icon show in the sidebar breadcrumb: false if set false, the item will hidden in breadcrumb(default is true) activeMenu: '/example/list' if set path, the sidebar will highlight the path you set } */ /** * constantRoutes * a base page that does not have permission requirements * all roles can be accessed */ export const commonRoutes = [ /* * 看板部分路由 * */ { path: '/zhkb', component: () => import('@/views/kb/zhkb'), hidden: true }, { path: '/ckgl', component: () => import('@/views/kb/ckgl'), hidden: true }, { path: '/cgdd', component: () => import('@/views/kb/cgdd'), hidden: true }, { path: '/zhkbc', component: () => import('@/views/kb/zhkbc'), hidden: true }, { path: '/zngc', component: () => import('@/views/kb/zngc'), hidden: true }, { path: '/login', component: () => import('@/views/login/index'), hidden: true }, { path: '/404', component: () => import('@/views/404'), hidden: true }, { path: '/redirect', component: Layout, hidden: true, children: [ { path: '/redirect/:path(.*)', component: () => import('@/views/redirect/index') } ] }, { path: '/', component: Layout, redirect: '/index', name: '系统首页', children: [{ path: 'index', name: 'index', component: () => import('@/views/xtsy/index'), meta: { title: '系统首页', icon: 'home', affix: true } }] } // { path: '*', redirect: '/404', hidden: true } ] export const asyncRoutes = [ // 1.系统管理(基础设置类) { path: '/systemSetting', component: Layout, redirect: '/systemSetting/organizationList', name: '系统管理', code: '2001', meta: { code: '2001', title: '系统管理', icon: 'xtsz' }, alwaysShow: true, // 当children只有一个时,也显示父菜单 children: [ { path: 'organizationList', name: 'organizationListCancel', code: '1010', component: () => import('@/views/jcsz/zzjg'), meta: { code: '1010', title: '组织架构', icon: '', keepAlive: true } }, { path: 'roleList', name: 'roleListCancel', code: '1012', component: () => import('@/views/jcsz/jsqd'), meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true } } ] }, // 2.客户管理 { path: '/basicSettings', component: Layout, redirect: '/basicSettings/userList', name: '客户管理', code: '2002', meta: { code: '2002', title: '客户管理', icon: 'khgl' }, alwaysShow: true, // 当children只有一个时,也显示父菜单 children: [ { path: 'userList', name: 'userListCancel', code: '1011', component: () => import('@/views/jcsz/yhqd'), meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true } }, { path: 'contactUnitList', name: 'contactUnitListCancel', code: '1013', component: () => import('@/views/jcsz/wldw'), meta: { code: '1013', title: '往来单位', icon: '', keepAlive: true } } ] }, // 3.数据采集管理 sop上传 灵翔项目的看下 { path: '/dataCollect', component: Layout, redirect: '/dataCollect/purchasesList', name: '数据采集管理', code: '2003', meta: { code: '2003', title: '数据采集管理', icon: 'cggl' }, alwaysShow: true, children: [ { path: 'purchasesList', name: 'CGDDCancel', code: '1104', component: () => import('@/views/xtsz/sc'), meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true } } ] }, // 4.订单管理 { path: '/orderManager', component: Layout, redirect: '/orderManager/erpProduceOrder', name: '生产管理', code: '2004', meta: { code: '2004', title: '生产管理', icon: 'production' }, alwaysShow: true, children: [ { path: 'erpProduceOrder', name: 'produceOrderCancel', code: '1070', component: () => import('@/views/scgl/scdd'), meta: { code: '1070', title: 'ERP生产订单', icon: '', keepAlive: true } } ] }, // 5.物料计划管理 // { // path: '/materialPlanManager', // component: Layout, // redirect: '/materialPlanManager/materialList', // name: '物料计划管理', // code: '2005', // meta: { code: '2005', title: '物料计划管理', icon: 'icu' }, // alwaysShow: true, // children: [ // { // path: 'materialList', // name: 'materialListCancel', // code: '1062', // component: () => import('@/views/zzmx/wlqd'), // meta: { code: '1062', title: '物料清单', icon: '', keepAlive: true } // } // ] // }, // 6.质量管理 { path: '/qualityManager', component: Layout, redirect: '/qualityManager/defectDefine', name: '质量管理', code: '2006', meta: { code: '2006', title: '质量管理', icon: 'quality' }, alwaysShow: true, children: [ { path: 'defectDefine', name: 'defectDefineCancel', code: '1081', component: () => import('@/views/zlgl/qxdy'), meta: { code: '1081', title: '缺陷定义', icon: '', keepAlive: true } } // { // path: 'qualityPlaning', // name: 'ZJFACancel', // code: '1088', // component: () => import('@/views/qualityManager/qualityPlaning'), // meta: { code: '1088', title: '质检方案', icon: '', keepAlive: true } // } ] }, // 7.工序管理 { path: '/processManager', component: Layout, redirect: '/processManager/processCheck', name: '工序管理', code: '2007', meta: { code: '2007', title: '工序管理', icon: 'gxgl' }, alwaysShow: true, children: [ { path: 'processCheck', name: 'processCheckCancel', code: '1082', component: () => import('@/views/zlgl/gxjy'), meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true } }, { path: 'processCheckStandard', name: 'processCheckStandardCancel', code: '1085', component: () => import('@/views/zlgl/gxjybz'), meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true } }, { path: 'processCheckItem', name: 'processCheckItemCancel', code: '1086', component: () => import('@/views/zlgl/gxjyxm'), meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true } }, { path: 'processCheckRecord', name: 'processCheckRecordCancel', code: '1087', component: () => import('@/views/zlgl/gxjyjl'), meta: { code: '1087', title: '工序检验记录', icon: '', keepAlive: true } } ] }, // 8.人力资源管理 { path: '/resourcesManager', component: Layout, redirect: '/resourcesManager/groupSalaryList', name: '人力资源管理', code: '2008', meta: { code: '1008', title: '人力资源管理', icon: 'rlzy' }, alwaysShow: true, children: [ // { // path: 'groupSalaryList', // name: 'groupSalaryListCancel', // code: '1090', // component: () => import('@/views/bbgl/bzgz'), // meta: { code: '1090', title: '班组工资统计报表', icon: '', keepAlive: true } // }, { path: 'personSalaryList', name: 'personSalaryListCancel', code: '1091', component: () => import('@/views/bbgl/rygz'), meta: { code: '1091', title: '人员工资明细报表', icon: '', keepAlive: true } }, { path: 'subcontractingOperation', name: 'subcontractingOperationCancel', code: '1092', component: () => import('@/views/bbgl/wwgx'), meta: { code: '1092', title: '委外工序明细报表', icon: '', keepAlive: true } } ] }, // 9.智能报表 { path: '/reportManager', component: Layout, redirect: '/reportManager/defectDetailList', name: '智能报表', code: '2009', meta: { code: '2009', title: '智能报表', icon: 'bbgl' }, alwaysShow: true, children: [ { path: 'defectDetailList', name: 'defectDetailListCancel', code: '1093', component: () => import('@/views/bbgl/blmx'), meta: { code: '1093', title: '不良明细报表', icon: '', keepAlive: true } }, { path: 'abnormalQualityList', name: 'abnormalQualityListCancel', code: '1094', component: () => import('@/views/bbgl/pzyc'), meta: { code: '1094', title: '品质异常排行报表', icon: '', keepAlive: true } }, { path: 'repairDetailList', name: 'repairDetailListCancel', code: '1095', component: () => import('@/views/bbgl/wxmx'), meta: { code: '1095', title: '维修明细报表', icon: '', keepAlive: true } } // { // path: 'installationLampList', // name: 'installationLampListCancel', // code: '1096', // component: () => import('@/views/reportManager/installationLampList'), // meta: { code: '1096', title: '安灯报表', icon: '', keepAlive: true } // } ] }, // 10.库存管理 { path: '/inventoryManager', component: Layout, redirect: '/inventoryManager/storehouseDefine', name: '库存管理', code: '2010', meta: { code: '2010', title: '库存管理', icon: 'table' }, alwaysShow: true, children: [ { path: 'storehouseDefine', name: 'storehouseDefineCancel', code: '1050', component: () => import('@/views/wlgl/ckdy'), meta: { code: '1050', title: '仓库定义', icon: '', keepAlive: true } }, { path: 'locationDefine', name: 'locationDefineCancel', code: '1051', component: () => import('@/views/wlgl/kwdy'), meta: { code: '1051', title: '库位定义', icon: '', keepAlive: true } } // { // path: 'containerType', // name: 'containerTypeCancel', // code: '1052', // component: () => import('@/views/materialManager/containerType'), // meta: { code: '1052', title: '容器类型', icon: '', keepAlive: true } // }, { // path: 'containerList', // name: 'containerListCancel', // code: '1053', // component: () => import('@/views/materialManager/containerList'), // meta: { code: '1053', title: '容器清单', icon: '', keepAlive: true } // }, { // path: 'inOutboundRecord', // name: 'inOutboundRecordCancel', // code: '1054', // component: () => import('@/views/materialManager/inOutboundRecord'), // meta: { code: '1054', title: '出入库记录', icon: '', keepAlive: true } // }, { // path: 'inventoryQuery', // name: 'inventoryQueryCancel', // code: '1055', // component: () => import('@/views/materialManager/inventoryQuery'), // meta: { code: '1055', title: '库存查询', icon: '', keepAlive: true } // }, // { // path: 'InventoryLedgerList', // name: 'InventoryLedgerListCancel', // code: '1205', // component: () => import('@/views/purchasesManager/InventoryLedgerList'), // meta: { code: '1205', title: '库存台账', icon: '', keepAlive: true } // } ] }, // 11.采购管理 // { // path: '/purchasesManager', // component: Layout, // redirect: '/purchasesManager/purchasesList', // name: '采购管理', // code: '2011', // meta: { code: '2011', title: '采购管理', icon: 'cggl' }, // alwaysShow: true, // children: [ // { // path: 'purchasesList', // name: 'CGDDCancel', // code: '1201', // component: () => import('@/views/purchasesManager/purchasesList'), // meta: { code: '1201', title: '采购订单', icon: '', keepAlive: true } // }, { // path: 'arrivalNoticeList', // name: 'arrivalNoticeListCancel', // code: '1202', // component: () => import('@/views/purchasesManager/arrivalNoticeList'), // meta: { code: '1202', title: '采购收货单', icon: '', keepAlive: true } // } // ] // }, // 12.销售管理 // { // path: '/sale', // component: Layout, // redirect: '/sale/salesStatisticsList', // name: '销售管理', // code: '2012', // meta: { code: '2012', title: '销售管理', icon: 'xsgl' }, // alwaysShow: true, // children: [ // { // path: 'salesStatisticsList', // name: 'salesStatisticsCancel', // code: '1203', // component: () => import('@/views/purchasesManager/salesStatisticsList'), // meta: { code: '1203', title: '销售订单', icon: '', keepAlive: true } // }, { // path: 'goodsStatisticsList', // name: 'goodsStatisticsListCancel', // code: '1204', // component: () => import('@/views/purchasesManager/goodsStatisticsList'), // meta: { code: '1204', title: '销货单', icon: '', keepAlive: true } // } // ] // }, // 13.工单管理 { path: '/work', component: Layout, redirect: '/work/workOrder', name: '工单管理', code: '2013', meta: { code: '2013', title: '工单管理', icon: 'gzgl' }, alwaysShow: true, children: [ { path: 'workOrder', name: 'workOrderCancel', code: '1071', component: () => import('@/views/scgl/gd'), meta: { code: '1071', title: 'MES工单', icon: '', keepAlive: true } }, { path: 'workOrderBatchClose', name: 'workOrderBatchCloseCancel', code: '1074', component: () => import('@/views/scgl/gdplgb'), meta: { code: '1074', title: 'MES工单批量关闭', icon: '', keepAlive: true } }, { path: 'updateWorkOrder', name: 'XGBGCancel', code: '1077', component: () => import('@/views/scgl/xgbg'), meta: { code: '1077', title: '修改报工', icon: '', keepAlive: true } } ] }, // 14.工单排产 // { // path: '/produceManager', // component: Layout, // redirect: '/produceManager/produceOrder', // name: '工单排产', // code: '2014', // meta: { code: '2014', title: '工单排产', icon: 'scgl' }, // alwaysShow: true, // children: [ // { // path: 'AutoScheduling', // name: 'AutoSchedulingCancel', // code: '1076', // component: () => import('@/views/produceManager/AutoScheduling'), // meta: { code: '1076', title: '自动排程', icon: '', keepAlive: true } // } // ] // }, // 15.生产管理 { path: '/extendedModule', component: Layout, redirect: '/extendedModule/produceStartOrder', name: '生产管理', code: '2015', meta: { code: '2015', title: '生产管理', icon: 'tree2' }, alwaysShow: true, // 当children只有一个时,也显示父菜单 children: [ { path: 'produceStartOrder', name: 'produceStartOrderCancel', code: '1073', component: () => import('@/views/scgl/sckbg'), meta: { code: '1073', title: '生产开报工', icon: '', keepAlive: true } } // { // path: 'capacityPlanning', // name: 'capacityPlanningCancel', // code: '1075', // component: () => import('@/views/produceManager/capacityPlanning'), // meta: { code: '1075', title: '产能规划', icon: '', keepAlive: true } // } ] }, // 16.工艺管理 { path: '/makeModel', component: Layout, redirect: '/makeModel/processRoute', name: '车间管理', code: '2016', meta: { code: '2016', title: '车间管理', icon: 'cjgl' }, alwaysShow: true, children: [ { path: 'processRoute', name: 'processRouteCancel', code: '1063', component: () => import('@/views/zzmx/gylx'), meta: { code: '1063', title: '工艺路线', icon: '', keepAlive: true } }, { path: 'processDefine', name: 'processDefineCancel', code: '1064', component: () => import('@/views/zzmx/gxdy'), meta: { code: '1064', title: '工序定义', icon: '', keepAlive: true } }, { path: 'meterPrice', name: 'meterPriceCancel', code: '1065', component: () => import('@/views/zzmx/jpgj'), meta: { code: '1065', title: '节拍工价', icon: '', keepAlive: true } } ] }, // 17.设备管理 { path: '/deviceManager', component: Layout, redirect: '/deviceManager/deviceList', name: '设备管理', code: '2017', meta: { code: '2017', title: '设备管理', icon: 'example' }, alwaysShow: true, children: [ { path: 'deviceList', name: 'deviceListCancel', code: '1022', component: () => import('@/views/sbgl/sbqd'), meta: { code: '1022', title: '设备清单', icon: '', keepAlive: true } } // { // path: 'checkStandard', // name: 'checkStandardCancel', // code: '1023', // component: () => import('@/views/deviceManager/checkStandard'), // meta: { code: '1023', title: '设备点检标准', icon: '', keepAlive: true } // }, // { // path: 'checkPosition', // name: 'checkPositionCancel', // code: '1024', // component: () => import('@/views/deviceManager/checkPosition'), // meta: { code: '1024', title: '设备点检部位', icon: '', keepAlive: true } // }, // { // path: 'maintainStandard', // name: 'maintainStandardCancel', // code: '1025', // component: () => import('@/views/deviceManager/maintainStandard'), // meta: { code: '1025', title: '设备保养标准', icon: '', keepAlive: true } // }, // { // path: 'maintainPosition', // name: 'maintainPositionCancel', // code: '1026', // component: () => import('@/views/deviceManager/maintainPosition'), // meta: { code: '1026', title: '设备保养部位', icon: '', keepAlive: true } // }, // { // path: 'checkRecord', // name: 'checkRecordCancel', // code: '1027', // component: () => import('@/views/deviceManager/checkRecord'), // meta: { code: '1027', title: '设备点检记录', icon: '', keepAlive: true } // }, // { // path: 'maintainRecord', // name: 'maintainRecordCancel', // code: '1028', // component: () => import('@/views/deviceManager/maintainRecord'), // meta: { code: '1028', title: '设备保养记录', icon: '', keepAlive: true } // }, // { // path: 'repairRecord', // code: '1029', // name: 'repairRecordCancel', // component: () => import('@/views/deviceManager/repairRecord'), // meta: { code: '1029', title: '设备维修记录', icon: '', keepAlive: true } // } ] }, // 18.其它ERP集成 { path: '/otherErp', component: Layout, redirect: '/otherErp/InventoryList', name: '其它ERP集成', code: '2018', meta: { code: '2018', title: '其它ERP集成', icon: 'erpjc' }, alwaysShow: true, children: [ { path: 'InventoryList', name: 'InventoryListCancel', code: '1061', component: () => import('@/views/zzmx/chda'), meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true } } ] }, { path: '/kanbanManager', component: Layout, redirect: '/kanbanManager/zhkb', name: '智慧看板', code: '2023', meta: { title: '智慧看板', icon: 'zhkb' }, alwaysShow: true, children: [ { path: 'zhkb', name: 'ZHKBCancel', component: () => import('@/views/kb/zhkb'), meta: { title: '综合看板', icon: '', keepAlive: true } }, { path: 'cgdd', name: 'cgddCancel', component: () => import('@/views/kb/cgdd'), meta: { title: '采购订单', icon: '', keepAlive: true } }, { path: 'ckgl', name: 'ckglCancel', component: () => import('@/views/kb/ckgl'), meta: { title: '仓库管理', icon: '', keepAlive: true } }, { path: 'xljgcj', name: 'ckglCancel', component: () => import('@/views/kb/zhkbc'), meta: { title: '下料金工车间', icon: '', keepAlive: true } }, // { // path: 'jgcj', // name: 'ckglCancel', // component: () => import('@/views/kb/zhkbc'), // meta: { title: '金工车间', icon: '', keepAlive: true } // }, { path: 'zpcj', name: 'ckglCancel', component: () => import('@/views/kb/zhkbc'), meta: { title: '装配车间', icon: '', keepAlive: true } } ] } // { // path: '/systemSettings', // component: Layout, // redirect: '/systemSettings/bmgz', // name: '系统设置', // code: '1009', // meta: { code: '1009', title: '系统设置', icon: 'xtsz' }, // alwaysShow: true, // children: [ // { // path: 'codingRules', // name: 'codingRulesCancel', // code: '1101', // component: () => import('@/views/systemSettings/codingRules'), // meta: { code: '1101', title: '编码规则', icon: '', keepAlive: true } // }, { // path: 'passwordEdit', // name: 'passwordEditCancel', // code: '1102', // component: () => import('@/views/systemSettings/passwordEdit'), // meta: { code: '1102', title: '密码修改', icon: '', keepAlive: true } // }, { // path: 'systemLog', // name: 'systemLogCancel', // code: '1103', // component: () => import('@/views/systemSettings/systemLog'), // meta: { code: '1103', title: '系统日志', icon: '', keepAlive: true } // }, { // path: 'sopUpload', // name: 'sopUploadCancel', // code: '1104', // component: () => import('@/views/systemSettings/sopUpload'), // meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true } // }, { // path: 'shopNotice', // name: 'shopNoticeCancel', // code: '1105', // component: () => import('@/views/systemSettings/shopNotice'), // meta: { code: '1105', title: '车间公告', icon: '', keepAlive: true } // } // ] // } ] const createRouter = () => new Router({ // mode: 'history', // require service support scrollBehavior: () => ({ y: 0 }), routes: commonRoutes }) const router = createRouter() // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export function resetRouter() { const newRouter = createRouter() router.matcher = newRouter.matcher // reset router } export default router