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,
          activeMenu: '/area',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/resource',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/dept',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/role',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/user',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/dict',
        },
      },
    ],
  },
  {
    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: '流程管理',
          icon: 'ep:key',
          auth: '/sys/process',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/process',
        },
      },
      {
        path: 'edit',
        name: 'ProcessListEdit',
        component: () => import('@/views/system/process/editProcess.vue'),
        meta: {
          title: '流程管理',
          icon: 'ep:key',
          auth: '/sys/process',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/process/list',
        },
      },
      {
        path: 'detail',
        name: 'ProcessListDetail',
        component: () => import('@/views/system/process/detailProcess.vue'),
        meta: {
          title: '流程管理',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/process/list',
        },
      },
      {
        path: 'add',
        name: 'ProcessListAdd',
        component: () => import('@/views/system/process/addProcess.vue'),
        meta: {
          title: '流程管理',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/process/list',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/tenant',
        },
      },
    ],
  },
  {
    path: '/businessLog',
    component: Layout,
    redirect: '/businessLog/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,
          activeMenu: '/businessLog',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/error',
        },
      },
    ],
  },
  {
    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,
          activeMenu: '/loginDiary',
        },
      },
    ],
  },
  {
    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: 'certTemplate',
        name: 'SystemToolCertTemplate',
        component: () => import('@/views/system/tool/certTempate/list.vue'),
        meta: {
          title: '证书模板管理',
          icon: 'ep:key',
          auth: '/sys/tool/certTemplate',
        },
      },
      {
        path: 'fileTemplate',
        name: 'SystemToolFileTemplate',
        component: () => import('@/views/system/tool/fileTemplate/list.vue'),
        meta: {
          title: '文件模板管理',
          icon: 'ep:key',
          auth: '/sys/tool/fileTemplate',
        },
      },
      {
        path: 'configuration',
        name: 'logConfiguration',
        component: () => import('@/views/system/tool/fileConfiguration/configuration.vue'),
        meta: {
          title: '文件配置管理',
          icon: 'ep:key',
          auth: '/sys/tool/configuration',
        },
      },
    ],
  },
  {
    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/noteList.vue'),
        meta: {
          title: '通知公告',
          auth: '/sys/notice/list',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/notice',
        },
      },
    ],
  },
]

export default routes