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.

110 lines
2.5 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 HealthCalendar from '../views/AppointmentMngr/HealthCalendar.vue'
import AppointmentList from '../views/AppointmentMngr/AppointmentList.vue'
import healthCheckList from '../views/MedicalCenter/HealthCheckList.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: '/healthCalendar',
name: 'HealthCalendar',
component: HealthCalendar,
meta: { title: '体检日历' }
}, {
path: '/healthCheckList',
name: 'HealthCheckList',
component: healthCheckList,
meta: { title: '体检记录列表' }
}, {
path: '/appointmentList',
name: 'AppointmentList',
component: AppointmentList,
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