浏览代码

在在在次完成路由

xiaochan 1 年之前
父节点
当前提交
a1318408fa
共有 2 个文件被更改,包括 22 次插入16 次删除
  1. 9 3
      src/router/index.ts
  2. 13 13
      src/router/modules/dashboard.ts

+ 9 - 3
src/router/index.ts

@@ -14,6 +14,7 @@ import Dashboard from './modules/dashboard'
 import {getUserMenu, IntergrationMenu} from "@/api/settings/menu-settings";
 import {createVNode, defineComponent, h} from "vue";
 import {stringNotBlank} from "@/utils/blank-utils";
+import XEUtils from 'xe-utils'
 
 
 const router = createRouter({
@@ -113,11 +114,11 @@ function addRoutes(menus: IntergrationMenu[]) {
 
 router.beforeEach(async (to, _from, next) => {
         NProgress.start();
-
         const hasToken = stringNotBlank(localStorage.token)
 
         function tmpNext(...arg) {
             to.meta.title && changeTitle(to.meta.title)
+
             if (!hasToken) {
                 next('/login')
                 return
@@ -134,8 +135,13 @@ router.beforeEach(async (to, _from, next) => {
                 tmpNext();
             }
         } else {
-            to.meta.title && changeTitle(to.meta.title)
-            next()
+            if (!hasToken && !to.meta.needToken) {
+                to.meta.title && changeTitle(to.meta.title);
+                next()
+            } else {
+                tmpNext()
+            }
+
         }
     }
 )

+ 13 - 13
src/router/modules/dashboard.ts

@@ -21,78 +21,78 @@ const route: Array<RouteRecordRaw> = [
         name: 'login',
         component: createNameComponent(() => import('@/views/system/login.vue')),
         hideMenu: true,
-        meta: {title: '登录', hideTabs: true},
+        meta: {title: '登录', hideTabs: true, needToken: false},
     }, {
         path: '/jumpRedirect',
         name: 'jumpRedirect',
         component: createNameComponent(() => import('@/views/system/JumpRedirect.vue')),
         hideMenu: true,
-        meta: {title: '跳转重定向', hideTabs: true},
+        meta: {title: '跳转重定向', hideTabs: true, needToken: false},
     },
     {
         path: '/mzEmr/:patientInfo?',
         name: 'mzEmr',
         component: createNameComponent(() => import('@/views/mz-emr/MzEmr.vue')),
         hideMenu: true,
-        meta: {title: '门诊电子病历', hideTabs: true},
+        meta: {title: '门诊电子病历', hideTabs: true, needToken: false},
     },
     {
         path: '/shareholderCard/:patientInfo?',
         name: 'shareholderCard',
         component: createNameComponent(() => import('@/views/mz-emr/ShareholderCard.vue')),
         hideMenu: true,
-        meta: {title: '股东卡优惠', hideTabs: true},
+        meta: {title: '股东卡优惠', hideTabs: true, needToken: false},
     },
     {
         path: '/scrollSource',
         name: 'scrollSource',
         component: createNameComponent(() => import('@/views/single-page/TodayClinicResource.vue')),
         hideMenu: true,
-        meta: {title: '今日号源', hideTabs: true},
+        meta: {title: '今日号源', hideTabs: true, needToken: false},
     },
     {
         path: '/lottery',
         name: 'lottery',
         component: createNameComponent(() => import('@/views/single-page/Lottery.vue')),
-        meta: {title: '抽奖'}
+        meta: {title: '抽奖', needToken: false}
     },
     {
         path: '/myEmrEditor/:pat?/:refresh?',
         name: 'myEmrEditor',
         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/Home.vue')),
         hideMenu: true,
-        meta: {title: '电子病历', hideTabs: true},
+        meta: {title: '电子病历', hideTabs: true, needToken: false},
     },
     {
         path: '/fluorescenceTest',
         name: 'fluorescenceTest',
         component: createNameComponent(() => import('@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/fluorescence-test/FluorescenceTest.vue')),
         hideMenu: true,
-        meta: {title: '荧光检验', hideTabs: true},
+        meta: {title: '荧光检验', hideTabs: true, needToken: false},
     },
     {
         path: '/siSettleDetailList/:patientId?/:times?',
         name: 'siSettleDetailList',
         component: createNameComponent(() => import('@/views/medical-insurance/allpatient/SiSettleDetailList.vue')),
-        meta: {title: '医保结算单'},
+        meta: {title: '医保结算单', needToken: false},
     },
     {
         path: '/view/patient360',
         name: 'patient360',
         component: createNameComponent(() => import('@/views/view/patient360/src/Patient360.vue')),
-        meta: {title: '患者360', hideTabs: true},
+        meta: {title: '患者360', hideTabs: true, needToken: false},
     },
     {
         path: '/',
         component: Layout,
         redirect: '/dashboard',
-        meta: {title: '工作集成平台'},
+        meta: {title: '工作集成平台', needToken: true},
         children: [
             {
                 path: 'dashboard',
                 name: 'dashboard',
                 component: createNameComponent(() => import('@/views/dashboard/index.vue')),
-                meta: {title: '首页'},
+                meta: {title: '首页', needToken: true},
             },
         ],
     },
@@ -100,7 +100,7 @@ const route: Array<RouteRecordRaw> = [
         path: '/blank',
         name: 'blank',
         component: () => import('@/views/system/Blank.vue'),
-        meta: {hideTabs: true},
+        meta: {hideTabs: true, needToken: false},
     },
 ];