From b27542ba6d1e3ce795639da3f3bbcc9f37053bb3 Mon Sep 17 00:00:00 2001 From: chenqi Date: Wed, 17 Dec 2025 16:25:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(router):=20=E5=88=A0=E9=99=A4=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E7=AE=A1=E7=90=86=E8=B7=AF=E7=94=B1=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=B9=B6=E6=B3=A8=E9=87=8A=E9=83=A8=E5=88=86=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除了独立的预约管理路由文件,该模块功能已整合至其他模块。 同时注释掉了系统监控、系统工具等相关路由配置,便于后续按需启用。 --- .../resources/router/modules/appointment.js | 96 ------ openhis-ui-vue3/src/router/index.js | 288 +++++++++--------- 2 files changed, 144 insertions(+), 240 deletions(-) delete mode 100644 openhis-server-new/openhis-application/src/main/resources/router/modules/appointment.js diff --git a/openhis-server-new/openhis-application/src/main/resources/router/modules/appointment.js b/openhis-server-new/openhis-application/src/main/resources/router/modules/appointment.js deleted file mode 100644 index 6aeee38a..00000000 --- a/openhis-server-new/openhis-application/src/main/resources/router/modules/appointment.js +++ /dev/null @@ -1,96 +0,0 @@ -import Layout from '@/layout' -import router from './router' -import { ElMessage } from 'element-plus' -import NProgress from 'nprogress' -import 'nprogress/nprogress.css' -import { getToken } from '@/utils/auth' -import { isHttp } from '@/utils/validate' -import { isRelogin } from '@/utils/request' -import useUserStore from '@/store/modules/user' -import useSettingsStore from '@/store/modules/settings' -import usePermissionStore from '@/store/modules/permission' - -NProgress.configure({ showSpinner: false }); - -const whiteList = ['/login', '/register']; - -router.beforeEach((to, from, next) => { - NProgress.start() - if (getToken()) { - to.meta.title && useSettingsStore().setTitle(to.meta.title) - /* has token*/ - if (to.path === '/login') { - next({ path: '/' }) - NProgress.done() - } else if (whiteList.indexOf(to.path) !== -1) { - next() - } else { - if (useUserStore().roles.length === 0) { - isRelogin.show = true - // 判断当前用户是否已拉取完user_info信息 - useUserStore().getInfo().then(() => { - isRelogin.show = false - usePermissionStore().generateRoutes().then(accessRoutes => { - // 根据roles权限生成可访问的路由表 - accessRoutes.forEach(route => { - if (!isHttp(route.path)) { - // 检查是否已经存在同名路由 - if (!router.hasRoute(route.name)) { - router.addRoute(route) // 动态添加可访问路由表 - } - } - }) - next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 - }) - }).catch(err => { - useUserStore().logOut().then(() => { - ElMessage.error(err) - next({ path: '/' }) - }) - }) - } else { - next() - } - } - } else { - // 没有token - if (whiteList.indexOf(to.path) !== -1) { - // 在免登录白名单,直接进入 - next() - } else { - next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 - NProgress.done() - } - } -}) - -router.afterEach(() => { - NProgress.done() -}) - -const appointmentRouter = { - path: '/appointment', - component: Layout, - redirect: '/appointment/manage', - name: 'Appointment', - meta: { - title: '预约管理', - icon: 'calendar' - }, - children: [ - { - path: 'manage', - component: () => import('@/views/appointment/manage'), - name: 'AppointmentManage', // 修改名称,避免与父级重复 - meta: { title: '预约管理', icon: 'list' } - }, - { - path: 'setting', - component: () => import('@/views/appointment/setting'), - name: 'AppointmentSetting', - meta: { title: '预约设置', icon: 'setting' } - } - ] -} - -export default appointmentRouter \ No newline at end of file diff --git a/openhis-ui-vue3/src/router/index.js b/openhis-ui-vue3/src/router/index.js index 04b2e900..26dc4a1d 100644 --- a/openhis-ui-vue3/src/router/index.js +++ b/openhis-ui-vue3/src/router/index.js @@ -263,154 +263,154 @@ export const dynamicRoutes = [ // ] // }, // 租户用户设置路由 - { - path: '/system/tenant-user', - component: Layout, - hidden: true, - permissions: ['*:*:*'], - children: [ - { - path: 'set/:tenantId(\\d+)', - component: () => import('@/views/system/tenant/setUser'), - name: 'SetUser', - meta: { title: '所属用户', activeMenu: '/system/tenant' } - } - ] - }, - // 租户合同管理路由 - { - path: '/system/tenant-contract', - component: Layout, - hidden: true, - permissions: ['*:*:*'], - children: [ - { - path: 'set/:tenantId(\\d+)', - component: () => import('@/views/system/tenant/setContract'), - name: 'SetContract', - meta: { title: '合同管理', activeMenu: '/system/tenant' } - } - ] - }, - // 用户角色分配路由 - { - path: '/system/user-auth', - component: Layout, - hidden: true, - permissions: ['system:user:edit'], - children: [ - { - path: 'role/:userId(\\d+)', - component: () => import('@/views/system/user/authRole'), - name: 'AuthRole', - meta: { title: '分配角色', activeMenu: '/system/user' } - } - ] - }, - // 角色用户分配路由 - { - path: '/system/role-auth', - component: Layout, - hidden: true, - permissions: ['system:role:edit'], - children: [ - { - path: 'user/:roleId(\\d+)', - component: () => import('@/views/system/role/authUser'), - name: 'AuthUser', - meta: { title: '分配用户', activeMenu: '/system/role' } - } - ] - }, - // 字典数据路由 - { - path: '/system/dict-data', - component: Layout, - hidden: true, - permissions: ['system:dict:list'], - children: [ - { - path: 'index/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { title: '字典数据', activeMenu: '/system/dict' } - } - ] - }, + // { + // path: '/system/tenant-user', + // component: Layout, + // hidden: true, + // permissions: ['*:*:*'], + // children: [ + // { + // path: 'set/:tenantId(\\d+)', + // component: () => import('@/views/system/tenant/setUser'), + // name: 'SetUser', + // meta: { title: '所属用户', activeMenu: '/system/tenant' } + // } + // ] + // }, + // // 租户合同管理路由 + // { + // path: '/system/tenant-contract', + // component: Layout, + // hidden: true, + // permissions: ['*:*:*'], + // children: [ + // { + // path: 'set/:tenantId(\\d+)', + // component: () => import('@/views/system/tenant/setContract'), + // name: 'SetContract', + // meta: { title: '合同管理', activeMenu: '/system/tenant' } + // } + // ] + // }, + // // 用户角色分配路由 + // { + // path: '/system/user-auth', + // component: Layout, + // hidden: true, + // permissions: ['system:user:edit'], + // children: [ + // { + // path: 'role/:userId(\\d+)', + // component: () => import('@/views/system/user/authRole'), + // name: 'AuthRole', + // meta: { title: '分配角色', activeMenu: '/system/user' } + // } + // ] + // }, + // // 角色用户分配路由 + // { + // path: '/system/role-auth', + // component: Layout, + // hidden: true, + // permissions: ['system:role:edit'], + // children: [ + // { + // path: 'user/:roleId(\\d+)', + // component: () => import('@/views/system/role/authUser'), + // name: 'AuthUser', + // meta: { title: '分配用户', activeMenu: '/system/role' } + // } + // ] + // }, + // // 字典数据路由 + // { + // path: '/system/dict-data', + // component: Layout, + // hidden: true, + // permissions: ['system:dict:list'], + // children: [ + // { + // path: 'index/:dictId(\\d+)', + // component: () => import('@/views/system/dict/data'), + // name: 'Data', + // meta: { title: '字典数据', activeMenu: '/system/dict' } + // } + // ] + // }, // 系统监控路由 - { - path: '/monitor', - component: Layout, - redirect: '/monitor/operlog', - name: 'Monitor', - meta: { title: '系统监控', icon: 'monitor' }, - children: [ - { - path: 'operlog', // 操作日志路由 - component: () => import('@/views/monitor/operlog/index.vue'), - name: 'Operlog', - meta: { title: '操作日志', icon: 'operlog', permissions: ['monitor:operlog:list'] } - }, - { - path: 'logininfor', // 登录日志路由 - component: () => import('@/views/monitor/logininfor/index.vue'), - name: 'Logininfor', - meta: { title: '登录日志', icon: 'logininfor', permissions: ['monitor:logininfor:list'] } - }, - { - path: 'job', // 定时任务路由 - component: () => import('@/views/monitor/job/index.vue'), - name: 'Job', - meta: { title: '定时任务', icon: 'job', permissions: ['monitor:job:list'] } - } - ] - }, + // { + // path: '/monitor', + // component: Layout, + // redirect: '/monitor/operlog', + // name: 'Monitor', + // meta: { title: '系统监控', icon: 'monitor' }, + // children: [ + // { + // path: 'operlog', // 操作日志路由 + // component: () => import('@/views/monitor/operlog/index.vue'), + // name: 'Operlog', + // meta: { title: '操作日志', icon: 'operlog', permissions: ['monitor:operlog:list'] } + // }, + // { + // path: 'logininfor', // 登录日志路由 + // component: () => import('@/views/monitor/logininfor/index.vue'), + // name: 'Logininfor', + // meta: { title: '登录日志', icon: 'logininfor', permissions: ['monitor:logininfor:list'] } + // }, + // { + // path: 'job', // 定时任务路由 + // component: () => import('@/views/monitor/job/index.vue'), + // name: 'Job', + // meta: { title: '定时任务', icon: 'job', permissions: ['monitor:job:list'] } + // } + // ] + // }, // 系统工具路由 - { - path: '/tool', - component: Layout, - redirect: '/tool/gen', - name: 'Tool', - meta: { title: '系统工具', icon: 'tool' }, - children: [ - { - path: 'gen', // 代码生成路由 - component: () => import('@/views/tool/gen/index.vue'), - name: 'Gen', - meta: { title: '代码生成', icon: 'gen', permissions: ['tool:gen:list'] } - } - ] - }, + // { + // path: '/tool', + // component: Layout, + // redirect: '/tool/gen', + // name: 'Tool', + // meta: { title: '系统工具', icon: 'tool' }, + // children: [ + // { + // path: 'gen', // 代码生成路由 + // component: () => import('@/views/tool/gen/index.vue'), + // name: 'Gen', + // meta: { title: '代码生成', icon: 'gen', permissions: ['tool:gen:list'] } + // } + // ] + // }, // 定时任务日志路由 - { - path: '/monitor/job-log', - component: Layout, - hidden: true, - permissions: ['monitor:job:list'], - children: [ - { - path: 'index/:jobId(\\d+)', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { title: '调度日志', activeMenu: '/monitor/job' } - } - ] - }, + // { + // path: '/monitor/job-log', + // component: Layout, + // hidden: true, + // permissions: ['monitor:job:list'], + // children: [ + // { + // path: 'index/:jobId(\\d+)', + // component: () => import('@/views/monitor/job/log'), + // name: 'JobLog', + // meta: { title: '调度日志', activeMenu: '/monitor/job' } + // } + // ] + // }, // 代码生成编辑路由 - { - path: '/tool/gen-edit', - component: Layout, - hidden: true, - permissions: ['tool:gen:edit'], - children: [ - { - path: 'index/:tableId(\\d+)', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '修改生成配置', activeMenu: '/tool/gen' } - } - ] - } + // { + // path: '/tool/gen-edit', + // component: Layout, + // hidden: true, + // permissions: ['tool:gen:edit'], + // children: [ + // { + // path: 'index/:tableId(\\d+)', + // component: () => import('@/views/tool/gen/editTable'), + // name: 'GenEdit', + // meta: { title: '修改生成配置', activeMenu: '/tool/gen' } + // } + // ] + // } ] // 合并常量路由和动态路由,确保所有路由都能被访问