// 所有菜单路由 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: 'operation', component: () => import('@/views/home/station/operation/index.vue'), name: 'StationOperation', meta: { title: '运维管理', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/station/operation', auth: '/station/operation', }, }, ], }, { 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/sync/index.vue'), name: 'SyncRecord', meta: { title: '同步日志', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/ledger/sync', auth: '/ledger/sync', }, }, { 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: '/operation', component: Layout, redirect: '/operation/alarm', name: 'Operation', meta: { title: '设备运维', icon: 'ep:key', auth: '/operation', }, children: [ { path: 'alarm', component: () => import('@/views/home/operation/alarm/index.vue'), name: 'operationAlarm', meta: { title: '设备报警', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/operation/alarm', auth: '/operation/alarm', }, }, { path: 'history', component: () => import('@/views/home/operation/history/index.vue'), name: 'operationHistory', meta: { title: '历史设备报警', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/operation/history', auth: '/operation/history', }, }, { path: 'trajectory', component: () => import('@/views/home/operation/trajectory/index.vue'), name: 'operationTrajectory', meta: { title: '轨迹查询', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/operation/trajectory', auth: '/operation/trajectory', }, }, { path: 'manufacturer', component: () => import('@/views/home/operation/manufacturer/index.vue'), name: 'operationManufacturer', meta: { title: '厂商运维记录', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/operation/manufacturer', auth: '/operation/manufacturer', }, }, ], }, { 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: '/manage/:type', component: () => import('@/views/home/device/device/components/detail.vue'), name: 'DeviceManageDetail', meta: { title: '设备详情', icon: 'ep:key', sidebar: false, breadcrumb: false, 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', }, }, { path: 'special', component: () => import('@/views/home/rule/special/index.vue'), name: 'RuleSpecial', meta: { title: '特殊报警规则', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/rule/special', auth: '/rule/special', }, }, ], }, ...sysRoutes, { path: '/monitor', component: Layout, redirect: '/monitor/time', name: 'Monitor', meta: { title: '系统监控', icon: 'ep:key', auth: '/monitor', }, children: [ { path: 'time', component: () => import('@/views/home/monitor/time/index.vue'), name: 'MonitorTime', meta: { title: '定时任务', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/monitor/time', auth: '/monitor/time', }, }, { path: 'service', component: () => import('@/views/home/monitor/service/index.vue'), name: 'monitorService', meta: { title: '服务监控', icon: 'ep:key', sidebar: true, breadcrumb: true, activeMenu: '/monitor/service', auth: '/monitor/service', }, }, ], }, ] export default routes