// 所有菜单路由 import sysRoutes from './system' import type { Route } from '@/global' const Layout = () => import('@/layouts/index.vue') const routes: Route.recordRaw[] = [ { path: '/home', component: Layout, redirect: '/home/index', name: 'Home', meta: { title: '首页', icon: 'ep:key', // auth: '/home', }, children: [ { path: 'index', component: () => import('@/views/home/dashboard/index.vue'), name: 'HomeIndex', meta: { title: '首页', icon: 'ep:key', sidebar: false, breadcrumb: false, activeMenu: '/home', // auth: '/home', }, }, ], }, { path: '/fullscreen', component: () => import('@/views/home/dashboard/fullScreen.vue'), name: 'FullScreen', meta: { title: '综合大屏', icon: 'ep:key', sidebar: false, breadcrumb: false, // auth: '/fullscreen', }, }, { path: '/alarm', component: Layout, redirect: '/alarm/current', name: 'Alarm', meta: { title: '报警管理', icon: 'ep:key', // auth: '/alarm', }, children: [ { path: 'current', component: () => import('@/views/home/alarm/current/index.vue'), name: 'AlarmCurrent', meta: { title: '当前报警', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/alarm/current', // auth: '/alarm/current', }, }, { path: 'history', component: () => import('@/views/home/alarm/history/index.vue'), name: 'AlarmHistory', meta: { title: '历史报警', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/alarm/history', // auth: '/alarm/history', }, }, { path: 'count', component: () => import('@/views/home/alarm/count/index.vue'), name: 'AlarmCount', meta: { title: '报警统计', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/alarm/count', // auth: '/alarm/count', }, }, ], }, { path: '/well', component: Layout, redirect: '/well/monitor', name: 'Well', meta: { title: '闸井监测', icon: 'ep:key', // auth: '/well', }, children: [ { path: 'monitor', component: () => import('@/views/home/well/index.vue'), name: 'WellMonitor', meta: { title: '闸井监测', icon: 'ep:key', sidebar: false, breadcrumb: false, activeMenu: '/well', // auth: '/well', }, }, ], }, { path: '/station', component: Layout, redirect: '/station/monitor', name: 'Station', meta: { title: '场站监测', icon: 'ep:key', // auth: '/station', }, children: [ { path: 'monitor', component: () => import('@/views/home/station/station/index.vue'), name: 'StationMonitor', meta: { title: '场站监测', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/station/monitor', // auth: '/station/monitor', }, }, { path: 'video', component: () => import('@/views/home/station/video/index.vue'), name: 'StationVideo', meta: { title: '视频轮巡', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/station/video', // auth: '/station/video', }, }, { path: 'control', component: () => import('@/views/home/station/control/index.vue'), name: 'StationControl', meta: { title: '设备控制', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/station/control', // auth: '/station/control', }, }, ], }, { path: '/pipeline', component: Layout, redirect: '/pipeline/monitor', name: 'Pipeline', meta: { title: '管线监测', icon: 'ep:key', // auth: '/pipeline', }, children: [ { path: 'monitor', component: () => import('@/views/home/pipeline/index.vue'), name: 'PipelineMonitor', meta: { title: '管线监测', icon: 'ep:key', sidebar: false, breadcrumb: false, activeMenu: '/pipeline', // auth: '/pipeline', }, }, ], }, { path: '/ledger', component: Layout, redirect: '/ledger/manage', name: 'Ledger', meta: { title: '台账管理', icon: 'ep:key', // auth: '/ledger', }, children: [ { path: 'manage', component: () => import('@/views/home/ledger/index.vue'), name: 'LedgerManage', meta: { title: '台账管理', icon: 'ep:key', sidebar: false, breadcrumb: false, activeMenu: '/ledger', // auth: '/ledger', }, }, ], }, { path: '/device', component: Layout, redirect: '/device/type', name: 'Device', meta: { title: '设备管理', icon: 'ep:key', // auth: '/device', }, children: [ { path: 'type', component: () => import('@/views/home/device/type/index.vue'), name: 'DeviceType', meta: { title: '设备类型管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/device/type', // auth: '/device/type', }, }, { path: 'product', component: () => import('@/views/home/device/product/index.vue'), name: 'DeviceProduct', meta: { title: '产品管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/device/product', // auth: '/device/product', }, }, { path: 'manage', component: () => import('@/views/home/device/device/index.vue'), name: 'DeviceManage', meta: { title: '设备管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/device/manage', // auth: '/device/manage', }, }, { path: 'operation', component: () => import('@/views/home/device/operation/index.vue'), name: 'DeviceOperation', meta: { title: '运维管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/device/operation', // auth: '/device/operation', }, }, { path: 'instruction', component: () => import('@/views/home/device/instruction/index.vue'), name: 'DeviceInstruction', meta: { title: '指令下发', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/device/instruction', // auth: '/device/instruction', }, }, { path: 'count', component: () => import('@/views/home/device/count/index.vue'), name: 'DeviceCount', meta: { title: '设备统计', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/device/count', // auth: '/device/count', }, }, ], }, { path: '/rule', component: Layout, redirect: '/rule/agreement', name: 'Rule', meta: { title: '规则引擎', icon: 'ep:key', // auth: '/rule', }, children: [ { path: 'agreement', component: () => import('@/views/home/rule/agreement/index.vue'), name: 'RuleAgreement', meta: { title: '协议管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/rule/agreement', // auth: '/rule/agreement', }, }, { path: 'alarm', component: () => import('@/views/home/rule/alarm/index.vue'), name: 'RuleAlarm', meta: { title: '报警规则管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/rule/alarm', // auth: '/rule/alarm', }, }, ], }, ...sysRoutes, ] export default routes