2025-01-13 10:34:29 +08:00

181 lines
5.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Vue from "vue"; /*引入vue框架*/
import Router from "vue-router"; /*引入路由依赖*/
import layout from "@/pages/layout";
Vue.use(Router);
//获取原型对象上的push函数
const originalPush = Router.prototype.push;
//修改原型对象中的push方法
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch((err) => err);
};
const routes = [
{
path: "/",
name: "/",
component: layout,
meta: { title: "金桥云调解" },
redirect: '/login',
children: [
{
path: "/workbench",
name: "/workbench",
component: () => import("@/pages/workbench"),
meta: { title: "调解首页", icon: 'menu-home' },
},
{
path: "/workbenchcm",
name: "/workbenchcm",
component: () => import("@/pages/workbench/case-manage"),
meta: { title: "调解首页", icon: 'menu-home' },
},
{
path: "/case-package",
name: "/case-package",
component: () => import("@/pages/case-package"),
meta: { title: "案件包管理", icon: 'menu-case-management' },
},
{
path: "/case-mistake",
name: "/case-mistake",
component: () => import("@/pages/case-mistake"),
meta: { title: "错误修复", icon: 'menu-case-management' },
},
{
path: "/case-management",
name: "/case-management",
component: () => import("@/pages/case-management"),
meta: { title: "案件管理", icon: 'menu-case-management' },
},
{
path: "/case-detail",
name: "/case-management/detail",
component: () => import("@/pages/case-management/detail"),
meta: { title: "案件详情", icon: 'menu-case-management' },
},
{
path: "/statistical-analysis",
name: "/statistical-analysis",
component: () => import("@/pages/statistical-analysis"),
meta: { title: "统计分析", icon: 'menu-statistical-analysis' },
},
{
path: "/system-management",
name: "/system-management",
component: () => import("@/pages/system-management"),
meta: { title: "系统管理", icon: 'menu-system-management' },
children:[
{
path: "/system-management/user-management",
name: "/system-management/user-management",
component: () => import("@/pages/system-management/user-management"),
meta: { title: "用户管理", icon: 'menu-user-management' },
},
{
path: "/system-management/role-management",
name: "/system-management/role-management",
component: () => import("@/pages/system-management/role-management"),
meta: { title: "角色管理", icon: 'menu-role-management' },
},
{
path: "/system-management/role-permissions-management",
name: "/system-management/role-permissions-management",
component: () => import("@/pages/system-management/role-permissions-management"),
meta: { title: "角色权限管理", icon: 'menu-role-permissions-management' },
},
{
path: "/system-management/area-management",
name: "/system-management/area-management",
component: () => import("@/pages/system-management/area-management"),
meta: { title: "区域管理", icon: 'menu-department-management' },
},
{
path: "/system-management/department-management",
name: "/system-management/department-management",
component: () => import("@/pages/system-management/department-management"),
meta: { title: "团队管理", icon: 'menu-department-management' },
},
]
},
{
path: "/basic-set",
name: "/basic-set",
component: () => import("@/pages/basic-set"),
meta: { title: "设置", icon: 'menu-base-set' },
},
{
path: "/mediation-management",
name: "/mediation-management",
component: () => import("@/pages/mediation-management"),
meta: { title: "调解", icon: 'menu-mediat-management' },
},
{
path: "/mediation-package",
name: "/mediation-package",
component: () => import("@/pages/mediation-package"),
meta: { title: "调解管理", icon: 'menu-mediat-management' },
},
{
path: "/event-tracing",
name: "/event-tracing",
component: () => import("@/pages/event-tracing"),
meta: { title: "事项追踪", icon: 'menu-mediat-management' },
},
{
path: "/payment-receipt",
name: "/payment-receipt",
component: () => import("@/pages/payment-receipt"),
meta: { title: "回款凭证", icon: 'menu-mediat-management' },
},
],
},
{
path: "/login",
name: "/login",
component: () => import("@/pages/login"),
meta: { title: "登录", notMenu: true },
},
{
path: "/mediation-page",
name: "/mediation-page",
component: () => import("@/pages/mediation-page"),
meta: { title: "调解记录", notMenu: true },
},
];
const router = new Router({
routes,
// mode:'history'//默认的路由模式是hash我们要去掉url中的#需要将路由模式切换为history
});
//路由拦截器
router.beforeEach((to, from, next) => {
/* 路由发生变化修改页面title main.js MetaInfo二选一 */
// if (to.meta.title) {
// document.title = to.meta.title
// }
//根据字段判断是否路由过滤
if (to.meta.requireAuth) {
// 判断该路由是否需要登录权限
if (localStorage.getItem("sid")) {
//身份信息获取
next();
} else {
next({
path: "/login",
});
}
} else {
next();
}
});
export default router;