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 <keep-alive> (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 constantRoutes = [
|
{
|
path: '/login',
|
component: () => import('@/views/login/index'),
|
hidden: true
|
},
|
{
|
path: '/404',
|
component: () => import('@/views/404'),
|
hidden: true
|
},
|
{
|
path: '/',
|
component: Layout,
|
redirect: '/home',
|
children: [{
|
path: 'home',
|
name: 'Home',
|
component: () => import('@/views/home/index'),
|
meta: { title: '主页', icon: 'el-icon-s-home' }
|
}]
|
},
|
{
|
path: '/standardLibrary',
|
component: Layout,
|
children: [
|
{
|
path: 'index',
|
name: 'StandardLibrary',
|
component: () => import('@/views/standardLibrary/index'),
|
meta: { title: '标准库', icon: 'form' }
|
}
|
]
|
},
|
{
|
path: '/rawMaterials',
|
component: Layout,
|
redirect: '/rawMaterials/reportForInspection',
|
name: 'rawMaterials',
|
meta: { title: '原材料报检', icon: 'el-icon-s-help' },
|
children: [
|
{
|
path: 'reportForInspection',
|
name: 'ReportForInspection',
|
component: () => import('@/views/rawMaterials/reportForInspection/index'),
|
meta: { title: '原材料报检', icon: 'table' }
|
},
|
{
|
path: 'print',
|
name: 'Print',
|
component: () => import('@/views/rawMaterials/print/index'),
|
meta: { title: '条码打印', icon: 'tree' }
|
},
|
{
|
path: 'planAssignments',
|
name: 'PlanAssignments',
|
component: () => import('@/views/rawMaterials/planAssignments/index'),
|
meta: { title: '检验计划分配', icon: 'tree' }
|
},
|
{
|
path: 'rawMaterialInspection',
|
name: 'RawMaterialInspection',
|
component: () => import('@/views/rawMaterials/rawMaterialInspection/index'),
|
meta: { title: '原材料检验', icon: 'tree' }
|
},
|
{
|
path: 'checkTheReport',
|
name: 'CheckTheReport',
|
component: () => import('@/views/rawMaterials/checkTheReport/index'),
|
meta: { title: '检验报告', icon: 'tree' }
|
},
|
{
|
path: 'reportAuditing',
|
name: 'ReportAuditing',
|
component: () => import('@/views/rawMaterials/reportAuditing/index'),
|
meta: { title: '报告审核', icon: 'tree' }
|
},
|
{
|
path: 'nonConformanceReview',
|
name: 'NonConformanceReview',
|
component: () => import('@/views/rawMaterials/nonConformanceReview/index'),
|
meta: { title: '不合格反馈', icon: 'tree' }
|
},
|
{
|
path: 'nonConformingFeedback',
|
name: 'NonConformingFeedback',
|
component: () => import('@/views/rawMaterials/nonConformingFeedback/index'),
|
meta: { title: '不合格评审', icon: 'tree' }
|
},
|
{
|
path: 'passRateStatistics',
|
name: 'PassRateStatistics',
|
component: () => import('@/views/rawMaterials/passRateStatistics/index'),
|
meta: { title: '合格率统计', icon: 'tree' }
|
}
|
]
|
},
|
{
|
path: '/finishedProduct',
|
component: Layout,
|
redirect: '/finishedProduct/reportForInspection',
|
name: 'FinishedProduct',
|
meta: { title: '成品检验', icon: 'el-icon-s-help' },
|
children: [
|
{
|
path: 'reportForInspection',
|
name: 'ReportForInspection',
|
component: () => import('@/views/rawMaterials/reportForInspection/index'),
|
meta: { title: '成品送检登记', icon: 'table' }
|
},
|
{
|
path: 'print',
|
name: 'Print',
|
component: () => import('@/views/rawMaterials/print/index'),
|
meta: { title: '条码打印', icon: 'tree' }
|
},
|
{
|
path: 'planAssignments',
|
name: 'PlanAssignments',
|
component: () => import('@/views/rawMaterials/planAssignments/index'),
|
meta: { title: '检验计划分配', icon: 'tree' }
|
},
|
{
|
path: 'rawMaterialInspection',
|
name: 'RawMaterialInspection',
|
component: () => import('@/views/rawMaterials/rawMaterialInspection/index'),
|
meta: { title: '成品检验', icon: 'tree' }
|
},
|
{
|
path: 'checkTheReport',
|
name: 'CheckTheReport',
|
component: () => import('@/views/rawMaterials/checkTheReport/index'),
|
meta: { title: '检验报告', icon: 'tree' }
|
},
|
{
|
path: 'reportAuditing',
|
name: 'ReportAuditing',
|
component: () => import('@/views/rawMaterials/reportAuditing/index'),
|
meta: { title: '报告审核', icon: 'tree' }
|
},
|
{
|
path: 'nonConformanceReview',
|
name: 'NonConformanceReview',
|
component: () => import('@/views/rawMaterials/nonConformanceReview/index'),
|
meta: { title: '不合格反馈', icon: 'tree' }
|
},
|
{
|
path: 'nonConformingFeedback',
|
name: 'NonConformingFeedback',
|
component: () => import('@/views/rawMaterials/nonConformingFeedback/index'),
|
meta: { title: '不合格评审', icon: 'tree' }
|
},
|
{
|
path: 'passRateStatistics',
|
name: 'PassRateStatistics',
|
component: () => import('@/views/rawMaterials/passRateStatistics/index'),
|
meta: { title: '合格率统计', icon: 'tree' }
|
}
|
]
|
},
|
{
|
path: '/laboratory',
|
component: Layout,
|
redirect: '/laboratory/ledger',
|
name: 'Laboratory',
|
meta: { title: '实验室管理', icon: 'el-icon-s-help' },
|
children: [
|
{
|
path: 'ledger',
|
name: 'Ledger',
|
component: () => import('@/views/laboratory/ledger/index'),
|
meta: { title: '设备台账', icon: 'table' }
|
},
|
{
|
path: 'measure',
|
name: 'Measure',
|
component: () => import('@/views/laboratory/measure/index'),
|
meta: { title: '计量管理', icon: 'tree' }
|
},
|
{
|
path: 'gather',
|
name: 'Gather',
|
component: () => import('@/views/laboratory/gather/index'),
|
meta: { title: '设备采集', icon: 'tree' }
|
},
|
{
|
path: 'personnel',
|
name: 'Personnel',
|
component: () => import('@/views/laboratory/personnel/index'),
|
meta: { title: '人员管理', icon: 'tree' }
|
}
|
]
|
},
|
{
|
path: '/chart',
|
component: Layout,
|
redirect: '/chart/center',
|
name: 'Chart',
|
meta: { title: '智能图表', icon: 'el-icon-s-help' },
|
children: [
|
{
|
path: 'center',
|
name: 'center',
|
component: () => import('@/views/chart/center/index'),
|
meta: { title: '实验中心', icon: 'table' }
|
},
|
{
|
path: 'spc',
|
name: 'Spc',
|
component: () => import('@/views/chart/spc/index'),
|
meta: { title: 'SPC控制图', icon: 'tree' }
|
},
|
{
|
path: 'shota',
|
name: 'Shota',
|
component: () => import('@/views/chart/shota/index'),
|
meta: { title: '正太分布图', icon: 'tree' }
|
},
|
{
|
path: 'work',
|
name: 'Work',
|
component: () => import('@/views/chart/work/index'),
|
meta: { title: '工作统计', icon: 'tree' }
|
}
|
]
|
},
|
{
|
path: '/message',
|
component: Layout,
|
redirect: '/message/message',
|
name: 'Message',
|
meta: { title: '消息待办', icon: 'el-icon-s-help' },
|
children: [
|
{
|
path: 'message',
|
name: 'Message',
|
component: () => import('@/views/message/message/index'),
|
meta: { title: '我的消息', icon: 'table' }
|
},
|
{
|
path: 'toDo',
|
name: 'ToDo',
|
component: () => import('@/views/message/toDo/index'),
|
meta: { title: '我的待办', icon: 'tree' }
|
}
|
]
|
},
|
{
|
path: '/personal',
|
component: Layout,
|
redirect: '/personal/myInformation',
|
name: 'Personal',
|
meta: { title: '个人管理', icon: 'el-icon-s-help' },
|
children: [
|
{
|
path: 'myInformation',
|
name: 'MyInformation',
|
component: () => import('@/views/personal/myInformation/index'),
|
meta: { title: '我的信息', icon: 'table' }
|
},
|
{
|
path: 'myBusiness',
|
name: 'MyBusiness',
|
component: () => import('@/views/personal/myBusiness/index'),
|
meta: { title: '我的企业', icon: 'tree' }
|
}
|
]
|
},
|
// 404 page must be placed at the end !!!
|
{ path: '*', redirect: '/404', hidden: true }
|
]
|
|
const createRouter = () => new Router({
|
// mode: 'history', // require service support
|
scrollBehavior: () => ({ y: 0 }),
|
routes: constantRoutes
|
})
|
|
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
|