2026-05-27 16:38:40 +08:00
|
|
|
import Vue from 'vue'
|
|
|
|
|
import VueRouter from 'vue-router'
|
|
|
|
|
|
|
|
|
|
Vue.use(VueRouter)
|
|
|
|
|
|
|
|
|
|
const routes = [
|
|
|
|
|
{
|
|
|
|
|
path: '/login',
|
|
|
|
|
name: 'Login',
|
|
|
|
|
component: () => import('@/views/Login.vue'),
|
|
|
|
|
meta: { title: '登录' }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/',
|
|
|
|
|
component: () => import('@/views/Layout.vue'),
|
|
|
|
|
meta: { requiresAuth: true },
|
2026-06-26 14:04:33 +08:00
|
|
|
redirect: '/plan',
|
2026-05-27 16:38:40 +08:00
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
path: 'material',
|
|
|
|
|
name: 'Material',
|
|
|
|
|
component: () => import('@/views/Material.vue'),
|
2026-07-06 15:31:28 +08:00
|
|
|
meta: { title: '实时参数', icon: 'el-icon-s-data', requiresAuth: true }
|
2026-05-27 16:38:40 +08:00
|
|
|
},
|
2026-06-27 14:20:10 +08:00
|
|
|
{
|
|
|
|
|
path: 'entry-tracking',
|
|
|
|
|
name: 'EntryTracking',
|
|
|
|
|
component: () => import('@/views/EntryTracking.vue'),
|
2026-07-06 15:31:28 +08:00
|
|
|
meta: { title: '物料跟踪', icon: 'el-icon-box', requiresAuth: true }
|
2026-06-27 14:20:10 +08:00
|
|
|
},
|
2026-05-27 16:38:40 +08:00
|
|
|
{
|
|
|
|
|
path: 'production',
|
|
|
|
|
name: 'Production',
|
|
|
|
|
component: () => import('@/views/Production.vue'),
|
|
|
|
|
meta: { title: '实绩管理', icon: 'el-icon-data-analysis', requiresAuth: true }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'plan',
|
|
|
|
|
name: 'Plan',
|
|
|
|
|
component: () => import('@/views/Plan.vue'),
|
|
|
|
|
meta: { title: '计划管理', icon: 'el-icon-date', requiresAuth: true }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'downtime',
|
|
|
|
|
name: 'Downtime',
|
|
|
|
|
component: () => import('@/views/Downtime.vue'),
|
|
|
|
|
meta: { title: '停机管理', icon: 'el-icon-warning-outline', requiresAuth: true }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'process-model',
|
|
|
|
|
name: 'ProcessModel',
|
|
|
|
|
component: () => import('@/views/ProcessModel.vue'),
|
|
|
|
|
meta: { title: '工艺段模型', icon: 'el-icon-cpu', requiresAuth: true }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'tension-model',
|
|
|
|
|
name: 'TensionModel',
|
|
|
|
|
component: () => import('@/views/TensionModel.vue'),
|
2026-06-20 18:19:06 +08:00
|
|
|
meta: { title: '张力模型', icon: 'el-icon-odometer', requiresAuth: true }
|
2026-05-27 16:38:40 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'inspection',
|
|
|
|
|
name: 'Inspection',
|
|
|
|
|
component: () => import('@/views/Inspection.vue'),
|
|
|
|
|
meta: { title: '设备巡检', requiresAuth: true }
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: 'quality',
|
|
|
|
|
name: 'Quality',
|
|
|
|
|
component: () => import('@/views/Quality.vue'),
|
|
|
|
|
meta: { title: '质量管理', icon: 'el-icon-medal', requiresAuth: true }
|
|
|
|
|
},
|
2026-06-29 13:57:59 +08:00
|
|
|
{
|
|
|
|
|
path: 'cost',
|
|
|
|
|
name: 'CostManagement',
|
|
|
|
|
component: () => import('@/views/CostManagement.vue'),
|
|
|
|
|
meta: { title: '成本管理', icon: 'el-icon-coin', requiresAuth: true }
|
|
|
|
|
},
|
2026-06-29 16:31:41 +08:00
|
|
|
{
|
|
|
|
|
path: 'logs',
|
|
|
|
|
name: 'LogManagement',
|
|
|
|
|
component: () => import('@/views/LogManagement.vue'),
|
|
|
|
|
meta: { title: '日志管理', icon: 'el-icon-document', requiresAuth: true }
|
|
|
|
|
},
|
2026-05-27 16:38:40 +08:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{ path: '*', redirect: '/' }
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
export default new VueRouter({
|
|
|
|
|
mode: 'history',
|
|
|
|
|
base: process.env.BASE_URL,
|
|
|
|
|
routes
|
|
|
|
|
})
|