You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

627 lines
17 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
/* Layout */
import Layout from '@/layout'
/**
* Note: 路由配置项
*
* hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401login等页面或者如一些编辑页面/edit/1
* alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时自动会变成嵌套的模式--如组件页面
* // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
* // 若你想不管路由下面的 children 声明的个数都显示你的根路由
* // 你可以设置 alwaysShow: true这样它就会忽略之前定义的规则一直显示根路由
* redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
* name:'router-name' // 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题
* query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数
* roles: ['admin', 'common'] // 访问路由的角色权限
* permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限
* meta : {
noCache: true // 如果设置为true则不会被 <keep-alive> 缓存(默认 false)
title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
icon: 'svg-name' // 设置该路由的图标对应路径src/assets/icons/svg
breadcrumb: false // 如果设置为false则不会在breadcrumb面包屑中显示
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
}
*/
// 公共路由
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [
{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect')
}
]
},
{
path: '/login',
component: () => import('@/views/login'),
hidden: true
},
{
path: '/login2',
component: () => import('@/views/login2'),
hidden: true
},
{
path: '/register',
component: () => import('@/views/register'),
hidden: true
},
{
path: '/404',
component: () => import('@/views/error/404'),
hidden: true
},
{
path: '/401',
component: () => import('@/views/error/401'),
hidden: true
},
{
path: '',
component: Layout,
redirect: 'index',
children: [
{
path: 'index',
component: () => import('@/views/index'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
}
]
},
{
path: '/user',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: 'profile',
component: () => import('@/views/system/user/profile/index'),
name: 'Profile',
meta: { title: '个人中心', icon: 'user' }
}
]
},
]
// 动态路由,基于用户权限动态去加载
export const dynamicRoutes = [
{
path: '/system/user-auth',
component: Layout,
hidden: true,
permissions: ['system:user:edit'],
children: [
{
path: 'role/:userId(\\d+)',
component: () => import('@/views/system/user/authRole'),
name: 'AuthRole',
meta: { title: '分配角色', activeMenu: '/system/user' }
}
]
},
{
path: '/system/role-auth',
component: Layout,
hidden: true,
permissions: ['system:role:edit'],
children: [
{
path: 'user/:roleId(\\d+)',
component: () => import('@/views/system/role/authUser'),
name: 'AuthUser',
meta: { title: '分配用户', activeMenu: '/system/role' }
}
]
},
{
path: '/system/dict-data',
component: Layout,
hidden: true,
permissions: ['system:dict:list'],
children: [
{
path: 'index/:dictId(\\d+)',
component: () => import('@/views/system/dict/data'),
name: 'Data',
meta: { title: '字典数据', activeMenu: '/system/dict' }
}
]
},
{
path: '/monitor/job-log',
component: Layout,
hidden: true,
permissions: ['monitor:job:list'],
children: [
{
path: 'index/:jobId(\\d+)',
component: () => import('@/views/monitor/job/log'),
name: 'JobLog',
meta: { title: '调度日志', activeMenu: '/monitor/job' }
}
]
},
{
path: '/tool/gen-edit',
component: Layout,
hidden: true,
permissions: ['tool:gen:edit'],
children: [
{
path: 'index/:tableId(\\d+)',
component: () => import('@/views/tool/gen/editTable'),
name: 'GenEdit',
meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
}
]
},
{
path: "/dms/detail",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:flowCheckplanId(\\d+)",
component: () => import("@/views/dms/detail/index"),
name: "childDetail",
meta: { title: "查看盘点详细信息", activeMenu: "/dms/detail" },
},
],
},
{
path: "/dms/maintDetail",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:planMaintId(\\d+)/:planMaintCode",
component: () => import("@/views/dms/maintDetail/index"),
name: "childMaint",
meta: { title: "保养计划明细", activeMenu: "/dms/maintDetail" },
},
],
},
{
path: '/warehouse/allocateMaterial',
component: Layout,
hidden: true,
permissions: ['wms:wmswarehouse:materialallocate'],
children: [
{
path: 'index/:warehouseId(\\d+)',
component: () => import('@/views/wms/base/wmswarehouse/allocateMaterial'),
name: 'AllocateMaterial',
meta: { title: '仓库物料配置', activeMenu: '/wms/base/wmswarehouse' }
}
]
},
{
path: '/system/wfProcessActivityAuth',
component: Layout,
hidden: true,
permissions: ["system:wfProcessActivityAuth:list"],
children: [
{
path: 'index/:processActivityId(\\d+)',
component: () => import('@/views/system/common/wfProcessActivityAuth/index'),
name: 'AllocateMaterial',
meta: { title: '流程权限分配', activeMenu: '/system/common/wfProcessActivityAuth' }
}
]
},
{
path: "/dms/dmsRepairDetail",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:planMaintId(\\d+)",
component: () => import("@/views/dms/dmsRepairDetail/index"),
name: "childReapirDetaile",
meta: { title: "查看检修管理详细信息", activeMenu: "/dms/dmsRepairDetail" },
},
],
},
{
path: "/dms/dmsInspectRouteDetail",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:routeCode(\\d+)",
component: () => import("@/views/dms/dmsInspectRouteDetail/index"),
name: "childRouteDetail",
meta: { title: "查看巡检线路明细", activeMenu: "/dms/dmsInspectRouteDetail" },
},
],
},
//审批检修工单路由
{
path: "/dms/repairInstanceActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/repairInstanceActivity/index"),
name: "childInstanceUpdate",
meta: { title: "工单处理", activeMenu: "/repairInstanceActivity" },
},
],
},
{
path: '/mes/product-order',
component: Layout,
hidden: true,
permissions: ['mes:productOrder:bind'],
children: [
{
path: 'bind/:purchaseOrderId(\\d+)',
component: () => import('@/views/mes/purchaseOrder/bindOrder'),
name: 'orderBind',
meta: { title: '订单信息绑定', activeMenu: '/mes/purchaseOrder' }
}
]
},
{
path: '/mes/product-plan',
component: Layout,
hidden: true,
permissions: ['mes:productplan:edit'],
children: [
{
path: 'index/:productOrderId(\\d+)',
component: () => import('@/views/mes/productplan/editProductPlan'),
name: 'productPlanEdit',
meta: { title: '工单生产派工', activeMenu: '/mes/productplan' }
}
]
},
{
path: '/mes/production-scheduling',
component: Layout,
hidden: true,
permissions: ['mes:productplan:edit'],
children: [
{
path: 'index/:productOrderId(\\d+)',
component: () => import('@/views/mes/productOrder/productionScheduling'),
name: 'productionScheduling',
meta: { title: '工单排产', activeMenu: '/mes/productionScheduling' }
}
]
},
//查看工单路由,不可审批
{
path: "/dms/repairInstanceActivitySelect",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/repairInstanceActivity/index"),
name: "childInstanceSelect",
meta: { title: "工单查看", activeMenu: "/repairInstanceActivity" },
},
],
},
{
path: '/checkRule/checkRuleDetailConfig',
component: Layout,
hidden: true,
permissions: ['qms:checkrule:add'],
children: [
{
path: 'index/:checkRuleId(\\d+)',
component: () => import('@/views/qms/base/checkrule/checkRuleDetail'),
name: 'ConfigCheckRuleDetail',
meta: { title: '规则明细配置', activeMenu: '/qms/base/checkrule' }
}
]
},
//审批巡检工单路由
{
path: "/dms/dmsBillsInspectActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:inspectInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsInspectActivity/index"),
name: "childDmsBillsInspectActivity",
meta: { title: "工单详情", activeMenu: "/dmsBillsInspectActivity" },
},
],
},
//查看巡检工单路由
{
path: "/dms/dmsBillsInspectActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:inspectInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsInspectActivity/index"),
name: "selectDmsBillsInspectActivity",
meta: { title: "工单处理", activeMenu: "/dmsBillsInspectActivity" },
},
],
},
//审批润滑工单路由
{
path: "/dms/dmsBillsLubeInstanceActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:lubeInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"),
name: "childDmsBillsLubeInstanceActivity",
meta: { title: "工单详情", activeMenu: "/dmsBillsLubeInstanceActivity" },
},
],
},
//查看润滑工单路由
{
path: "/dms/dmsBillsLubeInstanceActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:lubeInstanceId(\\d+)",
component: () => import("@/views/dms/dmsBillsLubeInstanceActivity/index"),
name: "selectChildDmsBillsLubeInstanceActivity",
meta: { title: "工单处理", activeMenu: "/dmsBillsLubeInstanceActivity" },
},
],
},
//审批报修工单路由
{
path: "/dms/activity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:repairInstanceId(\\d+)",
component: () => import("@/views/dms/activity/index"),
name: "childDmsFaultInstanceActivity",
meta: { title: "工单详情", activeMenu: "/activity" },
},
],
},
//审批保养工单路由
{
path: "/dms/dmsMaintInstanceActivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:maintInstanceId(\\d+)",
component: () => import("@/views/dms/dmsMaintInstanceActivity/index"),
name: "childDmsMaintInstanceActivity",
meta: { title: "工单详情", activeMenu: "/dmsMaintInstanceActivity" },
},
],
},
{
path: '/dms/lubeDetail',
component: Layout,
hidden: true,
permissions: ['dms:lube:add'],
children: [
{
path: 'index/:planLubeId(\\d+)/:planLubeCode',
component: () => import('@/views/dms/lubeDetail/index'),
name: 'planLubeDetailEdit',
meta: { title: '润滑计划明细', activeMenu: '/dms/lube' }
}
]
},
{
path: '/dms/dmsBillsLubeDetail',
component: Layout,
hidden: true,
permissions: ['dms:lube:add'],
children: [
{
path: 'index/:planLubeId(\\d+)',
component: () => import('@/views/dms/dmsBillsLubeDetail/index'),
name: 'planLubeDetailEdit',
meta: { title: '润滑工单明细', activeMenu: '/dms/lube' }
}
]
},
{
path: '/dms/dmsBillsMaintDetail',
component: Layout,
hidden: true,
permissions: ['dms:maint:add'],
children: [
{
path: 'index/:planMaintId(\\d+)',
component: () => import('@/views/dms/dmsBillsMaintDetail/index'),
name: 'productPlanEdit',
meta: { title: '保养工单明细', activeMenu: '/dms/maint' }
}
]
},
{
path: '/wms/raw-outstock',
component: Layout,
hidden: true,
permissions: ['wms:rawoutstock:info'],
children: [
{
path: 'detail/:rawOutstockId/:detailFlag/:warehouseName',
component: () => import('@/views/wms/info/rawoutstock/rawOutstockDetail'),
name: 'RawOutStockDetail',
meta: { title: '原材料出库明细', activeMenu: '/wms/info/rawoutstock' }
}
]
},
{
path: '/wms/raw-outstock',
component: Layout,
hidden: true,
permissions: ['wms:rawoutstock:audit'],
children: [
{
path: 'audit/:taskCode/:detailFlag/:warehouseName',
component: () => import('@/views/wms/rawmanagement/rawoutstock/rawOutstockDetail'),
name: 'RawOutStockDetail',
meta: { title: '原材料出库审核', activeMenu: '/wms/rawmanagement/rawoutstock' }
}
]
},
{
path: '/wms/raw-return',
component: Layout,
hidden: true,
permissions: ['wms:rawreturn:info'],
children: [
{
path: 'detail/:rawReturnId/:detailFlag/:warehouseName',
component: () => import('@/views/wms/info/rawreturn/rawReturnDetail'),
name: 'RawReturnDetail',
meta: { title: '原材料退库明细', activeMenu: '/wms/info/rawreturn' }
}
]
},
{
path: '/wms/raw-return',
component: Layout,
hidden: true,
permissions: ['wms:rawreturn:audit'],
children: [
{
path: 'audit/:rawReturnId/:detailFlag/:warehouseName',
component: () => import('@/views/wms/rawmanagement/rawreturn/rawReturnDetail'),
name: 'RawReturnDetail',
meta: { title: '原材料退库审核', activeMenu: '/wms/rawmanagement/rawreturn' }
}
]
},
{
path: '/wms/inventory-check',
component: Layout,
hidden: true,
permissions: ['wms:inventoryCheck:detail'],
children: [
{
path: 'detail/:inventoryCheckId/:inventoryCheckCode/:warehouseName',
component: () => import('@/views/wms/info/inventoryCheck/detail'),
name: 'InventoryCheckDetail',
meta: { title: '盘点详情', activeMenu: '/wms/info/inventoryCheck' }
}
]
},
{
path: '/wms/move',
component: Layout,
hidden: true,
permissions: ['wms:move:detail'],
children: [
{
path: 'detail/:moveId/:taskCode/:warehouseName/:materialCode/:materialName',
component: () => import('@/views/wms/info/move/detail'),
name: 'moveDetail',
meta: { title: '移库合库详情', activeMenu: '/wms/info/move' }
}
]
},
//质检结果详细
{
path: "/qms/base/checkresultdetail",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:checkResultId(\\d+)",
component: () => import("@/views/qms/base/checkresultdetail/index"),
name: "checkResultDetail",
meta: { title: "质检结果详细", activeMenu: "/qms/base/checkresultdetail" },
},
],
},
// 质检工单实例
{
path: "/qms/base/qualityinstanceactivity",
component: Layout,
hidden: true,
permissions: ["tool:gen:edit"],
children: [
{
path: "index/:qualityInstanceId(\\d+)",
component: () => import("@/views/qms/base/qualityinstanceactivity/index"),
name: "checkQualityInstanceActivity",
meta: { title: "质检结果详细", activeMenu: "/qms/base/qualityinstanceactivity" },
},
],
},
]
// 防止连续点击多次路由报错
let routerPush = Router.prototype.push;
let routerReplace = Router.prototype.replace;
// push
Router.prototype.push = function push(location) {
return routerPush.call(this, location).catch(err => err)
}
// replace
Router.prototype.replace = function push(location) {
return routerReplace.call(this, location).catch(err => err)
}
export default new Router({
mode: 'history', // 去掉url中的#
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
})