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
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
|