Newer
Older
robot_dog_patrol_front / src / router / modules / pc.ts
lyg on 11 Sep 14 KB 数据报警
// 所有菜单路由
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: '/current/detail',
        component: () => import('@/views/home/alarm/current/components/detail.vue'),
        name: 'AlarmCurrentDetail',
        meta: {
          title: '报警详情',
          icon: 'ep:key',
          sidebar: false,
          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: '/station/:type',
        component: () => import('@/views/home/station/station/components/detail.vue'),
        name: 'StationMonitorDetail',
        meta: {
          title: '场站监测',
          icon: 'ep:key',
          sidebar: false,
          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: 'monitor/detail',
        component: () => import('@/views/home/pipeline/components/detail.vue'),
        name: 'PipelineMonitorDetail',
        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