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