You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
3.4 KiB
JavaScript

import {
createRouter,
createWebHashHistory
} from 'vue-router'
import Login from '../views/Login.vue'
import Index from '../views/Index.vue'
import MenuList from '../views/SystemMngr/Menu/List.vue'
import AdminGroupList from '../views/SystemMngr/Group/List.vue'
import AdminUserList from '../views/SystemMngr/User/List.vue'
import AdminChangPwd from '../views/SystemMngr/User/ChangPwd.vue'
import Dashboard from '../views/MedicalCenter/Dashboard.vue'
const router = createRouter({
history: createWebHashHistory(import.meta.env.BASE_URL),
routes: [{
path: '/',
name: 'Login1',
component: Login,
meta: {
requiresAuth: false
}
},
{
path: '/login',
name: 'Login',
component: Login,
meta: {
requiresAuth: false
}
}, {
path: '/index',
name: 'Index',
component: Index,
children: [{
path: '/dashboard',
name: 'Dashboard',
component: Dashboard,
meta: {
title: '数据面板'
}
}, {
path: '/menuList',
name: 'menuList',
component: MenuList,
meta: {
title: '菜单管理'
}
}, {
path: '/groupMngr',
name: 'AdminGroupList',
component: AdminGroupList,
meta: {
title: '组管理'
}
}, {
path: '/adminUserList',
name: 'AdminUserList',
component: AdminUserList,
meta: {
title: '系统用户管理'
}
}, {
path: '/adminChangPwd',
name: 'AdminChangPwd',
component: AdminChangPwd,
meta: {
title: '用户中心'
}
},{
path: '/systemMngr/systemConfig',
name: 'SystemMngrSystemConfig',
component: () => import('../views/SystemMngr/SystemConfig.vue'),
meta: {
title: '系统参数设置'
}
},{
path: '/systemMngr/systemLog',
name: 'SystemMngrsystemLog',
component: () => import('../views/SystemMngr/SystemLog.vue'),
meta: {
title: '系统日志'
}
},{
path: '/organizationMngr/website',
name: 'OrganizationWebSite',
component: () => import('../views/OrganizationMngr/WebSite.vue'),
meta: {
title: '站点机构'
}
},{
path: '/organizationMngr/hospital',
name: 'OrganizationHospital',
component: () => import('../views/OrganizationMngr/HospitalMngr.vue'),
meta: {
title: '医院管理'
}
},{
path: '/combo/combomngr',
name: 'ComboComboMngr',
component: () => import('../views/Combo/ComboMngr.vue'),
meta: {
title: '套餐管理'
}
},{
path: '/webmngr/pageindex',
name: 'WebMngrPageIndex',
component: () => import('../views/WebMngr/PageIndex.vue'),
meta: {
title: '首页设置'
}
},{
path: '/webmngr/nav',
name: 'WebMngrNav',
component: () => import('../views/WebMngr/Nav.vue'),
meta: {
title: '导航设置'
}
},{
path: '/webmngr/linkunits',
name: 'WebMngrLinkUnits',
component: () => import('../views/WebMngr/LinkUnits.vue'),
meta: {
title: '合作单位机构'
}
}]
},
]
})
import {
CheckMenuAuth
} from "@/api/api.js";
import {
ElMessage
} from 'element-plus'
router.beforeEach((to, from, next) => {
console.log(to.meta.requiresAuth)
const url = to.path
if (to.meta.requiresAuth == false) {
next()
} else {
const NewUrl = url.substring(1)
CheckMenuAuth({
url: NewUrl
}).then(res => {
if (res.status) {
next();
} else {
ElMessage.error(res.msg)
next('/');
}
})
}
})
export default router