瀏覽代碼

住院医生中标签放在页面里面。

xiaochan 3 年之前
父節點
當前提交
36277eb378

+ 81 - 77
src/components/zhu-yuan-yi-sheng/HuanZheXinXi.vue

@@ -1,82 +1,78 @@
 <template>
   <el-container>
-    <el-main id="huanZheXinXiGaoDu" style="padding: 0">
-      <el-collapse v-model="activeNames">
-        <el-collapse-item id="collapseHeight" class="collapse-item-height" name="1" title="患者信息">
-          <el-row>
-            <el-col :span="2" style="text-align: right">住院号:</el-col>
-            <el-col :span="4">
-              {{ huanZheXinXi.inpatientNo }}
-              <span v-if="huanZheXinXi.timesBilled === 1" style="color: red">已出纳</span>
-            </el-col>
-            <el-col :span="2" style="text-align: right">住院次数:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.admissTimes }}</el-col>
-            <el-col :span="2" style="text-align: right">床号:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.bedNo }}</el-col>
-            <el-col :span="2" style="text-align: right">身份证号:</el-col>
-            <el-col :span="4">{{ huanZheXinXi.socialNo }}</el-col>
+    <el-main id="huanZheXinXiGaoDu">
+      <el-row>
+        <el-col :span="2" style="text-align: right">住院号:</el-col>
+        <el-col :span="4">
+          {{ huanZheXinXi.inpatientNo }}
+          <span v-if="huanZheXinXi.timesBilled === 1" style="color: red">已出纳</span>
+        </el-col>
+        <el-col :span="2" style="text-align: right">住院次数:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.admissTimes }}</el-col>
+        <el-col :span="2" style="text-align: right">床号:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.bedNo }}</el-col>
+        <el-col :span="2" style="text-align: right">身份证号:</el-col>
+        <el-col :span="4">{{ huanZheXinXi.socialNo }}</el-col>
 
-          </el-row>
-          <el-row>
-            <el-col :span="2" style="text-align: right">姓名:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.name }}</el-col>
-            <el-col :span="2" style="text-align: right">性别:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.sexName }}</el-col>
-            <el-col :span="2" style="text-align: right">联系电话:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.homeTel }}</el-col>
-            <el-col :span="2" style="text-align: right">入院日期:</el-col>
-            <el-col :span="4">
-              <span>{{ huanZheXinXi.admissDate }}</span> &nbsp;
-              <span>{{ huanZheXinXi.actIptDays }}天</span>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="2" style="text-align: right">管床医生:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.referPhysicianName }}</el-col>
-            <el-col :span="2" style="text-align: right">病区:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.admissWardName }}</el-col>
-            <el-col :span="2" style="text-align: right">入院医生:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.admissPhysicianName }}</el-col>
-            <el-col :span="2" :title="huanZheXinXi.admissDiagStr"
-                    style="text-align: right">
-              入院诊断:
-            </el-col>
-            <el-col :span="4" :title="huanZheXinXi.admissDiagStr"
-                    style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
-              {{ huanZheXinXi.admissDiagStr }}
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="2" style="text-align: right">小科室:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.smallDeptName }}</el-col>
-            <el-col :span="2" style="text-align: right">登记日期:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.ybRegisterDate }}</el-col>
-            <el-col :span="2" style="text-align: right">身份:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.responceTypeName }}</el-col>
-            <el-col :span="2" style="text-align: right">出生日期:</el-col>
-            <el-col :span="4">
-              <span>{{ huanZheXinXi.birthDate }}</span> &nbsp;&nbsp;
-              <span>{{ huanZheXinXi.age }} 岁</span>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="2" style="text-align: right">总费用:</el-col>
-            <el-col :span="4">
-              <span>{{ huanZheXinXi.totalCharge }}</span> &nbsp;&nbsp;
-              <span style="color: red">{{ huanZheXinXi.balance }}</span>
-            </el-col>
-            <el-col :span="2" style="text-align: right">药品占比:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.yp }}</el-col>
-            <el-col :span="2" style="text-align: right">检验检查:</el-col>
-            <el-col :span="4"> {{ huanZheXinXi.jyjc }}</el-col>
-            <el-col :span="2" style="text-align: right">医保:</el-col>
-            <el-col :span="4">
-              <span>{{ huanZheXinXi.chargeYb }}</span> &nbsp;&nbsp;
-              <span>{{ huanZheXinXi.yb }}</span>
-            </el-col>
-          </el-row>
-        </el-collapse-item>
-      </el-collapse>
+      </el-row>
+      <el-row>
+        <el-col :span="2" style="text-align: right">姓名:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.name }}</el-col>
+        <el-col :span="2" style="text-align: right">性别:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.sexName }}</el-col>
+        <el-col :span="2" style="text-align: right">联系电话:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.homeTel }}</el-col>
+        <el-col :span="2" style="text-align: right">入院日期:</el-col>
+        <el-col :span="4">
+          <span>{{ huanZheXinXi.admissDate }}</span> &nbsp;
+          <span>{{ huanZheXinXi.actIptDays }}天</span>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="2" style="text-align: right">管床医生:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.referPhysicianName }}</el-col>
+        <el-col :span="2" style="text-align: right">病区:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.admissWardName }}</el-col>
+        <el-col :span="2" style="text-align: right">入院医生:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.admissPhysicianName }}</el-col>
+        <el-col :span="2" :title="huanZheXinXi.admissDiagStr"
+                style="text-align: right">
+          入院诊断:
+        </el-col>
+        <el-col :span="4" :title="huanZheXinXi.admissDiagStr"
+                style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
+          {{ huanZheXinXi.admissDiagStr }}
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="2" style="text-align: right">小科室:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.smallDeptName }}</el-col>
+        <el-col :span="2" style="text-align: right">登记日期:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.ybRegisterDate }}</el-col>
+        <el-col :span="2" style="text-align: right">身份:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.responceTypeName }}</el-col>
+        <el-col :span="2" style="text-align: right">出生日期:</el-col>
+        <el-col :span="4">
+          <span>{{ huanZheXinXi.birthDate }}</span> &nbsp;&nbsp;
+          <span>{{ huanZheXinXi.age }} 岁</span>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="2" style="text-align: right">总费用:</el-col>
+        <el-col :span="4">
+          <span>{{ huanZheXinXi.totalCharge }}</span> &nbsp;&nbsp;
+          <span style="color: red">{{ huanZheXinXi.balance }}</span>
+        </el-col>
+        <el-col :span="2" style="text-align: right">药品占比:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.yp }}</el-col>
+        <el-col :span="2" style="text-align: right">检验检查:</el-col>
+        <el-col :span="4"> {{ huanZheXinXi.jyjc }}</el-col>
+        <el-col :span="2" style="text-align: right">医保:</el-col>
+        <el-col :span="4">
+          <span>{{ huanZheXinXi.chargeYb }}</span> &nbsp;&nbsp;
+          <span>{{ huanZheXinXi.yb }}</span>
+        </el-col>
+      </el-row>
     </el-main>
   </el-container>
 </template>
