2026-08-28 15:06:01 +08:00
|
|
|
import { createRouter, createWebHistory } from 'vue-router'
|
|
|
|
|
import MainLayout from '../layouts/MainLayout.vue'
|
|
|
|
|
|
|
|
|
|
const routes = [
|
|
|
|
|
{ path: '/login', name: 'Login', component: () => import('../pages/Login.vue'), meta: { title: '登录' } },
|
|
|
|
|
{
|
|
|
|
|
path: '/',
|
|
|
|
|
component: MainLayout,
|
|
|
|
|
children: [
|
|
|
|
|
{ path: '', redirect: '/work-order' },
|
|
|
|
|
{ path: 'work-order', name: 'WorkOrder', component: () => import('../pages/WorkOrder.vue'), meta: { title: '工单管理' } },
|
2026-08-28 17:42:50 +08:00
|
|
|
{ path: 'bom', name: 'Bom', component: () => import('../pages/Bom.vue'), meta: { title: '物料清单' } },
|
2026-08-28 15:06:01 +08:00
|
|
|
{ path: 'material-request', name: 'MaterialRequest', component: () => import('../pages/MaterialRequest.vue'), meta: { title: '备料单' } },
|
|
|
|
|
{ path: 'plc-send', name: 'PlcSend', component: () => import('../pages/PlcSend.vue'), meta: { title: 'PLC工序下发' } },
|
|
|
|
|
{ path: 'torque', name: 'Torque', component: () => import('../pages/Torque.vue'), meta: { title: '拧紧查询' } },
|
|
|
|
|
{ path: 'scan', name: 'Scan', component: () => import('../pages/Scan.vue'), meta: { title: '扫码报工' } },
|
|
|
|
|
{ path: 'trace', name: 'Trace', component: () => import('../pages/Trace.vue'), meta: { title: '工件追溯' } },
|
|
|
|
|
{ path: 'product-type', name: 'ProductType', component: () => import('../pages/ProductType.vue'), meta: { title: '产品类型' } },
|
|
|
|
|
{ path: 'event-log', name: 'EventLog', component: () => import('../pages/EventLog.vue'), meta: { title: '操作日志' } },
|
2026-08-28 17:03:03 +08:00
|
|
|
{ path: 'change-password', name: 'ChangePassword', component: () => import('../pages/ChangePassword.vue'), meta: { title: '修改密码' } },
|
2026-08-28 15:06:01 +08:00
|
|
|
{ path: 'rbac', name: 'Rbac', component: () => import('../pages/Rbac.vue'), meta: { title: '角色权限管理' } }
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{ path: '/:pathMatch(.*)*', redirect: '/work-order' }
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const router = createRouter({ history: createWebHistory(), routes })
|
|
|
|
|
|
|
|
|
|
router.beforeEach((to) => {
|
|
|
|
|
if (to.path !== '/login' && !localStorage.getItem('token')) {
|
|
|
|
|
return { path: '/login', query: to.fullPath ? { redirect: to.fullPath } : {} }
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
router.afterEach((to) => {
|
|
|
|
|
document.title = to.meta?.title ? `${to.meta.title} - MES 产线控制` : 'MES 产线控制'
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export default router
|