Newer
Older
smart-metering-front / src / router / modules / system.ts
import type { Route } from '@/global'

const Layout = () => import('@/layouts/index.vue')

const routes: Route.recordRaw[] = [
  {
    path: '/area',
    component: Layout,
    redirect: '/area/list',
    name: 'AreaManage',
    meta: {
      title: '区域管理',
      icon: 'ep:key',
      auth: '/sys/area',
    },
    children: [
      {
        path: 'list',
        name: 'AreaList',
        component: () => import('@/views/system/area/listArea.vue'),
        meta: {
          title: '区域管理',
          auth: '/sys/area',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/resource',
    component: Layout,
    redirect: '/resource/list',
    name: 'ResourceManage',
    meta: {
      title: '资源管理',
      icon: 'ep:key',
      auth: '/sys/resource',
    },
    children: [
      {
        path: 'list',
        name: 'ResourceList',
        component: () => import('@/views/system/resource/listResource.vue'),
        meta: {
          title: '资源管理',
          auth: '/sys/resource',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/dept',
    component: Layout,
    redirect: '/dept/list',
    name: 'DeptManage',
    meta: {
      title: '组织管理',
      icon: 'ep:key',
      auth: '/sys/dept',
    },
    children: [
      {
        path: 'list',
        name: 'DeptList',
        component: () => import('@/views/system/dept/listDept.vue'),
        meta: {
          title: '组织管理',
          auth: '/sys/dept',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/role',
    component: Layout,
    redirect: '/role/list',
    name: 'RoleManage',
    meta: {
      title: '角色管理',
      icon: 'ep:key',
      auth: '/sys/role',
    },
    children: [
      {
        path: 'list',
        name: 'RoleList',
        component: () => import('@/views/system/role/listRole.vue'),
        meta: {
          title: '角色管理',
          auth: '/sys/role',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/user',
    component: Layout,
    redirect: '/user/list',
    name: 'UserManage',
    meta: {
      title: '用户管理',
      icon: 'ep:key',
      auth: '/sys/mgr',
    },
    children: [
      {
        path: 'list',
        name: 'UserList',
        component: () => import('@/views/system/user/listUser.vue'),
        meta: {
          title: '用户管理',
          auth: '/sys/mgr',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/dict',
    component: Layout,
    redirect: '/dict/list',
    name: 'DictManage',
    meta: {
      title: '字典管理',
      icon: 'ep:key',
      auth: '/sys/dict',
    },
    children: [
      {
        path: 'list',
        name: 'DictList',
        component: () => import('@/views/system/dict/listDict.vue'),
        meta: {
          title: '字典管理',
          auth: '/sys/dict',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/process',
    component: Layout,
    redirect: '/process/list',
    name: 'Process',
    meta: {
      title: '流程管理',
      icon: 'ep:key',
      auth: '/sys/process',
    },
    children: [
      {
        path: 'list',
        name: 'ProcessList',
        component: () => import('@/views/system/process/process.vue'),
        meta: {
          title: '流程管理',
          auth: '/sys/process',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/tenant',
    component: Layout,
    redirect: '/tenant/list',
    name: 'TenantManage',
    meta: {
      title: '项目管理',
      icon: 'ep:key',
      auth: '/sys/tenantSys/list',
    },
    children: [
      {
        path: 'list',
        name: 'TenantList',
        component: () => import('@/views/system/tenant/list.tenant.vue'),
        meta: {
          title: '项目管理',
          auth: '/sys/tenantSys/list',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/business',
    component: Layout,
    redirect: '/business/list',
    name: 'BusinessLog',
    meta: {
      title: '业务日志',
      icon: 'ep:key',
      auth: '/sys/log/biz/list',
    },
    children: [
      {
        path: 'list',
        name: 'BusinessList',
        component: () => import('@/views/system/log/listLog.vue'),
        meta: {
          title: '业务日志',
          auth: '/sys/log/biz/list',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/error',
    component: Layout,
    redirect: '/error/list',
    name: 'ErrorLog',
    meta: {
      title: '异常日志',
      icon: 'ep:key',
      auth: '/sys/log/error/list',
    },
    children: [
      {
        path: 'list',
        name: 'ErrorList',
        component: () => import('@/views/system/log/listErrorLog.vue'),
        meta: {
          title: '异常日志',
          auth: '/sys/log/error/list',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/loginDiary',
    component: Layout,
    redirect: '/loginDiary/list',
    name: 'loginDiaryLog',
    meta: {
      title: '登录日志',
      icon: 'ep:key',
      auth: '/sys/loginLog',
    },
    children: [
      {
        path: 'list',
        name: 'loginDiaryList',
        component: () => import('@/views/system/log/LoginLog.vue'),
        meta: {
          title: '登录日志',
          auth: '/sys/loginLog',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
  {
    path: '/tool',
    component: Layout,
    redirect: '/tool/signature',
    name: 'toolLog',
    meta: {
      title: '常用工具',
      icon: 'ep:key',
      auth: '/sys/tool',
    },
    children: [
      {
        path: 'signature',
        name: 'logSignature',
        component: () => import('@/views/system/tool/signature/signature.vue'),
        meta: {
          title: '签章管理',
          icon: 'ep:key',
          auth: '/sys/tool/signature',
        },
      },
      {
        path: 'autograph',
        name: 'logAutograph',
        component: () => import('@/views/system/tool/autograph/autograph.vue'),
        meta: {
          title: '签名管理',
          icon: 'ep:key',
          auth: '/sys/tool/autograph',
        },
      },
      {
        path: 'document',
        name: 'logDocument',
        component: () => import('@/views/system/tool/document/document.vue'),
        meta: {
          title: '原始记录模板',
          icon: 'ep:key',
          auth: '/sys/tool/document',
        },
      },
      {
        path: 'certificate',
        name: 'logCertificate',
        component: () => import('@/views/system/tool/certificate/certificate.vue'),
        meta: {
          title: '证书报告模板',
          icon: 'ep:key',
          auth: '/sys/tool/certificate',
        },
      },
    ],
  },
  {
    path: '/notice',
    component: Layout,
    redirect: '/notice/list',
    name: 'noticeManger',
    meta: {
      title: '通知公告',
      icon: 'ep:key',
      auth: '/sys/notice/list',
    },
    children: [
      {
        path: 'list',
        name: 'noticeList',
        component: () => import('@/views/system/notice/note.list.vue'),
        meta: {
          title: '通知公告',
          auth: '/sys/notice/list',
          sidebar: false,
          breadcrumb: true,
        },
      },
    ],
  },
]

export default routes