|
|
@@ -1,10 +1,10 @@
|
|
|
-import Vue from 'vue'
|
|
|
-import Router from 'vue-router'
|
|
|
+import Vue from "vue";
|
|
|
+import Router from "vue-router";
|
|
|
|
|
|
-Vue.use(Router)
|
|
|
+Vue.use(Router);
|
|
|
|
|
|
/* Layout */
|
|
|
-import Layout from '@/layout'
|
|
|
+import Layout from "@/layout";
|
|
|
|
|
|
/**
|
|
|
* Note: 路由配置项
|
|
|
@@ -31,261 +31,279 @@ import Layout from '@/layout'
|
|
|
// 公共路由
|
|
|
export const constantRoutes = [
|
|
|
{
|
|
|
- path: '/redirect',
|
|
|
+ path: "/redirect",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
children: [
|
|
|
{
|
|
|
- path: '/redirect/:path(.*)',
|
|
|
- component: () => import('@/views/redirect')
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "/redirect/:path(.*)",
|
|
|
+ component: () => import("@/views/redirect"),
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
-
|
|
|
|
|
|
-
|
|
|
-// {
|
|
|
+ // {
|
|
|
// //自己添加的公开路由页面,不要添加在动态路由中!
|
|
|
// path: '/dept/extend',
|
|
|
// component: () => import('@/views/system/dept/extend'),
|
|
|
// hidden: true,
|
|
|
// },
|
|
|
{
|
|
|
- path: '/system/dept-extend',
|
|
|
+ path: "/system/dept-extend",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['system:dept:list'],
|
|
|
+ permissions: ["system:dept:list"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'extend/:id(\\d+)',
|
|
|
- component: () => import('@/views/system/dept/extend'),
|
|
|
- name: 'Data',
|
|
|
- meta: { title: '机构信息补充', activeMenu: '/system/extend' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "extend/:id(\\d+)",
|
|
|
+ component: () => import("@/views/system/dept/extend"),
|
|
|
+ name: "Data",
|
|
|
+ meta: { title: "机构信息补充", activeMenu: "/system/extend" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
|
|
|
{
|
|
|
- path: '/login',
|
|
|
- component: () => import('@/views/login'),
|
|
|
- hidden: true
|
|
|
+ path: "/login",
|
|
|
+ component: () => import("@/views/login"),
|
|
|
+ hidden: true,
|
|
|
},
|
|
|
{
|
|
|
- path: '/tokenlogin',
|
|
|
- component: () => import('@/views/tokenLogin'),
|
|
|
- hidden: true
|
|
|
+ path: "/tokenlogin",
|
|
|
+ component: () => import("@/views/tokenLogin"),
|
|
|
+ hidden: true,
|
|
|
},
|
|
|
{
|
|
|
- path: '/register',
|
|
|
- component: () => import('@/views/register'),
|
|
|
- hidden: true
|
|
|
+ path: "/register",
|
|
|
+ component: () => import("@/views/register"),
|
|
|
+ hidden: true,
|
|
|
},
|
|
|
{
|
|
|
- path: '/404',
|
|
|
- component: () => import('@/views/error/404'),
|
|
|
- hidden: true
|
|
|
+ path: "/404",
|
|
|
+ component: () => import("@/views/error/404"),
|
|
|
+ hidden: true,
|
|
|
},
|
|
|
{
|
|
|
- path: '/401',
|
|
|
- component: () => import('@/views/error/401'),
|
|
|
- hidden: true
|
|
|
+ path: "/401",
|
|
|
+ component: () => import("@/views/error/401"),
|
|
|
+ hidden: true,
|
|
|
},
|
|
|
{
|
|
|
- path: '',
|
|
|
+ path: "",
|
|
|
component: Layout,
|
|
|
- redirect: 'home',
|
|
|
+ redirect: "home",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'home',
|
|
|
- component: () => import('@/views/index'),
|
|
|
- name: 'home',
|
|
|
- meta: { title: '首页', icon: 'dashboard', affix: true }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "home",
|
|
|
+ component: () => import("@/views/index"),
|
|
|
+ name: "home",
|
|
|
+ meta: { title: "首页", icon: "dashboard", affix: true },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/user',
|
|
|
+ path: "/user",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- redirect: 'noredirect',
|
|
|
+ redirect: "noredirect",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'profile',
|
|
|
- component: () => import('@/views/system/user/profile/index'),
|
|
|
- name: 'Profile',
|
|
|
- meta: { title: '个人中心', icon: 'user' }
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- ,{
|
|
|
- path: '/safetycheck/tempregister',
|
|
|
- component: Layout,
|
|
|
+ path: "profile",
|
|
|
+ component: () => import("@/views/system/user/profile/index"),
|
|
|
+ name: "Profile",
|
|
|
+ meta: { title: "个人中心", icon: "user" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: "/safetycheck/tempregister",
|
|
|
+ component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['core:safetycheck:register'],
|
|
|
- children:[{
|
|
|
- path:'add',
|
|
|
- name:'tempRegister',
|
|
|
- component: () => import('@/views/safetycheck/task/components/checkRegister.vue'),
|
|
|
- meta:{title:'临时登记'}
|
|
|
- }]
|
|
|
- }
|
|
|
-]
|
|
|
+ permissions: ["core:safetycheck:register"],
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ path: "add",
|
|
|
+ name: "tempRegister",
|
|
|
+ component: () =>
|
|
|
+ import("@/views/safetycheck/task/components/checkRegister.vue"),
|
|
|
+ meta: { title: "临时登记" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+];
|
|
|
|
|
|
// 动态路由,基于用户权限动态去加载
|
|
|
export const dynamicRoutes = [
|
|
|
{
|
|
|
- path: '/system/user-extend',
|
|
|
+ path: "/system/user-extend",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['system:user:extend'],
|
|
|
+ permissions: ["system:user:extend"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'extend/:userId(\\d+)',
|
|
|
- component: () => import('@/views/system/user/extend'),
|
|
|
- name: 'UserExtend',
|
|
|
- meta: { title: '用户信息扩展', activeMenu: '/system/user' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "extend/:userId(\\d+)",
|
|
|
+ component: () => import("@/views/system/user/extend"),
|
|
|
+ name: "UserExtend",
|
|
|
+ meta: { title: "用户信息扩展", activeMenu: "/system/user" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/system/user-auth',
|
|
|
+ path: "/system/user-auth",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['system:user:edit'],
|
|
|
+ permissions: ["system:user:edit"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'role/:userId(\\d+)',
|
|
|
- component: () => import('@/views/system/user/authRole'),
|
|
|
- name: 'AuthRole',
|
|
|
- meta: { title: '分配角色', activeMenu: '/system/user' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "role/:userId(\\d+)",
|
|
|
+ component: () => import("@/views/system/user/authRole"),
|
|
|
+ name: "AuthRole",
|
|
|
+ meta: { title: "分配角色", activeMenu: "/system/user" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/system/role-auth',
|
|
|
+ path: "/system/role-auth",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['system:role:edit'],
|
|
|
+ permissions: ["system:role:edit"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'user/:roleId(\\d+)',
|
|
|
- component: () => import('@/views/system/role/authUser'),
|
|
|
- name: 'AuthUser',
|
|
|
- meta: { title: '分配用户', activeMenu: '/system/role' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "user/:roleId(\\d+)",
|
|
|
+ component: () => import("@/views/system/role/authUser"),
|
|
|
+ name: "AuthUser",
|
|
|
+ meta: { title: "分配用户", activeMenu: "/system/role" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/system/dict-data',
|
|
|
+ path: "/system/dict-data",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['system:dict:list'],
|
|
|
+ permissions: ["system:dict:list"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'index/:dictId(\\d+)',
|
|
|
- component: () => import('@/views/system/dict/data'),
|
|
|
- name: 'Data',
|
|
|
- meta: { title: '字典数据', activeMenu: '/system/dict' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "index/:dictId(\\d+)",
|
|
|
+ component: () => import("@/views/system/dict/data"),
|
|
|
+ name: "Data",
|
|
|
+ meta: { title: "字典数据", activeMenu: "/system/dict" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/monitor/job-log',
|
|
|
+ path: "/monitor/job-log",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['monitor:job:list'],
|
|
|
+ permissions: ["monitor:job:list"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'index/:jobId(\\d+)',
|
|
|
- component: () => import('@/views/monitor/job/log'),
|
|
|
- name: 'JobLog',
|
|
|
- meta: { title: '调度日志', activeMenu: '/monitor/job' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "index/:jobId(\\d+)",
|
|
|
+ component: () => import("@/views/monitor/job/log"),
|
|
|
+ name: "JobLog",
|
|
|
+ meta: { title: "调度日志", activeMenu: "/monitor/job" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/tool/gen-edit',
|
|
|
+ path: "/tool/gen-edit",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['tool:gen:edit'],
|
|
|
+ permissions: ["tool:gen:edit"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'index/:tableId(\\d+)',
|
|
|
- component: () => import('@/views/tool/gen/editTable'),
|
|
|
- name: 'GenEdit',
|
|
|
- meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "index/:tableId(\\d+)",
|
|
|
+ component: () => import("@/views/tool/gen/editTable"),
|
|
|
+ name: "GenEdit",
|
|
|
+ meta: { title: "修改生成配置", activeMenu: "/tool/gen" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/core/safetycheck',
|
|
|
+ path: "/core/safetycheck",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
// permissions: ['core:safetycheck'],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'register/:taskId(\\d+)',
|
|
|
- component: () => import('@/views/safetycheck/task/components/register.vue'),
|
|
|
- name: 'safetyCheckRegister',
|
|
|
- meta: { title: '检查任务', activeMenu: '/safetycheck/taskmanager' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "register/:taskId(\\d+)",
|
|
|
+ component: () =>
|
|
|
+ import("@/views/safetycheck/task/components/register.vue"),
|
|
|
+ name: "safetyCheckRegister",
|
|
|
+ meta: { title: "检查任务", activeMenu: "/safetycheck/taskmanager" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
- ,{
|
|
|
- path: '/core/safetycheck',
|
|
|
- component: Layout,
|
|
|
+ ,
|
|
|
+ {
|
|
|
+ path: "/core/safetycheck",
|
|
|
+ component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['core:task:query'],
|
|
|
- children:[{
|
|
|
- path:'detail/:taskId(\\d+)',
|
|
|
- name:'safetyTaskDetail',
|
|
|
- component: () => import('@/views/safetycheck/task/components/detail.vue'),
|
|
|
- meta:{title:'检查任务详情'}
|
|
|
- }]
|
|
|
+ permissions: ["core:task:query"],
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ path: "detail/:taskId(\\d+)",
|
|
|
+ name: "safetyTaskDetail",
|
|
|
+ component: () =>
|
|
|
+ import("@/views/safetycheck/task/components/detail.vue"),
|
|
|
+ meta: { title: "检查任务详情" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/core/safetycheck/rule',
|
|
|
+ path: "/core/safetycheck/rule",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['safetycheck:rule:contentmanage'],
|
|
|
+ permissions: ["safetycheck:rule:contentmanage"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'content/:id(\\d+)',
|
|
|
- component: () => import('@/views/safetycheck/ruleManager/index.vue'),
|
|
|
- name: 'safetycheckRuleManager',
|
|
|
- meta: { title: '检查手册管理', activeMenu: '/safetycheck/rule' }
|
|
|
- }
|
|
|
- ]
|
|
|
- },{
|
|
|
- path: '/core/resumption/rule',
|
|
|
+ path: "content/:id(\\d+)",
|
|
|
+ component: () => import("@/views/safetycheck/ruleManager/index.vue"),
|
|
|
+ name: "safetycheckRuleManager",
|
|
|
+ meta: { title: "检查手册管理", activeMenu: "/safetycheck/rule" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: "/core/resumption/rule",
|
|
|
component: Layout,
|
|
|
hidden: true,
|
|
|
- permissions: ['resumption:rule:contentmanage'],
|
|
|
+ permissions: ["resumption:rule:contentmanage"],
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'content/:id(\\d+)',
|
|
|
- component: () => import('@/views/resumption/ruleManager/index.vue'),
|
|
|
- name: 'resumptionRuleManager',
|
|
|
- meta: { title: '履职手册管理', activeMenu: '/resumption/rule' }
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "content/:id(\\d+)",
|
|
|
+ component: () => import("@/views/resumption/ruleManager/index.vue"),
|
|
|
+ name: "resumptionRuleManager",
|
|
|
+ meta: { title: "履职手册管理", activeMenu: "/resumption/rule" },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
-]
|
|
|
+];
|
|
|
|
|
|
// 防止连续点击多次路由报错
|
|
|
let routerPush = Router.prototype.push;
|
|
|
let routerReplace = Router.prototype.replace;
|
|
|
// push
|
|
|
Router.prototype.push = function push(location) {
|
|
|
- return routerPush.call(this, location).catch(err => err)
|
|
|
-}
|
|
|
+ return routerPush.call(this, location).catch((err) => err);
|
|
|
+};
|
|
|
// replace
|
|
|
Router.prototype.replace = function push(location) {
|
|
|
- return routerReplace.call(this, location).catch(err => err)
|
|
|
-}
|
|
|
-
|
|
|
+ return routerReplace.call(this, location).catch((err) => err);
|
|
|
+};
|
|
|
+// const router =
|
|
|
+// //路由守卫
|
|
|
+// router.beforeEach((to, from, next) => {
|
|
|
+// //路由守卫控制登陆页面取消水印非登录页显示水印
|
|
|
+// if (document.querySelector("#water")) {
|
|
|
+// if (to.path == "/login") {
|
|
|
+// document.querySelector("#water").style.display = "none";
|
|
|
+// } else {
|
|
|
+// document.querySelector("#water").style.display = "block";
|
|
|
+// }
|
|
|
+// }
|
|
|
+// });
|
|
|
export default new Router({
|
|
|
- mode: 'hash',
|
|
|
+ mode: "hash",
|
|
|
scrollBehavior: () => ({ y: 0 }),
|
|
|
- routes: constantRoutes
|
|
|
-})
|
|
|
+ routes: constantRoutes,
|
|
|
+});
|