// 所有菜单路由 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: '/dashboard', }, children: [ { path: 'index', component: () => import('@/views/home/dashboard/index.vue'), name: 'HomeIndex', meta: { title: '首页', icon: 'ep:key', sidebar: false, breadcrumb: false, activeMenu: '/home', auth: '/dashboard', }, }, ], }, { 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: '/well/:type', component: () => import('@/views/home/well/components/detail.vue'), name: 'WellMonitorDetail', meta: { title: '闸井详情', icon: 'ep:key', sidebar: false, breadcrumb: false, activeMenu: '/well', auth: '/well/detail', }, }, ], }, { 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/ledger/index.vue'), name: 'LedgerManage', meta: { title: '台账管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/ledger/manage', auth: '/ledger/manage', }, }, { path: 'sync', component: () => import('@/views/home/ledger/ledger/components/syncRecord.vue'), name: 'SyncRecord', meta: { title: '同步日志', icon: 'ep:key', sidebar: false, breadcrumb: true, activeMenu: '/ledger/manage', }, }, { path: 'pipelinem', component: () => import('@/views/home/ledger/pipeline/index.vue'), name: 'pipelineMange', meta: { title: '管线管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/ledger/pipelinem', auth: '/ledger/pipeline', }, }, ], }, { 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