@@ -95,11 +91,19 @@ export default {
 }
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
 .el-col-4 span {
   border-bottom: 1px solid;
 }
 
+#huanZheXinXiGaoDu {
+  background-color: white;
+
+  .el-row {
+    margin: 5px 0;
+  }
+}
+
 :deep(.el-collapse-item__header) {
   height: 20px;
 }

+ 11 - 7
src/layout/Header/Breadcrumb.vue

@@ -2,7 +2,8 @@
   <el-breadcrumb class="app-breadcrumb hidden-sm-and-down" separator="/">
     <transition-group appear name="breadcrumb">
       <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path">
-        <span v-if="item.redirect === 'noRedirect' || index == levelList.length - 1" class="no-redirect">{{ item.meta.title }}</span>
+        <span v-if="item.redirect === 'noRedirect' || index === levelList.length - 1"
+              class="no-redirect">{{ item.meta.title }}</span>
         <a v-else @click.prevent="handleLink(item)">
           {{ item.meta.title }}
         </a>
@@ -12,8 +13,9 @@
 </template>
 
 <script>
-import { ref, defineComponent, watch } from 'vue'
-import { useRoute, useRouter } from 'vue-router'
+import {defineComponent, ref, watch} from 'vue'
+import {useRoute, useRouter} from 'vue-router'
+
 export default defineComponent({
   name: 'BreadCrumb',
   setup() {
@@ -27,18 +29,18 @@ export default defineComponent({
     }
     getBreadcrumb()
     watch(
-      () => route.path,
-      () => getBreadcrumb()
+        () => route.path,
+        () => getBreadcrumb()
     )
     const handleLink = (item) => {
-      const { redirect, path } = item
+      const {redirect, path} = item
       if (redirect) {
         router.push(redirect.toString())
         return
       }
       router.push(path)
     }
-    return { levelList, handleLink }
+    return {levelList, handleLink}
   },
 })
 </script>
@@ -48,10 +50,12 @@ export default defineComponent({
   display: inline-block;
   font-size: 14px;
   line-height: 50px;
+
   .no-redirect {
     color: var(--system-header-breadcrumb-text-color);
     cursor: text;
   }
+
   a {
     color: var(--system-header-text-color);
   }

+ 1 - 1
src/layout/Menu/index.vue

@@ -57,7 +57,7 @@ export default defineComponent({
   overflow-y: auto;
 
   &.collapse {
-    margin-left: 0px;
+    margin-left: 0;
   }
 
   :deep() {

+ 164 - 147
src/layout/Tabs/index.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="tabs">
-    <el-scrollbar class="scroll-container tags-view-container" ref="scrollbarDom">
-      <Item v-for="menu in menuList" :key="menu.meta.title" :menu="menu" :active="activeMenu.path === menu.path" @close="delMenu(menu)" />
+    <el-scrollbar ref="scrollbarDom" class="scroll-container tags-view-container">
+      <Item v-for="menu in menuList" :key="menu.meta.title" :active="activeMenu === menu.path" :menu="menu"
+            @close="delMenu(menu)"/>
     </el-scrollbar>
     <div class="handle">
       <el-dropdown placement="bottom">
@@ -10,176 +11,182 @@
         </div>
         <template #dropdown>
           <el-dropdown-menu>
-            <el-dropdown-item icon="el-icon-circle-close" :disabled="currentDisabled" @click="closeCurrentRoute">关闭当前标签</el-dropdown-item>
-            <el-dropdown-item icon="el-icon-circle-close" :disabled="menuList.length < 3" @click="closeOtherRoute">关闭其他标签</el-dropdown-item>
-            <el-dropdown-item icon="el-icon-circle-close" :disabled="menuList.length <= 1" @click="closeAllRoute">关闭所有标签</el-dropdown-item>
+            <el-dropdown-item :disabled="currentDisabled" icon="el-icon-circle-close" @click="closeCurrentRoute">
+              关闭当前标签
+            </el-dropdown-item>
+            <el-dropdown-item :disabled="menuList.length < 3" icon="el-icon-circle-close" @click="closeOtherRoute">
+              关闭其他标签
+            </el-dropdown-item>
+            <el-dropdown-item :disabled="menuList.length <= 1" icon="el-icon-circle-close" @click="closeAllRoute">
+              关闭所有标签
+            </el-dropdown-item>
           </el-dropdown-menu>
         </template>
       </el-dropdown>
-      <el-tooltip class="item" effect="dark" :content="contentFullScreen ? '退出全屏' : '内容全屏'" placement="bottom">
+      <el-tooltip :content="contentFullScreen ? '退出全屏' : '内容全屏'" class="item" effect="dark" placement="bottom">
         <i class="el-icon-full-screen" @click="onFullscreen"></i>
       </el-tooltip>
     </div>
   </div>
 </template>
 
-<script>
+<script name="tabs" setup>
 import Item from './item.vue'
-import { defineComponent, computed, watch, reactive, ref, nextTick } from 'vue'
-import { useStore } from 'vuex'
-import { useRoute, useRouter } from 'vue-router'
+import {computed, nextTick, ref, watch} from 'vue'
+import {useStore} from 'vuex'
+import {useRoute, useRouter} from 'vue-router'
 import tabsHook from './tabsHook'
-export default defineComponent({
-  components: {
-    Item,
-  },
-  setup() {
-    const store = useStore()
-    const route = useRoute()
-    const router = useRouter()
-    const scrollbarDom = ref(null)
-    const defaultMenu = {
-      path: '/dashboard',
-      meta: { title: '首页', hideClose: true },
-    }
-    const contentFullScreen = computed(() => store.state.app.contentFullScreen)
-    const currentDisabled = computed(() => route.path === defaultMenu.path)
-
-    let activeMenu = reactive({ path: '' })
-    let menuList = ref(tabsHook.getItem())
-    if (menuList.value.length === 0) {
-      // 判断之前有没有调用过
-      addMenu(defaultMenu)
-    }
-    watch(menuList.value, (newVal) => {
-      tabsHook.setItem(newVal)
-    })
-    watch(menuList, (newVal) => {
-      tabsHook.setItem(newVal)
-    })
-    router.afterEach(() => {
-      addMenu(route)
-      initMenu(route)
-    })
 
-    // 全屏
-    function onFullscreen() {
-      store.commit('app/contentFullScreenChange', !contentFullScreen.value)
-    }
+const store = useStore()
+const route = useRoute()
+const router = useRouter()
+const scrollbarDom = ref(null)
+const defaultMenu = {
+  path: '/dashboard',
+  meta: {title: '首页', hideClose: true},
+}
+const contentFullScreen = computed(() => store.state.app.contentFullScreen)
+const currentDisabled = computed(() => route.path === defaultMenu.path)
 
-    // 关闭当前标签,首页不关闭
-    function closeCurrentRoute() {
-      if (route.path !== defaultMenu.path) {
-        delMenu(route)
-      }
-    }
-    // 关闭除了当前标签之外的所有标签
-    function closeOtherRoute() {
-      menuList.value = [defaultMenu]
-      if (route.path !== defaultMenu.path) {
-        addMenu(route)
-      }
-      setKeepAliveData()
-    }
+let activeMenu = $ref('')
+let menuList = ref(tabsHook.getItem())
+if (menuList.value.length === 0) {
+  // 判断之前有没有调用过
+  addMenu(defaultMenu)
+}
+watch(menuList.value, (newVal) => {
+  tabsHook.setItem(newVal)
+})
+watch(menuList, (newVal) => {
+  tabsHook.setItem(newVal)
+})
+router.afterEach(() => {
+  addMenu(route)
+  initMenu(route)
+})
 
-    // 关闭所有的标签,除了首页
-    function closeAllRoute() {
-      menuList.value = [defaultMenu]
-      setKeepAliveData()
-      router.push(defaultMenu.path)
-    }
 
-    // 添加新的菜单项
-    function addMenu(menu) {
-      let { path, meta, name } = menu
-      if (meta.hideTabs) {
-        return
-      }
-      let hasMenu = menuList.value.some((obj) => {
-        return obj.path === path
+// 全屏
+function onFullscreen() {
+  store.commit('app/contentFullScreenChange', !contentFullScreen.value)
+}
+
+// 关闭当前标签,首页不关闭
+function closeCurrentRoute() {
+  if (route.path !== defaultMenu.path) {
+    delMenu(route)
+  }
+}
+
+// 关闭除了当前标签之外的所有标签
+function closeOtherRoute() {
+  menuList.value = [defaultMenu]
+  if (route.path !== defaultMenu.path) {
+    addMenu(route)
+  }
+  setKeepAliveData()
+}
+
+// 关闭所有的标签,除了首页
+function closeAllRoute() {
+  menuList.value = [defaultMenu]
+  setKeepAliveData()
+  router.push(defaultMenu.path)
+}
+
+// 添加新的菜单项
+function addMenu(menu) {
+  let {path, meta, name} = menu
+  if (meta.activeMenu) {
+    let a = menuList.value.some((obj) => {
+      return obj.path === meta.activeMenu
+    })
+    if (!a) {
+      menuList.value.push({
+        path: meta.activeMenu,
+        meta: {title: meta.parentName}
       })
-      if (!hasMenu) {
-        menuList.value.push({
-          path,
-          meta,
-          name,
-        })
-      }
     }
+    return;
+  } else if (meta.hideTabs) {
+    return
+  }
+  let hasMenu = menuList.value.some((obj) => {
+    return obj.path === path || obj.path === meta.activeMenu
+  })
+  if (!hasMenu) {
+    menuList.value.push({
+      path,
+      meta,
+      name,
+    })
+  }
+}
 
-    // 删除菜单项
-    function delMenu(menu) {
-      if (!menu.meta.hideClose) {
-        if (menu.meta.cache && menu.name) {
-          store.commit('keepAlive/delKeepAliveComponentsName', menu.name)
-        }
-        menuList.value.splice(
-          menuList.value.findIndex((item) => item.path === menu.path),
-          1
-        )
-      }
-      if (menu.path === activeMenu.path) {
-        router.push(defaultMenu.path)
-      }
+// 删除菜单项
+function delMenu(menu) {
+  if (!menu.meta.hideClose) {
+    if (menu.meta.cache && menu.name) {
+      store.commit('keepAlive/delKeepAliveComponentsName', menu.name)
     }
+    menuList.value.splice(
+        menuList.value.findIndex((item) => item.path === menu.path),
+        1
+    )
+  }
+  if (menu.path === activeMenu) {
+    router.push(defaultMenu.path)
+  }
+}
 
-    // 初始化activeMenu
-    function initMenu(menu) {
-      activeMenu = menu
-      nextTick(() => {
-        setPosition()
-      })
+// 初始化activeMenu
+function initMenu(menu) {
+  if (menu.meta.activeMenu) {
+    activeMenu = menu.meta.activeMenu
+  } else {
+    activeMenu = menu.path
+  }
+  nextTick(() => {
+    setPosition()
+  })
+}
+
+// 设置当前滚动条应该在的位置
+function setPosition() {
+  if (scrollbarDom.value) {
+    const domBox = {
+      scrollbar: scrollbarDom.value.scrollbar.querySelector('.el-scrollbar__wrap '),
+      activeDom: scrollbarDom.value.scrollbar.querySelector('.active'),
+      activeFather: scrollbarDom.value.scrollbar.querySelector('.el-scrollbar__view'),
     }
-    // 设置当前滚动条应该在的位置
-    function setPosition() {
-      if (scrollbarDom.value) {
-        const domBox = {
-          scrollbar: scrollbarDom.value.scrollbar.querySelector('.el-scrollbar__wrap '),
-          activeDom: scrollbarDom.value.scrollbar.querySelector('.active'),
-          activeFather: scrollbarDom.value.scrollbar.querySelector('.el-scrollbar__view'),
-        }
-        for (let i in domBox) {
-          if (!domBox[i]) {
-            return
-          }
-        }
-        const domData = {
-          scrollbar: domBox.scrollbar.getBoundingClientRect(),
-          activeDom: domBox.activeDom.getBoundingClientRect(),
-          activeFather: domBox.activeFather.getBoundingClientRect(),
-        }
-        const num = domData.activeDom.x - domData.activeFather.x + (1 / 2) * domData.activeDom.width - (1 / 2) * domData.scrollbar.width
-        domBox.scrollbar.scrollLeft = num
+    for (let i in domBox) {
+      if (!domBox[i]) {
+        return
       }
     }
-
-    // 配置需要缓存的数据
-    function setKeepAliveData() {
-      let keepAliveNames = []
-      menuList.value.forEach((menu) => {
-        menu.meta && menu.meta.cache && menu.name && keepAliveNames.push(menu.name)
-      })
-      store.commit('keepAlive/setKeepAliveComponentsName', keepAliveNames)
+    const domData = {
+      scrollbar: domBox.scrollbar.getBoundingClientRect(),
+      activeDom: domBox.activeDom.getBoundingClientRect(),
+      activeFather: domBox.activeFather.getBoundingClientRect(),
     }
+    const num = domData.activeDom.x - domData.activeFather.x + (1 / 2) * domData.activeDom.width - (1 / 2) * domData.scrollbar.width
+    domBox.scrollbar.scrollLeft = num
+  }
+}
 
-    // 初始化时调用:1. 新增菜单 2. 初始化activeMenu
-    addMenu(route)
-    initMenu(route)
-    return {
-      contentFullScreen,
-      onFullscreen,
-      scrollbarDom,
-      // 菜单相关
-      menuList,
-      activeMenu,
-      delMenu,
-      closeCurrentRoute,
-      closeOtherRoute,
-      closeAllRoute,
-      currentDisabled,
-    }
-  },
-})
+// 配置需要缓存的数据
+function setKeepAliveData() {
+  let keepAliveNames = []
+  menuList.value.forEach((menu) => {
+    menu.meta && menu.meta.cache && menu.name && keepAliveNames.push(menu.name)
+  })
+  store.commit('keepAlive/setKeepAliveComponentsName', keepAliveNames)
+}
+
+
+// 初始化时调用:1. 新增菜单 2. 初始化activeMenu
+addMenu(route)
+initMenu(route)
 </script>
 
 <style lang="scss" scoped>
@@ -192,11 +199,13 @@ export default defineComponent({
   border-bottom: 1px solid var(--system-header-border-color);
   border-top: 1px solid var(--system-header-border-color);
   box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
+
   .handle {
     min-width: 95px;
     height: 100%;
     display: flex;
     align-items: center;
+
     .el-dropdown-link {
       margin-top: 5px;
       border-left: 1px solid var(--system-header-border-color);
@@ -206,36 +215,44 @@ export default defineComponent({
       justify-content: center;
       align-items: center;
     }
+
     i {
       color: var(--system-header-text-color);
     }
   }
 }
+
 .scroll-container {
   white-space: nowrap;
   position: relative;
   overflow: hidden;
   width: 100%;
+
   :deep {
     .el-scrollbar__bar {
       bottom: 0px;
     }
+
     .el-scrollbar__wrap {
       height: 49px;
     }
   }
 }
+
 .tags-view-container {
   height: 34px;
   flex: 1;
   width: 100%;
   display: flex;
 }
+
 .el-icon-full-screen {
   cursor: pointer;
+
   &:hover {
     background: rgba(0, 0, 0, 0.025);
   }
+
   &:focus {
     outline: none;
   }

+ 4 - 4
src/router/index.js

@@ -36,17 +36,17 @@ export function addRoutes() {
 const whiteList = ['/login', '/dashboard', '/404', '/401', '/']
 
 router.beforeEach((to, _from, next) => {
-    if (to.meta.blankPage && to.params.passRule) {
-        to.meta.title ? changeTitle(to.params.name) : ''
+    if (to.meta.passRule) {
+        to.meta.title ? changeTitle(to.meta.title) : ''
         next()
         return
     } else if (to.meta.blankPage) {
-        to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
+        to.meta.title ? changeTitle(to.meta.title) : ''
         next(to.query.path)
         return;
     }
     if (to.meta.parent) {
-        to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
+        to.meta.title ? changeTitle(to.meta.title) : ''
         next(to.meta.parent)
         return
     }

+ 38 - 10
src/router/modules/dashboard.js

@@ -341,42 +341,68 @@ const route = [
             },
             {
                 path: 'zhuYuanYiSheng',
-                component: createNameComponent(() => import('../../views/hospitalization/zhu-yuan-yi-sheng/Home.vue')),
-                meta: {title: '住院医生', icon: 'iconfont icon-zhuyuanyisheng'},
+                redirect: '', //
+                component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/Home.vue')),
+                meta: {title: '住院医生', passRule: true},
                 children: [
                     {
                         path: 'xinZengShuJu',
                         name: 'xinZengShuJu',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/XinZengShuJu.vue')),
-                        meta: {title: '新增数据', hideTabs: true, blankPage: true}
+                        meta: {title: '新增数据', hideTabs: true, blankPage: true,}
                     },
                     {
                         path: 'yiZhuLuRu',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue')),
-                        meta: {title: '医嘱录入', icon: 'iconfont icon-yizhuluru', property: 'tianJiaYiZhu'},
+                        meta: {
+                            title: '医嘱录入',
+                            hideTabs: true,
+                            icon: 'iconfont icon-yizhuluru',
+                            passRule: true,
+                            activeMenu: '/inpatient/zhuYuanYiSheng',
+                            parentName: '住院医生'
+                        },
                     },
                     {
                         path: 'huiZhenShenQing',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/HuiZhenShenQing.vue')),
-                        meta: {title: '会诊申请', icon: 'iconfont icon-huizhenshenqing'},
+                        meta: {
+                            title: '会诊申请',
+                            hideTabs: true,
+                            icon: 'iconfont icon-huizhenshenqing',
+                            passRule: true,
+                            activeMenu: '/inpatient/zhuYuanYiSheng'
+                        },
                     },
                     {
                         path: 'jianChaShenQing',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianChaShenQing.vue')),
-                        meta: {title: '检查申请', icon: 'iconfont icon-jianchashenqing'},
+                        meta: {
+                            title: '检查申请',
+                            hideTabs: true,
+                            icon: 'iconfont icon-jianchashenqing',
+                            passRule: true,
+                            activeMenu: '/inpatient/zhuYuanYiSheng'
+                        },
                     },
                     {
                         path: 'jianYanShenQing',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianYanShenQing.vue')),
-                        meta: {title: '检验申请', icon: 'iconfont icon-jianyanshenqing'},
+                        meta: {
+                            title: '检验申请',
+                            hideTabs: true,
+                            passRule: true,
+                            activeMenu: '/inpatient/zhuYuanYiSheng'
+                        },
                     },
                     {
                         path: 'shouShuShenQing',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/ShouShuShenQing.vue')),
                         meta: {
                             title: '查看手术',
-                            icon: 'iconfont icon-shoushushenqing',
-                            property: 'shouShuShenQing',
+                            hideTabs: true,
+                            passRule: true,
+                            activeMenu: '/inpatient/zhuYuanYiSheng'
                         },
                     },
                     {
@@ -384,7 +410,9 @@ const route = [
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/ChaXunChaoYaoYiZhu.vue')),
                         meta: {
                             title: '查看草药医嘱',
-                            property: 'caoYaoYiZhu',
+                            hideTabs: true,
+                            passRule: true,
+                            activeMenu: '/inpatient/zhuYuanYiSheng'
                         },
                     },
                 ],

+ 78 - 79
src/store/modules/app.js

@@ -1,93 +1,92 @@
 import Cookies from 'js-cookie'
 
 const state = () => ({
-  isCollapse: true, // 侧边栏是否收缩展示
-  contentFullScreen: false, // 内容是否可全屏展示
-  showLogo: true, // 是否显示Logo
-  fixedTop: false, // 是否固定顶部, todo,暂未使用
-  showTabs: true, // 是否显示导航历史
-  expandOneMenu: true, // 一次是否只能展开一个菜单
-  elementSize: 'mini', // element默认尺寸,支持官网四个大小参数
-  loading: false,
-  windowSize: {},
-  currentPageName: null,
-  jdt: {
-    title: null,
-    isOpen: false,
-    closeButton: false,
-  },
-  theme: {
-    state: {
-      style: 'default',
-      primaryColor: '#409eff',
-      menuType: 'side',
-    },
-  },
-  yiZhuLuRu: {
-    jianRongMoShi: true,
-    elTabgName: '',
-  },
-  unreadMessageCount: 0, // 未查看的消息数量
-  systemMessages: [], // 已经看过的系统通知id
+    isCollapse: true, // 侧边栏是否收缩展示
+    contentFullScreen: false, // 内容是否可全屏展示
+    showLogo: true, // 是否显示Logo
+    fixedTop: false, // 是否固定顶部, todo,暂未使用
+    showTabs: true, // 是否显示导航历史
+    expandOneMenu: true, // 一次是否只能展开一个菜单
+    elementSize: 'mini', // element默认尺寸,支持官网四个大小参数
+    loading: false,
+    windowSize: {},
+    currentPageName: null,
+    jdt: {
+        title: null,
+        isOpen: false,
+        closeButton: false,
+    },
+    theme: {
+        state: {
+            style: 'default',
+            primaryColor: '#409eff',
+            menuType: 'side',
+        },
+    },
+    yiZhuLuRu: {
+        path: '/inpatient/zhuYuanYiSheng/yiZhuLuRu'
+    },
+    unreadMessageCount: 0, // 未查看的消息数量
+    systemMessages: [], // 已经看过的系统通知id
 })
 
 // mutations
 const mutations = {
-  isCollapseChange(state, type) {
-    state.isCollapse = type
-  },
-  contentFullScreenChange(state, type) {
-    state.contentFullScreen = type
-  },
-  menuListChange(state, arr) {
-    state.menuList = arr
-  },
-  stateChange(state, option) {
-    state[option.name] = option.value
-  },
-  setLoading(state, val) {
-    //state.loading = val
-  },
-  setWindowSize(state, windowSize) {
-    state.windowSize = windowSize
-  },
-  setCurrentPageName(state, val) {
-    state.currentPageName = val
-  },
-  setJdt(state, val) {
-    Cookies.set('jdtTitle', val.title)
-    state.jdt = val
-  },
-  closeButton(state, val) {
-    state.jdt.closeButton = val
-  },
-  closeJdt(state) {
-    state.jdt.isOpen = false
-  },
-  titleJdt(state, val) {
-    state.jdt.title = val
-  },
-  setJianRongMuShi(state, val) {
-    state.yiZhuLuRu.jianRongMoShi = val
-  },
-  setUnreadMessageCount(state, val) {
-    state.unreadMessageCount = val
-  },
-  setSystemMessages(state, val) {
-    if (val === null) {
-      state.systemMessages = []
-    } else {
-      state.systemMessages.push(val)
-    }
-  },
+    isCollapseChange(state, type) {
+        state.isCollapse = type
+    },
+    contentFullScreenChange(state, type) {
+        state.contentFullScreen = type
+    },
+    menuListChange(state, arr) {
+        state.menuList = arr
+    },
+    stateChange(state, option) {
+        state[option.name] = option.value
+    },
+    setLoading(state, val) {
+        //state.loading = val
+    },
+    setWindowSize(state, windowSize) {
+        state.windowSize = windowSize
+    },
+    setCurrentPageName(state, val) {
+        state.currentPageName = val
+    },
+    setJdt(state, val) {
+        Cookies.set('jdtTitle', val.title)
+        state.jdt = val
+    },
+    closeButton(state, val) {
+        state.jdt.closeButton = val
+    },
+    closeJdt(state) {
+        state.jdt.isOpen = false
+    },
+    titleJdt(state, val) {
+        state.jdt.title = val
+    },
+    setYzPath(state, val) {
+        state.yiZhuLuRu.path = val
+    },
+    setUnreadMessageCount(state, val) {
+        state.unreadMessageCount = val
+    },
+    setSystemMessages(state, val) {
+        if (val === null) {
+            state.systemMessages = []
+        } else {
+            state.systemMessages.push(val)
+        }
+    },
 }
 
 // actions
 const actions = {}
 
 export default {
-  namespaced: true,
-  state,
-  actions,
-  mutations,
+    namespaced: true,
+    state,
+    actions,
+    mutations,
 }

+ 26 - 11
src/views/clinic/triage/FloorScreen.vue

@@ -23,10 +23,10 @@
         <div style="height: 30px"></div>
         <div v-for="(n, index) in notifies" :key="index">
           <el-card>
-            <div class="mid-notify" v-if="n.fzNo">
+            <div v-if="n.fzNo" class="mid-notify">
               <el-tag style="height: 42px; line-height: 42px">{{ n.fzNo }}号{{ n.name }}</el-tag>
               <span style="font-size: 25px; color: dodgerblue; margin: 0 5px">→</span>
-              <el-tag type="danger" style="height: 42px; line-height: 42px">{{ n.deptName }}诊室 {{ n.roomNo }}</el-tag>
+              <el-tag style="height: 42px; line-height: 42px" type="danger">{{ n.deptName }}诊室 {{ n.roomNo }}</el-tag>
             </div>
           </el-card>
           <div style="height: 10px"></div>
@@ -39,19 +39,29 @@
               <el-col :span="6">
                 <el-card>
                   <div class="small-notify center-text">
-                    <el-tag type="danger" effect="dark" style="height: 42px; line-height: 42px"> {{ room.deptName }} </el-tag>
+                    <el-tag effect="dark" style="height: 42px; line-height: 42px" type="danger"> {{
+                        room.deptName
+                      }}
+                    </el-tag>
                     <el-divider></el-divider>
-                    <el-tag type="danger" effect="dark" style="height: 42px; line-height: 42px"> 诊室{{ room.roomNo }} </el-tag>
+                    <el-tag effect="dark" style="height: 42px; line-height: 42px" type="danger"> 诊室{{
+                        room.roomNo
+                      }}
+                    </el-tag>
                   </div>
                 </el-card>
               </el-col>
-              <el-col :span="6" v-for="(p, index) in room.patients.slice((room.page - 1) * 3, room.page * 3)" :key="index">
+              <el-col v-for="(p, index) in room.patients.slice((room.page - 1) * 3, room.page * 3)" :key="index"
+                      :span="6">
                 <el-card>
                   <div class="small-notify center-text">
-                    <el-tag type="success" effect="dark" style="height: 42px; line-height: 42px">{{ p.fzNo }}号</el-tag>
+                    <el-tag effect="dark" style="height: 42px; line-height: 42px" type="success">{{ p.fzNo }}号</el-tag>
                     <el-tag effect="dark" style="height: 42px; line-height: 42px">{{ p.name }}</el-tag>
                     <el-divider></el-divider>
-                    <el-tag type="danger" effect="dark" style="height: 42px; line-height: 42px"> 医师:{{ room.doctorName }} </el-tag>
+                    <el-tag effect="dark" style="height: 42px; line-height: 42px" type="danger"> 医师:{{
+                        room.doctorName
+                      }}
+                    </el-tag>
                   </div>
                 </el-card>
               </el-col>
@@ -66,10 +76,10 @@
 
 <script>
 import store from '@/store'
-import { onMounted, onUnmounted, reactive, ref } from 'vue'
-import { initWebSocket, setCallback } from '@/utils/websocket'
+import {onMounted, onUnmounted, reactive, ref} from 'vue'
+import {initWebSocket, setCallback} from '@/utils/websocket'
 import MyClock from '@/components/MyClock.vue'
-import { getBigScreenData, notifyComplete } from '@/api/triage/triage'
+import {getBigScreenData, notifyComplete} from '@/api/triage/triage'
 
 export default {
   components: {
@@ -188,20 +198,25 @@ export default {
 .large-notify * {
   font-size: 55px;
 }
+
 .mid-notify * {
   font-size: 30px;
 }
+
 .small-notify * {
   font-size: 28px;
 }
+
 strong {
   color: #409eff;
 }
+
 .center-text {
   width: 100%;
   text-align: center;
 }
-:deep() .el-divider {
+
+:deep(.el-divider) {
   background-color: #0a84fd;
 }
 </style>

+ 63 - 20
src/views/hospitalization/zhu-yuan-yi-sheng/Home.vue

@@ -3,10 +3,16 @@
     <el-container>
       <el-aside style="width:auto !important;">
         <Overview v-show="xianShiLieBiao" :showSelection="false"></Overview>
-        <!--        <huan-zhe-lie-biao v-show="xianShiLieBiao"></huan-zhe-lie-biao>-->
       </el-aside>
       <el-main>
         <huan-zhe-xin-xi></huan-zhe-xin-xi>
+        <el-row class="tabs">
+          <template v-for="item in pathList">
+            <el-col :span="3" :style="xuanZhong(item.path)" class="tab-item" @click="handleClick(item.path)">
+              <span> {{ item.title }}</span>
+            </el-col>
+          </template>
+        </el-row>
         <router-view v-slot="{ Component }">
           <keep-alive>
             <component :is="Component"/>
@@ -17,36 +23,73 @@
   </el-container>
 </template>
 
-<script>
-import store from '../../../store'
+<script name="Home" setup>
+import store from '@/store'
 import {computed, ref, watch} from "vue";
-import HuanZheXinXi from "../../../components/zhu-yuan-yi-sheng/HuanZheXinXi.vue";
-import YiZhuLuRuZhuJian from "./yi-zhu-lu-ru/YiZhuLuRu.vue";
+import HuanZheXinXi from "@/components/zhu-yuan-yi-sheng/HuanZheXinXi.vue";
 import router from "@/router";
-import Overview from '../../../components/medical-insurance/patient-overview/Index.vue'
+import Overview from '@/components/medical-insurance/patient-overview/Index.vue'
 
+const tableHeight = computed(() => {
+  return store.state.app.windowSize.h
+})
+const xianShiLieBiao = ref(true)
 
-export default {
-  name: "Home",
-  components: {YiZhuLuRuZhuJian, HuanZheXinXi, Overview},
-  setup() {
-    const tableHeight = computed(() => {
-      return store.state.app.windowSize.h
-    })
-    const xianShiLieBiao = ref(true)
+watch(() => router.currentRoute.value.path, () => {
+  xianShiLieBiao.value = !router.currentRoute.value.meta.blankPage;
+})
 
-    watch(() => router.currentRoute.value.path, () => {
-      xianShiLieBiao.value = !router.currentRoute.value.meta.blankPage;
-    })
+const handleClick = (path) => {
+  store.commit('app/setYzPath', path)
+  router.push(path)
+}
+let pathList = $ref([
+  {path: '/inpatient/zhuYuanYiSheng/yiZhuLuRu', title: '医嘱录入'},
+  {path: '/inpatient/zhuYuanYiSheng/huiZhenShenQing', title: '会诊申请'},
+  {path: '/inpatient/zhuYuanYiSheng/jianChaShenQing', title: '检查申请'},
+  {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing', title: '检验申请'},
+  {path: '/inpatient/zhuYuanYiSheng/shouShuShenQing', title: '查看手术'},
+  {path: '/inpatient/zhuYuanYiSheng/caoYaoYiZhu', title: '查看草药医嘱'},
+])
+
+
+onActivated(() => {
+  router.push(store.state.app.yiZhuLuRu.path)
+
+})
 
+const xuanZhong = (val) => {
+  if (router.currentRoute.value.path === val) {
     return {
-      tableHeight,
-      xianShiLieBiao
+      backgroundColor: 'white',
+      color: '#0a84fd'
     }
   }
 }
+
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
+:deep(el-tabs el-tabs--top demo-tabs) {
+  background-color: white;
+}
+
+.tabs {
+  background-color: #e5e7eb;
+  border-radius: 4px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  margin: 3px;
 
+}
+
+.tab-item {
+  line-height: 30px;
+  text-align: center;
+
+  &:hover span {
+    color: #0a84fd;
+    cursor: pointer;
+  }
+
+}
 </style>

+ 81 - 82
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianYanShenQing.vue

@@ -20,6 +20,7 @@
       <el-divider direction="vertical"></el-divider>
       <el-button icon="el-icon-search" type="primary" @click="dianJiChaXunJianYan(0)">查询</el-button>
       <el-button icon="el-icon-plus" type="primary" @click="dianJiXinZengJianYan">新增</el-button>
+      <el-button icon="el-icon-view" type="primary" @click="dianJiChaKanHuanZheJianYan">查看患者检验</el-button>
     </el-header>
     <el-main>
       <el-table :data="jianYanShuJu" :height="windowSize.h / 1.5">
@@ -51,11 +52,11 @@
   </el-container>
 </template>
 
-<script>
+<script name="JianYanShenQing" setup>
 import {computed, ref, watch} from "vue";
 import {shortcuts} from '@/data/shortcuts'
 import store from "@/store";
-import {getDateRangeFormatDate} from "@/utils/date";
+import {getDateRangeFormatDate, getFormatDatetime} from "@/utils/date";
 import {huanZheXinXi, youWuXuanZheHuanZhe} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import {
   huoQuJianYan,
@@ -64,99 +65,97 @@ import {
 } from "@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing";
 import router from "@/router";
 import {ElMessageBox} from "element-plus";
+import {getServerDateApi} from "@/api/public-api";
 
-export default {
-  name: "JianYanShenQing",
-  setup() {
-    const windowSize = computed(() => {
-      return store.state.app.windowSize
-    })
+const windowSize = computed(() => {
+  return store.state.app.windowSize
+})
 
-    const dateRange = ref(null)
-    const jianYanShuJu = ref([])
-    const tianJiaJianYan = ref()
+const dateRange = ref(null)
+const jianYanShuJu = ref([])
+const tianJiaJianYan = ref()
 
-    const chaXunJianYanTiaoJian = ref({
-      orderName: '',
-      startTime: '',
-      endTime: '',
-      currentPage: 1,
-      pageSize: 20,
-      total: 0,
-      patNo: '',
-      times: '',
-    })
+const chaXunJianYanTiaoJian = ref({
+  orderName: '',
+  startTime: '',
+  endTime: '',
+  currentPage: 1,
+  pageSize: 20,
+  total: 0,
+  patNo: '',
+  times: '',
+})
 
-    const dianJiChaXunJianYan = (val) => {
-      chaXunJianYanTiaoJian.value.total = val
-      let dateS = getDateRangeFormatDate(dateRange.value)
-      chaXunJianYanTiaoJian.value.startTime = dateS.startTime
-      chaXunJianYanTiaoJian.value.endTime = dateS.endTime
-      chaXunJianYanTiaoJian.value.patNo = huanZheXinXi.value.inpatientNo
-      chaXunJianYanTiaoJian.value.times = huanZheXinXi.value.admissTimes
-      huoQuJianYan(chaXunJianYanTiaoJian.value).then((res) => {
-        if (val === 0) {
-          chaXunJianYanTiaoJian.value.total = res.total
-        }
-        jianYanShuJu.value = res.records
-      })
+const dianJiChaXunJianYan = (val) => {
+  chaXunJianYanTiaoJian.value.total = val
+  let dateS = getDateRangeFormatDate(dateRange.value)
+  chaXunJianYanTiaoJian.value.startTime = dateS.startTime
+  chaXunJianYanTiaoJian.value.endTime = dateS.endTime
+  chaXunJianYanTiaoJian.value.patNo = huanZheXinXi.value.inpatientNo
+  chaXunJianYanTiaoJian.value.times = huanZheXinXi.value.admissTimes
+  huoQuJianYan(chaXunJianYanTiaoJian.value).then((res) => {
+    if (val === 0) {
+      chaXunJianYanTiaoJian.value.total = res.total
     }
+    jianYanShuJu.value = res.records
+  })
+}
 
-    const jianYanTiaoShu = (val) => {
-      chaXunJianYanTiaoJian.value.currentPage = 1
-      chaXunJianYanTiaoJian.value.pageSize = val
-      dianJiChaXunJianYan(0)
-    }
+const jianYanTiaoShu = (val) => {
+  chaXunJianYanTiaoJian.value.currentPage = 1
+  chaXunJianYanTiaoJian.value.pageSize = val
+  dianJiChaXunJianYan(0)
+}
 
-    const jianYanFenYe = (val) => {
-      chaXunJianYanTiaoJian.value.currentPage = val
-      dianJiChaXunJianYan(chaXunJianYanTiaoJian.value.total)
-    }
+const jianYanFenYe = (val) => {
+  chaXunJianYanTiaoJian.value.currentPage = val
+  dianJiChaXunJianYan(chaXunJianYanTiaoJian.value.total)
+}
 
-    const querySearchAsync = (val, cb) => {
-      if (youWuXuanZheHuanZhe()) return
-      huoQuJianYanJianChaMing(val, huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, huanZheXinXi.value.bedNo, '2').then(res => {
-        cb(res)
-      })
-    }
+const querySearchAsync = (val, cb) => {
+  if (youWuXuanZheHuanZhe()) return
+  huoQuJianYanJianChaMing(val, huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, huanZheXinXi.value.bedNo, '2').then(res => {
+    cb(res)
+  })
+}
 
-    const dianJiShanChu = (row, index) => {
-      ElMessageBox.confirm(`您确定要删除【${row.orderName}】吗?`, '提示').then(() => {
-        shanChuJianChaJianYan(row.reqNo, row.inpatientNo, row.admissTimes).then((res) => {
-          jianYanShuJu.value.splice(index, 1)
-        })
-      }).catch(() => {
-      })
-    }
+const dianJiShanChu = (row, index) => {
+  ElMessageBox.confirm(`您确定要删除【${row.orderName}】吗?`, '提示').then(() => {
+    shanChuJianChaJianYan(row.reqNo, row.inpatientNo, row.admissTimes).then((res) => {
+      jianYanShuJu.value.splice(index, 1)
+    })
+  }).catch(() => {
+  })
+}
 
-    const dianJiXinZengJianYan = () => {
-      router.push({
-        name: 'xinZengShuJu',
-        params: {passRule: true, name: '检验'},
-        query: {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing'}
-      })
-    }
+const dianJiXinZengJianYan = () => {
+  router.push({
+    name: 'xinZengShuJu',
+    params: {passRule: true, name: '检验'},
+    query: {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing'}
+  })
+}
 
-    watch(() => huanZheXinXi.value, () => {
-      dianJiChaXunJianYan(0)
+const dianJiChaKanHuanZheJianYan = () => {
+  if (youWuXuanZheHuanZhe()) return
+  let end = ''
+  getServerDateApi().then((res) => {
+    end = getFormatDatetime(res, 'YYYY-MM-DD')
+    router.push({
+      name: 'inspectionReportIndex', params: {
+        passRule: true,
+        patNo: huanZheXinXi.value.inpatientNo,
+        start: huanZheXinXi.value.admissDate,
+        end: end,
+      }
     })
-
-    return {
-      chaXunJianYanTiaoJian,
-      shortcuts,
-      dateRange,
-      dianJiChaXunJianYan,
-      windowSize,
-      jianYanTiaoShu,
-      jianYanFenYe,
-      querySearchAsync,
-      jianYanShuJu,
-      tianJiaJianYan,
-      dianJiXinZengJianYan,
-      dianJiShanChu
-    }
-  }
+  })
 }
+
+watch(() => huanZheXinXi.value, () => {
+  dianJiChaXunJianYan(0)
+})
+
 </script>
 
 <style scoped>