diff --git a/server/app.js b/server/app.js index 90f1b11..e1b2314 100644 --- a/server/app.js +++ b/server/app.js @@ -813,7 +813,8 @@ app.get('/api/screens', async (req, res) => { { id: 2, name: '订单大屏', path: '/dashboard/order', status: 'stopped', createTime: '2026-05-11 14:30:00' }, { id: 3, name: '成本大屏', path: '/dashboard/cost', status: 'running', createTime: '2026-05-12 09:00:00' }, { id: 4, name: '能源大屏', path: '/dashboard/energy', status: 'running', createTime: '2026-05-13 11:00:00' }, - { id: 5, name: '酸轧数据大屏', path: '/dashboard/acid-rolling', status: 'running', createTime: '2026-05-14 08:00:00' } + { id: 5, name: '酸轧数据大屏', path: '/dashboard/acid-rolling', status: 'running', createTime: '2026-05-14 08:00:00' }, + { id: 6, name: '异常钢卷大屏', path: '/abnormal-coil', status: 'running', createTime: '2026-06-03 10:00:00' } ] sendResponse(res, screens) }) @@ -849,7 +850,8 @@ const mockMenuList = [ { id: 25, path: 'acid-rolling', name: 'AcidRolling', component: 'views/screens/acid-rolling/index.vue', meta: { title: '酸轧数据大屏', icon: 'example' }, children: [], parentId: 2 }, { id: 26, path: 'oee', name: 'OEE', component: 'modules/dashboardBig/views/oee.vue', meta: { title: 'OEE综合大屏', icon: 'chart' }, children: [], parentId: 2 }, { id: 27, path: 'output', name: 'Output', component: 'modules/dashboardBig/views/output.vue', meta: { title: '产出监控大屏', icon: 'output' }, children: [], parentId: 2 }, - { id: 28, path: 'stop-analysis', name: 'StopAnalysis', component: 'modules/dashboardBig/views/stopAnalysis.vue', meta: { title: '停机分析大屏', icon: 'stop' }, children: [], parentId: 2 } + { id: 28, path: 'stop-analysis', name: 'StopAnalysis', component: 'modules/dashboardBig/views/stopAnalysis.vue', meta: { title: '停机分析大屏', icon: 'stop' }, children: [], parentId: 2 }, + { id: 29, path: 'abnormal-coil', name: 'AbnormalCoil', component: 'views/screens/abnormal-coil/index.vue', meta: { title: '异常钢卷大屏', icon: 'example' }, children: [], parentId: 2 } ], parentId: 0 }, { id: 3, path: '/screen-manage', name: 'ScreenManage', component: '', meta: { title: '大屏管理', icon: 'pie-chart' }, children: [ { id: 31, path: '', name: 'ScreenList', component: 'views/screens/list.vue', meta: { title: '大屏列表', icon: 'list' }, children: [], parentId: 3 }, diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index 0b8e684..90875bf 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -46,7 +46,8 @@ const iconMap = { 'output': PieChart, 'stop': Bell, 'sales': Coin, - 'heatmap': Monitor + 'heatmap': Monitor, + 'warning': Bell } const getIcon = (iconName) => { @@ -63,6 +64,7 @@ const menuItems = [ { path: '/dashboard/output', meta: { title: '产出监控大屏', icon: 'output' } }, { path: '/dashboard/stop-analysis', meta: { title: '停机分析大屏', icon: 'stop' } }, { path: '/dashboard/acid-rolling', meta: { title: '酸轧数据大屏', icon: 'example' } }, + { path: '/scrap-coil', meta: { title: '次品钢卷大屏', icon: 'warning' } }, { path: '/warehouse-overview', meta: { title: '库区总览大屏', icon: 'example' } }, { path: '/wip', meta: { title: 'WIP在产大屏', icon: 'monitor' } } ] diff --git a/src/router/index.js b/src/router/index.js index 3812f50..67c617f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -79,6 +79,12 @@ export const constantRoutes = [ name: 'SalesHeatmap', component: () => import('@/views/screens/sales-heatmap/index.vue'), meta: { title: '销售热力地图大屏' } + }, + { + path: '/scrap-coil', + name: 'ScrapCoil', + component: () => import('@/views/screens/scrap-coil/index.vue'), + meta: { title: '次品钢卷大屏' } } ] diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 1111cf7..2326790 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -57,7 +57,8 @@ function loadComponent(componentPath) { 'modules/dashboardBig/views/oee': () => import('@/modules/dashboardBig/views/oee.vue'), 'modules/dashboardBig/views/output': () => import('@/modules/dashboardBig/views/output.vue'), 'modules/dashboardBig/views/stopAnalysis': () => import('@/modules/dashboardBig/views/stopAnalysis.vue'), - 'screens/acid-rolling/index': () => import('@/views/screens/acid-rolling/index.vue') + 'screens/acid-rolling/index': () => import('@/views/screens/acid-rolling/index.vue'), + 'screens/scrap-coil/index': () => import('@/views/screens/scrap-coil/index.vue') } return componentMap[path] || (() => import('@/views/screens/acid-rolling/index.vue')) } diff --git a/src/views/screens/scrap-coil/index.vue b/src/views/screens/scrap-coil/index.vue new file mode 100644 index 0000000..b3904d6 --- /dev/null +++ b/src/views/screens/scrap-coil/index.vue @@ -0,0 +1,1048 @@ + + + + +