Newer
Older
robot_dog_patrol_front / src / router / modules / home.ts
// 所有菜单路由
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