Browse Source

修复小问题

xiaochan 1 năm trước cách đây
mục cha
commit
3e24f4e892

+ 1 - 0
.env.production

@@ -5,6 +5,7 @@ VITE_SOCKET_URL = 'ws://172.16.32.160:8707/websocket/'
 VITE_EMR_CONTROL_URL = '172.16.32.160:9227'
 VITE_DATA_BASE = 'http://172.16.32.167:9205'
 VITE_EMR_SOCKET = 'http://172.16.32.160:8707/socketApi'
+VITE_MAGIC_API_IFRAME = 'http://172.16.32.167:9206'
 
 VITE_HOSPITAL_NAME = '长沙泰和'
 VITE_SYSTEM_NAME = '工作集成平台'

+ 1 - 8
src/App.vue

@@ -1,12 +1,5 @@
 <template>
-<!--  <router-view/>-->
-
-  <router-view v-slot="{ Component }">
-    <keep-alive>
-      <component :is="Component"/>
-    </keep-alive>
-  </router-view>
-
+  <router-view/>
   <soctet-dialog v-if="socketErrDialog"/>
   <progress-bar/>
   <JsDialogComp/>

+ 5 - 4
src/layout/MenuV2/MenuItemV2.vue

@@ -1,8 +1,9 @@
 <template>
-  <el-sub-menu v-if="data?.children && data?.children.length > 0 "
-               :index="data?.path"
-               :id="data.name"
-               :router="data?.completePath">
+  <el-sub-menu
+      v-if="data.type === 1"
+      :index="data?.path"
+      :id="data.name"
+      :router="data?.completePath">
     <template #title>
       <i :class="data?.icon"
          v-if="data?.icon"></i>

+ 2 - 2
src/router/createNode.js

@@ -3,11 +3,11 @@
 import {defineComponent, h, createVNode, ref} from 'vue'
 import reload from './reload.vue'
 
-export function createNameComponent(component) {
+export function createNameComponent(component, componentName) {
     return () => {
         return new Promise((res) => {
             component().then((comm) => {
-                const name = (comm.default.name || 'vueAdminBox') + '$' + Date.now()
+                const name = componentName ?? 'vueAdminBox' + Date.now()
                 const tempComm = defineComponent({
                     name,
                     render() {

+ 14 - 34
src/router/index.ts

@@ -28,8 +28,8 @@ vueFile.Layout = import.meta.glob('../layout/index.vue')['../layout/index.vue']
 let asyncFinished = false
 export const routerMenus: Ref<IntergrationMenu[]> = ref([])
 
-const 一级路由 = []
-const 二级路由 = []
+const firstLevelRouter = []
+const secondLevelRouter = []
 
 function emptyRouter(routers: IntergrationMenu[]) {
     routers.forEach((item) => {
@@ -37,13 +37,15 @@ function emptyRouter(routers: IntergrationMenu[]) {
         if (['EmptyRouter', 'Layout'].includes(item.component) && hasChildren) {
             item.children?.forEach(child => {
                 child.path = item.path + '/' + child.path
-                一级路由.push(child)
+                firstLevelRouter.push(child)
             })
         } else if (hasChildren) {
             item.children!.forEach(child => {
                 child.path = child.path.replace(item.path + '/', '')
             })
-            二级路由.push(item)
+            secondLevelRouter.push(item)
+        } else {
+            firstLevelRouter.push(item)
         }
 
         if (item.children !== null && item.children.length > 0) {
@@ -52,9 +54,8 @@ function emptyRouter(routers: IntergrationMenu[]) {
     })
 }
 
-function 转化为路由(value: IntergrationMenu[]) {
+function convertToRouter(value: IntergrationMenu[]) {
     const routers: RouteRecordRaw[] = []
-
     value.forEach(item => {
         const meta: { [key: string]: any } = {}
         for (let key in item) {
@@ -77,7 +78,7 @@ function 转化为路由(value: IntergrationMenu[]) {
             component: createNameComponent(item)
         };
         if (item.children && item.children.length > 0) {
-            data.children = 转化为路由(item.children);
+            data.children = convertToRouter(item.children);
         }
         routers.push(data)
     })
@@ -88,10 +89,13 @@ async function beforeAddRoutes() {
     await useUserStore().getUserInfo
     routerMenus.value = await getUserMenu()
 
+    console.log(routerMenus.value)
+
     emptyRouter(XEUtils.clone(routerMenus.value, true))
-    const data = 转化为路由([{
+    const data = convertToRouter([{
         completePath: "/",
         pathParams: '',
+        redirect: 'dashboard',
         component: 'Layout',
         icon: "",
         id: 0,
@@ -102,34 +106,10 @@ async function beforeAddRoutes() {
         sort: 0,
         type: 0,
         children: [
-            {
-                "id": 260,
-                "type": 2,
-                "path": "dashboard",
-                "icon": "",
-                "name": "dashboard",
-                "parentId": 259,
-                "metaTitle": "首页",
-                "metaHideTabs": false,
-                "metaPassRule": true,
-                "metaShowMenu": true,
-                "sort": 0,
-                "component": "../views/dashboard/index.vue",
-                "redirect": "",
-                "pathParams": "",
-                "mainCard": false,
-                "mainOverflowAuto": false,
-                "metaLink": null,
-                "completePath": "dashboard",
-                "cascaders": [
-                    259
-                ],
-                "children": null,
-                "metaNeedToken": true
-            },
-            ...一级路由, ...二级路由
+            ...firstLevelRouter, ...secondLevelRouter
         ],
     }])
+    console.log(data)
     data.forEach(item => {
         router.addRoute(item)
     })

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

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

+ 1 - 1
src/utils/database/magic-api-request.ts

@@ -5,7 +5,7 @@ import {CyMessageBox} from "@/components/cy/message-box";
 // @ts-ignore
 // export const MAGIC_API = import.meta.env.VITE_DATA_BASE
 export const MAGIC_API = 'http://172.16.32.167:9205'
-export const MAGIC_API_IFRAME = MAGIC_API.replaceAll("9205", "9206")
+export const MAGIC_API_IFRAME = "http://172.16.32.167:9206"
 
 const service = axios.create({
     baseURL: MAGIC_API,