Browse Source

优化完医嘱录入了。

xiaochan 3 years ago
parent
commit
29daefd34f
25 changed files with 822 additions and 702 deletions
  1. 0 0
      src/components/zhu-yuan-yi-sheng/HuanZheLieBiao.vue
  2. 0 0
      src/components/zhu-yuan-yi-sheng/HuanZheXinXi.vue
  3. 78 82
      src/components/zhu-yuan-yi-sheng/TianJiaJianChaJianYan.vue
  4. 103 0
      src/components/zhu-yuan-yi-sheng/shou-shu-shen-qing/ChaXunShouShuXiangMu.vue
  5. 0 78
      src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/GongJuZuJian.vue
  6. 92 0
      src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/SouSuoYiZhu.vue
  7. 8 0
      src/data/shortcuts.js
  8. 21 21
      src/icons/alicdn/iconfont.css
  9. 29 7
      src/layout/Header/index.vue
  10. 49 50
      src/router/index.js
  11. 6 40
      src/router/modules/dashboard.js
  12. 13 0
      src/utils/date.js
  13. 67 8
      src/views/hospitalization/case-front-sheet/JieShouHuiZhen.vue
  14. 5 11
      src/views/hospitalization/zhu-yuan-yi-sheng/Home.vue
  15. 0 9
      src/views/hospitalization/zhu-yuan-yi-sheng/LuYouYeMian.vue
  16. 38 9
      src/views/hospitalization/zhu-yuan-yi-sheng/XinZengShuJu.vue
  17. 10 1
      src/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/ChaXunChaoYaoYiZhu.vue
  18. 0 0
      src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/BianJiJianChaJianYanShenQing.vue
  19. 12 5
      src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianChaShenQing.vue
  20. 12 5
      src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianYanShenQing.vue
  21. 1 4
      src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.js
  22. 10 2
      src/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/ShouShuShenQing.vue
  23. 22 80
      src/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/XinZengShouShuShenQing.vue
  24. 225 274
      src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TianJiaYiZhu.vue
  25. 21 16
      src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue

+ 0 - 0
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuanZheLieBiao.vue → src/components/zhu-yuan-yi-sheng/HuanZheLieBiao.vue


+ 0 - 0
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuanZheXinXi.vue → src/components/zhu-yuan-yi-sheng/HuanZheXinXi.vue


+ 78 - 82
src/components/zhu-yuan-yi-sheng/TianJiaJianChaJianYan.vue

@@ -1,83 +1,78 @@
 <template>
-  <el-dialog v-model="dialog" :close-on-click-modal="false" :close-on-press-escape="false"
-             :show-close="false"
-             :title="jianCha ? '添加检查' : '添加检验'"
-             top="15%" width="100%">
-    <el-container>
-      <el-aside>
-        <el-radio-group v-model="chaZhaoLeiXing" @change="dianJiLeiXingChaXun">
-          <el-radio-button :label="1">新申请</el-radio-button>
-          <el-radio-button :label="2">个人模板</el-radio-button>
-          <el-radio-button :label="3">科室模板</el-radio-button>
-        </el-radio-group>
-        <el-table :data="jianChaFenLeiShuJu.data" :height="windowSize.h / 1.6" highlight-current-row stripe>
-          <el-table-column label="名称" prop="name"></el-table-column>
-          <el-table-column label="操作">
-            <template #default="scope">
-              <el-button size="small" split-button type="primary"
-                         @click="ceBianLanDianJi('查看',scope.row)">查看
-              </el-button>
-              <el-button v-if="chaZhaoLeiXing !== 1" type="danger" @click="ceBianLanDianJi('删除',scope.row)">删除
-              </el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-pagination
-            :current-page="jianChaFenLeiShuJu.currentPage"
-            :page-size="20"
-            :pager-count="5"
-            :total="jianChaFenLeiShuJu.total"
-            layout="prev,pager,next,total"
-            small
-            @current-change="jianChaFenLeiFenYe">
-        </el-pagination>
-      </el-aside>
-      <el-main>
-        <el-button @click="closeDialog">关闭</el-button>
-        <el-button :disabled="xuanZhongJianCha.data.length === 0" @click="dianJiBaoCunShenQing">保存</el-button>
-        <el-button :disabled="xuanZhongJianCha.data.length === 0" @click="baoCunMuBan.dialog = true">存为模板</el-button>
-        <!--   这里是检查的数据信息     -->
-        <el-table :data="xuanZhongJianCha.data" :height="windowSize.h / 1.9">
-          <el-table-column label="项目编码" prop="orderCode"></el-table-column>
-          <el-table-column label="项目名称" prop="orderName" show-overflow-tooltip></el-table-column>
-          <el-table-column label="检查时间" prop="startTime" show-overflow-tooltip></el-table-column>
-          <el-table-column label="执行科室" prop="execDeptName"></el-table-column>
-          <el-table-column label="急诊标识" prop="jzFlag">
-            <template #default="scope">
-              <span v-if="scope.row.jzFlag === 1">√</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="自费" prop="ybSelfFlag">
-            <template #default="scope">
-              <span v-if="scope.row.ybSelfFlag === 1">√</span>
-            </template>
-          </el-table-column>
-          <el-table-column v-if="!jianCha" label="标本" prop="inspectStuffName" show-overflow-tooltip></el-table-column>
-          <el-table-column :label="jianCha ? '病室摘要' : '申请说明'" prop="reqComment" show-overflow-tooltip></el-table-column>
-          <el-table-column v-if="jianCha" label="体征信息" prop="reqTzComment" show-overflow-tooltip></el-table-column>
-          <el-table-column v-if="jianCha" label="相关辅检结果" prop="reqOtherResult" show-overflow-tooltip></el-table-column>
-          <el-table-column v-if="jianCha" label="临床诊断" prop="diagText" show-overflow-tooltip></el-table-column>
-          <el-table-column label="编辑" width="120">
-            <template #default="scope">
-              <el-button icon="el-icon-edit" round type="primary"
-                         @click="dianJiBianJi(scope.row,scope.$index)"></el-button>
-              <el-button icon="el-icon-delete" round type="danger"
-                         @click="xuanZhongJianCha.data.splice(scope.$index,1);
+  <el-container>
+    <el-aside>
+      <el-radio-group v-model="chaZhaoLeiXing" @change="dianJiLeiXingChaXun">
+        <el-radio-button :label="1">新申请</el-radio-button>
+        <el-radio-button :label="2">个人模板</el-radio-button>
+        <el-radio-button :label="3">科室模板</el-radio-button>
+      </el-radio-group>
+      <el-table :data="jianChaFenLeiShuJu.data" :height="windowSize.h / 1.4" highlight-current-row stripe>
+        <el-table-column label="名称" prop="name"></el-table-column>
+        <el-table-column label="操作">
+          <template #default="scope">
+            <el-button size="small" split-button type="primary"
+                       @click="ceBianLanDianJi('查看',scope.row)">查看
+            </el-button>
+            <el-button v-if="chaZhaoLeiXing !== 1" type="danger" @click="ceBianLanDianJi('删除',scope.row)">删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+          :current-page="jianChaFenLeiShuJu.currentPage"
+          :page-size="20"
+          :pager-count="5"
+          :total="jianChaFenLeiShuJu.total"
+          layout="prev,pager,next,total"
+          small
+          @current-change="jianChaFenLeiFenYe">
+      </el-pagination>
+    </el-aside>
+    <el-main>
+      <el-button icon="el-icon-arrow-left" style="font-size: 14px" type="text" @click="router.go(-1)">返回</el-button>
+      <el-button :disabled="xuanZhongJianCha.data.length === 0" @click="dianJiBaoCunShenQing">保存</el-button>
+      <el-button :disabled="xuanZhongJianCha.data.length === 0" @click="baoCunMuBan.dialog = true">存为模板</el-button>
+      <!--   这里是检查的数据信息     -->
+      <el-table :data="xuanZhongJianCha.data" :height="windowSize.h / 1.4">
+        <el-table-column label="项目编码" prop="orderCode"></el-table-column>
+        <el-table-column label="项目名称" prop="orderName" show-overflow-tooltip></el-table-column>
+        <el-table-column label="检查时间" prop="startTime" show-overflow-tooltip></el-table-column>
+        <el-table-column label="执行科室" prop="execDeptName"></el-table-column>
+        <el-table-column label="急诊标识" prop="jzFlag">
+          <template #default="scope">
+            <span v-if="scope.row.jzFlag === 1">√</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="自费" prop="ybSelfFlag">
+          <template #default="scope">
+            <span v-if="scope.row.ybSelfFlag === 1">√</span>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="!jianCha" label="标本" prop="inspectStuffName" show-overflow-tooltip></el-table-column>
+        <el-table-column :label="jianCha ? '病室摘要' : '申请说明'" prop="reqComment" show-overflow-tooltip></el-table-column>
+        <el-table-column v-if="jianCha" label="体征信息" prop="reqTzComment" show-overflow-tooltip></el-table-column>
+        <el-table-column v-if="jianCha" label="相关辅检结果" prop="reqOtherResult" show-overflow-tooltip></el-table-column>
+        <el-table-column v-if="jianCha" label="临床诊断" prop="diagText" show-overflow-tooltip></el-table-column>
+        <el-table-column label="编辑" width="120">
+          <template #default="scope">
+            <el-button icon="el-icon-edit" round type="primary"
+                       @click="dianJiBianJi(scope.row,scope.$index)"></el-button>
+            <el-button icon="el-icon-delete" round type="danger"
+                       @click="xuanZhongJianCha.data.splice(scope.$index,1);
                          xuanZhongJianCha.weiBianMa.splice(scope.$index,1)"></el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </el-main>
-    </el-container>
-    <el-dialog v-model="xiangXiShuJu.dialog">
-      <el-button @click="dianJiQueRenXuanZhong">确定</el-button>
-      <el-button @click="xiangXiShuJu.dialog = false">取消</el-button>
-      <el-table :data="xiangXiShuJu.data" :height="windowSize.h / 2" @selection-change="xuanZhong">
-        <el-table-column type="selection"></el-table-column>
-        <el-table-column label="项目名称" prop="orderName"></el-table-column>
-        <el-table-column label="说明" prop="ybComment"></el-table-column>
+          </template>
+        </el-table-column>
       </el-table>
-    </el-dialog>
+    </el-main>
+  </el-container>
+  <el-dialog v-model="xiangXiShuJu.dialog">
+    <el-button @click="dianJiQueRenXuanZhong">确定</el-button>
+    <el-button @click="xiangXiShuJu.dialog = false">取消</el-button>
+    <el-table :data="xiangXiShuJu.data" :height="windowSize.h / 2" @selection-change="xuanZhong">
+      <el-table-column type="selection"></el-table-column>
+      <el-table-column label="项目名称" prop="orderName"></el-table-column>
+      <el-table-column label="说明" prop="ybComment"></el-table-column>
+    </el-table>
   </el-dialog>
   <el-dialog v-model="baoCunMuBan.dialog" center title="保存检查模板" width="30%">
     <el-form ref="baoCunMuBanRef" :model="baoCunMuBan" :rules="baoCunMuBanJiaoYan" label-width="80px">
@@ -132,12 +127,14 @@ import store from "@/store";
 import {clone} from "@/utils/clone";
 import {ElMessage, ElMessageBox} from "element-plus";
 import {listNotBlank} from "@/utils/blank-utils";
-import BianJiJianChaShenQing from "@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-shen-qing/BianJiJianChaJianYanShenQing.vue";
+import BianJiJianChaShenQing
+  from "@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/BianJiJianChaJianYanShenQing.vue";
 import {huanHangXianShi} from "@/utils/date";
 import {huanZheXinXi, youWuXuanZheHuanZhe} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
+import router from '@/router'
 
 export default {
-  name: "TianJiaJianCha",
+  name: "tianJiaJianChaJianYan",
   components: {BianJiJianChaShenQing},
   props: {
     jianCha: {
@@ -146,7 +143,6 @@ export default {
     }
   },
   setup(props) {
-    const dialog = ref(false)
     const chaZhaoLeiXing = ref(1)
     const xuanZhongJianCha = ref({
       data: [],
@@ -309,7 +305,6 @@ export default {
     })
 
     return {
-      dialog,
       jianChaFenLeiShuJu,
       jianChaFenLeiFenYe,
       windowSize,
@@ -331,7 +326,8 @@ export default {
       baoCunMuBanJiaoYan,
       bianJiFanYe,
       jianCha: props.jianCha,
-      biaoBenShuJu
+      biaoBenShuJu,
+      router
     }
   }
 }

+ 103 - 0
src/components/zhu-yuan-yi-sheng/shou-shu-shen-qing/ChaXunShouShuXiangMu.vue

@@ -0,0 +1,103 @@
+<template>
+  <el-dialog v-model="dialog" title="手术项目搜索" @close="emit('close')">
+    <el-input ref="searchInput" v-model="orderName" clearable style="width: 120px;"
+              @keyup.enter="chaXunShouShuXiangMu"></el-input>
+    <el-divider direction="vertical"></el-divider>
+    <el-button type="primary" @click="chaXunShouShuXiangMu">查询</el-button>
+    <el-table :data="shouShuShuJu.data" :height="windowSize.h / 1.5">
+      <el-table-column label="编码" prop="opCode"></el-table-column>
+      <el-table-column label="名称" prop="opName"></el-table-column>
+      <el-table-column label="选中">
+        <template #default="scope">
+          <el-button @click="emit('xuanZhongShuJu',scope.row) ">选中</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+        :current-page="shouShuShuJu.currentPage"
+        :page-size="shouShuShuJu.pageSize"
+        :total="shouShuShuJu.total"
+        layout="total,  prev, pager, next"
+        @current-change="souSuoShouShuFenYe">
+    </el-pagination>
+  </el-dialog>
+</template>
+
+<script>
+import {computed, onMounted, ref} from "vue";
+import {fenLeiXiangQing} from "@/api/zhu-yuan-yi-sheng/shou-shu-shen-qing";
+import store from "@/store";
+import {stringNotBlank} from "@/utils/blank-utils";
+
+export default {
+  name: "ChaXunShouShuXiangMu",
+  emits: ['xuanZhongShuJu', 'close'],
+  props: {
+    code: {
+      type: String,
+      default: ''
+    }
+  },
+  setup(props, {emit}) {
+    const windowSize = computed(() => {
+      return store.state.app.windowSize
+    })
+
+    const orderName = ref('')
+    const code = ref('')
+    const searchInput = ref()
+
+    const shouShuShuJu = ref({
+      data: [],
+      currentPage: 1,
+      pageSize: 30,
+      total: 0
+    })
+
+
+    const chaXunShouShuXiangMu = () => {
+      code.value = ''
+      fenLeiXiangQing('', orderName.value, 0, 1, shouShuShuJu.value.pageSize).then((res) => {
+        shouShuShuJu.value.total = res.total
+        shouShuShuJu.value.data = res.records
+      })
+    }
+
+
+    const souSuoShouShuFenYe = (val) => {
+      shouShuShuJu.value.currentPage = val
+      fenLeiXiangQing(code.value, orderName.value, shouShuShuJu.value.total, val, shouShuShuJu.value.pageSize).then((res) => {
+        shouShuShuJu.value.data = res.records
+      })
+    }
+
+    onMounted(() => {
+      if (stringNotBlank(props.code)) {
+        code.value = props.code
+        fenLeiXiangQing(code.value, orderName.value, shouShuShuJu.value.total, 1, shouShuShuJu.value.pageSize).then((res) => {
+          shouShuShuJu.value.data = res.records
+          shouShuShuJu.value.total = res.total
+        })
+      }
+      setTimeout(() => {
+        searchInput.value.focus()
+      }, 100)
+    })
+
+    return {
+      dialog: true,
+      emit,
+      orderName,
+      chaXunShouShuXiangMu,
+      shouShuShuJu,
+      souSuoShouShuFenYe,
+      searchInput,
+      windowSize
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 0 - 78
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/GongJuZuJian.vue

@@ -1,78 +0,0 @@
-<template>
-  <div class="gong-ju-body" style="right: 20px;top: 100px;" @click="dianJiGongJuLan">
-    <div class="gong-ju-wen-zi"><i class="el-icon-setting"></i></div>
-  </div>
-  <el-dialog title="工具箱" v-model="dialog">
-    兼容模式:
-    <el-switch
-        active-color="#13ce66"
-        inactive-color="#ff4949"
-        active-text="启用"
-        inactive-text="停用"
-        :active-value="true"
-        :inactive-value="false"
-        v-model="jianRongMoShi"
-        @change="dianJiJianRongKaiGuan"
-    >
-    </el-switch>
-    <span style="color: #e9ae62;margin-left: 10px;">如果电脑过于卡顿请使用该模式</span>
-  </el-dialog>
-</template>
-
-<script>
-import {ref} from "vue";
-import store from '../../../store'
-
-export default {
-  name: "GongJuZuJian",
-  setup() {
-    const dialog = ref(false)
-    const jianRongMoShi = ref(true)
-    jianRongMoShi.value = store.state.app.yiZhuLuRu.jianRongMoShi
-
-    const dianJiGongJuLan = () => {
-      dialog.value = true
-    }
-
-    const dianJiJianRongKaiGuan = (val) => {
-      store.commit('app/setJianRongMuShi', val)
-    }
-
-    return {
-      dianJiGongJuLan,
-      dialog,
-      jianRongMoShi,
-      dianJiJianRongKaiGuan
-    }
-  }
-
-}
-</script>
-
-<style scoped>
-.gong-ju-body {
-  position: fixed;
-  background-color: #bacff3;
-  width: 40px;
-  height: 40px;
-  border-radius: 50%;
-  color: #bacff3;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  font-size: 20px;
-  box-shadow: 0 0 6px #0000001f;
-  cursor: pointer;
-  z-index: 5;
-}
-
-.gong-ju-wen-zi {
-  height: 100%;
-  width: 100%;
-  background-color: rgb(242, 245, 246);
-  box-shadow: rgb(0 0 0 / 12%) 0 0 6px;
-  text-align: center;
-  line-height: 40px;
-  color: rgb(25, 137, 250);
-}
-</style>

+ 92 - 0
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/SouSuoYiZhu.vue

@@ -0,0 +1,92 @@
+<template>
+  <el-dialog v-model="dialog" title="搜索医嘱" width="95%" @close="emit('close')">
+    <el-input ref="searchInput" v-model="orderName" clearable style="width: 220px"
+              @keyup.enter="dianJiChaXunYiZhu"></el-input>
+    <el-button icon="el-icon-search" type="primary" @click="dianJiChaXunYiZhu">搜索</el-button>
+    <el-table
+        :data="orderData.data.slice((orderData.currentPage - 1) * orderData.pageSize, orderData.currentPage * orderData.pageSize)"
+        :height="windowSize.h / 1.6"
+        highlight-current-row
+        stripe>
+      <el-table-column label="编码" prop="code">
+        <template #default="scope">
+          <el-button @click="emit('xuanZhongFeiYong', scope.row)">{{ scope.row.orderCode }}</el-button>
+        </template>
+      </el-table-column>
+      <el-table-column label="名称" prop="orderName"></el-table-column>
+      <el-table-column label="规格" prop="drugSpecification"></el-table-column>
+      <el-table-column label="描述" prop="discription"></el-table-column>
+      <el-table-column label="库存" prop="stockAmount"></el-table-column>
+      <el-table-column label="大包装" prop="specPack"></el-table-column>
+      <el-table-column label="医保类型" prop="ybFlagNew"></el-table-column>
+      <el-table-column label="医保备注" prop="ybComment"></el-table-column>
+      <el-table-column label="大输液" prop="infusionFlagName"></el-table-column>
+      <el-table-column label="厂家" prop="manuName"></el-table-column>
+      <el-table-column label="类型" prop="orderType"></el-table-column>
+      <el-table-column label="毒麻类型" prop="drugFlagName"></el-table-column>
+    </el-table>
+    <el-pagination
+        :current-page="orderData.currentPage"
+        :page-size="orderData.pageSize"
+        :total="orderData.data.length"
+        layout="total,prev,pager,next,jumper"
+        @current-change="orderDataCurrent"
+    >
+    </el-pagination>
+  </el-dialog>
+</template>
+
+<script>
+import {huoQuXiangMu} from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
+import {computed, onMounted, ref} from "vue";
+import store from "@/store";
+
+export default {
+  name: "SouSuoYiZhu",
+  emits: ['xuanZhongFeiYong', 'close'],
+  setup(props, {emit}) {
+    const windowSize = computed(() => {
+      return store.state.app.windowSize
+    })
+    const orderName = ref('')  // 01672
+    const searchInput = ref(null)
+    const orderData = ref({
+      currentPage: 1,
+      pageSize: 10,
+      data: [],
+    })
+
+    const dianJiChaXunYiZhu = () => {
+      huoQuXiangMu(orderName.value).then((res) => {
+        orderData.value.data = res
+        orderData.value.currentPage = 1
+      })
+    }
+
+    const orderDataCurrent = (val) => {
+      orderData.value.currentPage = val
+    }
+
+    onMounted(() => {
+      setTimeout(() => {
+        searchInput.value.focus()
+      }, 100)
+    })
+
+    return {
+      dialog: true,
+      dianJiChaXunYiZhu,
+      orderName,
+      orderData,
+      orderDataCurrent,
+      windowSize,
+      searchInput,
+      emit
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 8 - 0
src/data/shortcuts.js

@@ -1,6 +1,14 @@
 import moment from 'moment'
+import {getFormatDatetime} from "@/utils/date";
 
 export const shortcuts = [
+    {
+        text: '今天',
+        value: (() => {
+            let start = new Date()
+            return [getFormatDatetime(start, 'YYYY-MM-DD'), getFormatDatetime(start, 'YYYY-MM-DD')]
+        })(),
+    },
     {
         text: '最近一周',
         value: (() => {

+ 21 - 21
src/icons/alicdn/iconfont.css

@@ -1,68 +1,68 @@
 @font-face {
-  font-family: 'sfont'; /* Project id 2570680 */
-  src: url('./font_2570680.woff2') format('woff2'), url('./font_2570680.woff') format('woff'), url('./font_2570680.ttf') format('truetype');
+    font-family: 'sfont'; /* Project id 2570680 */
+    src: url('./font_2570680.woff2') format('woff2'), url('./font_2570680.woff') format('woff'), url('./font_2570680.ttf') format('truetype');
 }
 
 .sfont {
-  font-family: 'sfont' !important;
-  font-size: 16px;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
+    font-family: 'sfont' !important;
+    font-size: 22px;
+    font-style: normal;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
 }
 
 .system-zuixiaohua:before {
-  content: '\e66a';
+    content: '\e66a';
 }
 
 .system-yonghu:before {
-  content: '\e603';
+    content: '\e603';
 }
 
 .system-jindutiaoshouyidaozhang:before {
-  content: '\e63c';
+    content: '\e63c';
 }
 
 .system-xiaoxi:before {
-  content: '\e65b';
+    content: '\e65b';
 }
 
 .system-shuliang_mianxing:before {
-  content: '\e61c';
+    content: '\e61c';
 }
 
 .system-yanjing:before {
-  content: '\e67c';
+    content: '\e67c';
 }
 
 .system-yanjing-guan:before {
-  content: '\e6fa';
+    content: '\e6fa';
 }
 
 .system-xingmingyonghumingnicheng:before {
-  content: '\e623';
+    content: '\e623';
 }
 
 .system-mima:before {
-  content: '\e654';
+    content: '\e654';
 }
 
 .system-shezhi:before {
-  content: '\e696';
+    content: '\e696';
 }
 
 .system-github:before {
-  content: '\e811';
+    content: '\e811';
 }
 
 .system-quanping:before {
-  content: '\e768';
+    content: '\e768';
 }
 
 .system-wenzi:before {
-  content: '\e735';
+    content: '\e735';
 }
 
 .system-quanping1:before {
-  content: '\e680';
+    content: '\e680';
 }

+ 29 - 7
src/layout/Header/index.vue

@@ -5,14 +5,25 @@
       <div class="menu-icon" @click="opendStateChange">
         <i :class="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'"></i>
       </div>
-      <Breadcrumb />
+      <Breadcrumb/>
     </div>
     <div class="right-box">
       <!-- 快捷功能按钮 -->
       <div class="function-list">
-        <div class="function-list-item hidden-sm-and-down"><Full-screen /></div>
-        <div class="function-list-item"><SizeChange /></div>
-        <div class="function-list-item hidden-sm-and-down"><Theme /></div>
+        <div class="function-list-item hidden-sm-and-down" style="margin-right: 10px;cursor: pointer">
+          <el-badge :value="12" class="item">
+            <i class="sfont el-icon-message"></i>
+          </el-badge>
+        </div>
+        <div class="function-list-item hidden-sm-and-down">
+          <Full-screen/>
+        </div>
+        <div class="function-list-item">
+          <SizeChange/>
+        </div>
+        <div class="function-list-item hidden-sm-and-down">
+          <Theme/>
+        </div>
       </div>
       <!-- 用户信息 -->
       <div class="user-info">
@@ -29,19 +40,20 @@
           </template>
         </el-dropdown>
       </div>
-      <password-layer :layer="layer" v-if="layer.show" />
+      <password-layer v-if="layer.show" :layer="layer"/>
     </div>
   </header>
 </template>
 
 <script>
-import { defineComponent, computed, reactive } from 'vue'
-import { useStore } from 'vuex'
+import {computed, defineComponent, reactive} from 'vue'
+import {useStore} from 'vuex'
 import FullScreen from './functionList/fullscreen.vue'
 import SizeChange from './functionList/sizeChange.vue'
 import Theme from './functionList/theme.vue'
 import Breadcrumb from './Breadcrumb.vue'
 import PasswordLayer from './passwordLayer.vue'
+
 export default defineComponent({
   components: {
     FullScreen,
@@ -100,10 +112,12 @@ header {
   background-color: var(--system-header-background);
   padding-right: 22px;
 }
+
 .left-box {
   height: 100%;
   display: flex;
   align-items: center;
+
   .menu-icon {
     width: 60px;
     height: 100%;
@@ -114,32 +128,40 @@ header {
     font-weight: 100;
     cursor: pointer;
     margin-right: 10px;
+
     &:hover {
       background-color: var(--system-header-item-hover-color);
     }
+
     i {
       color: var(--system-header-text-color);
     }
   }
 }
+
 .right-box {
   display: flex;
   justify-content: center;
   align-items: center;
+
   .function-list {
     display: flex;
+
     .function-list-item {
       width: 30px;
       display: flex;
       justify-content: center;
       align-items: center;
+
       :deep(i) {
         color: var(--system-header-text-color);
       }
     }
   }
+
   .user-info {
     margin-left: 20px;
+
     .el-dropdown-link {
       color: var(--system-header-breadcrumb-text-color);
     }

+ 49 - 50
src/router/index.js

@@ -3,10 +3,10 @@
  * @params hideMenu: 是否隐藏当前路由结点不在导航中展示
  * @params alwaysShow: 只有一个子路由时是否总是展示菜单,默认false
  */
-import { createRouter, createWebHistory } from 'vue-router'
+import {createRouter, createWebHistory} from 'vue-router'
 import store from '@/store'
 import NProgress from '@/utils/system/nprogress'
-import { changeTitle } from '@/utils/system/title'
+import {changeTitle} from '@/utils/system/title'
 
 // 动态路由相关引入数据
 // 引入modules
@@ -19,69 +19,68 @@ const apiUrl = import.meta.env.VITE_BASE_URL
 const routes = modules
 
 const router = createRouter({
-  history: createWebHistory(),
-  routes,
+    history: createWebHistory(),
+    routes,
 })
 
 let routesAsynced = false
 
 export function addRoutes() {
-  let modules = [...Dashboard]
-  System.forEach((item) => {
-    modules.push(item)
-    router.addRoute(item)
-  })
-  routesAsynced = true
+    let modules = [...Dashboard]
+    System.forEach((item) => {
+        modules.push(item)
+        router.addRoute(item)
+    })
+    routesAsynced = true
 }
 
 const whiteList = ['/login', '/dashboard', '/404', '/401', '/']
 
 router.beforeEach((to, _from, next) => {
-  // if (apiUrl !== 'http://172.16.32.160:8706') {
-  //     to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
-  //     next()
-  //     return;
-  // }
-  if (to.meta.property === _from.meta.property) {
-    to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
-    next()
-    return
-  }
-  if (to.meta.parent) {
-    to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
-    next(to.meta.parent)
-    return
-  }
-  if (whiteList.indexOf(to.path) === -1) {
-    const userPaths = [...store.state.user.paths]
-    const toPathArr = to.path.split('/')
-    const target = toPathArr[toPathArr.length - 1]
-    if (userPaths.indexOf(target) === -1 && userPaths.indexOf('/' + target) === -1) {
-      next('/401')
+    if (to.meta.blankPage && to.params.passRule) {
+        to.meta.title ? changeTitle(to.params.name) : ''
+        next()
+        return
+    } else if (to.meta.blankPage) {
+        to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
+        next(to.query.path)
+        return;
+    }
+    if (to.meta.parent) {
+        to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
+        next(to.meta.parent)
+        return
+    }
+    if (whiteList.indexOf(to.path) === -1) {
+        const userPaths = [...store.state.user.paths]
+        const toPathArr = to.path.split('/')
+        const target = toPathArr[toPathArr.length - 1]
+        if (userPaths.indexOf(target) === -1 && userPaths.indexOf('/' + target) === -1) {
+            next('/401')
+        }
+    }
+    NProgress.start()
+    if (!routesAsynced) {
+        addRoutes()
+    }
+    if (store.state.user.token || whiteList.indexOf(to.path) !== -1) {
+        to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
+        next()
+    } else {
+        next('/login') // 全部重定向到登录页
+        to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
     }
-  }
-  NProgress.start()
-  if (!routesAsynced) {
-    addRoutes()
-  }
-  if (store.state.user.token || whiteList.indexOf(to.path) !== -1) {
-    to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
-    next()
-  } else {
-    next('/login') // 全部重定向到登录页
-    to.meta.title ? changeTitle(to.meta.title) : '' // 动态title
-  }
 })
 
 router.afterEach((to, _from) => {
-  const keepAliveComponentsName = store.getters['keepAlive/keepAliveComponentsName'] || []
-  const name = to.matched[to.matched.length - 1].components.default.name
-  if (to.meta && to.meta.cache && name && !keepAliveComponentsName.includes(name)) {
-    store.commit('keepAlive/addKeepAliveComponentsName', name)
-  }
-  NProgress.done()
+    const keepAliveComponentsName = store.getters['keepAlive/keepAliveComponentsName'] || []
+    const name = to.matched[to.matched.length - 1].components.default.name
+    if (to.meta && to.meta.cache && name && !keepAliveComponentsName.includes(name)) {
+        store.commit('keepAlive/addKeepAliveComponentsName', name)
+    }
+    NProgress.done()
 })
 
-export { modules }
+export {modules}
 
 export default router

+ 6 - 40
src/router/modules/dashboard.js

@@ -344,27 +344,16 @@ const route = [
                 component: createNameComponent(() => import('../../views/hospitalization/zhu-yuan-yi-sheng/Home.vue')),
                 meta: {title: '住院医生', icon: 'iconfont icon-zhuyuanyisheng'},
                 children: [
-                    {
-                        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'},
-                    },
                     {
                         path: 'xinZengShuJu',
                         name: 'xinZengShuJu',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/XinZengShuJu.vue')),
-                        meta: {title: '新增数据'}
+                        meta: {title: '新增数据', hideTabs: true, blankPage: true}
                     },
                     {
-                        path: 'xinZhenYiZhu',
-                        name: 'xinZhenYiZhu',
-                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TianJiaYiZhu.vue')),
-                        meta: {
-                            hideTabs: true,
-                            title: '添加医嘱',
-                            property: 'tianJiaYiZhu',
-                            parent: '/inpatient/zhuYuanYiSheng/yiZhuLuRu'
-                        }
+                        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'},
                     },
                     {
                         path: 'huiZhenShenQing',
@@ -373,15 +362,12 @@ const route = [
                     },
                     {
                         path: 'jianChaShenQing',
-                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-shen-qing/JianChaShenQing.vue')),
+                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianChaShenQing.vue')),
                         meta: {title: '检查申请', icon: 'iconfont icon-jianchashenqing'},
                     },
-                    {
-                        path: 'xinZheng',
-                    },
                     {
                         path: 'jianYanShenQing',
-                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/JianYanShenQing.vue')),
+                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianYanShenQing.vue')),
                         meta: {title: '检验申请', icon: 'iconfont icon-jianyanshenqing'},
                     },
                     {
@@ -393,16 +379,6 @@ const route = [
                             property: 'shouShuShenQing',
                         },
                     },
-                    {
-                        path: 'xinZengShouShuShenQing',
-                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/XinZengShouShuShenQing.vue')),
-                        meta: {
-                            title: '新增手术申请',
-                            property: 'shouShuShenQing',
-                            parent: '/inpatient/zhuYuanYiSheng/shouShuShenQing',
-                            hideTabs: true
-                        },
-                    },
                     {
                         path: 'caoYaoYiZhu',
                         component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/ChaXunChaoYaoYiZhu.vue')),
@@ -411,16 +387,6 @@ const route = [
                             property: 'caoYaoYiZhu',
                         },
                     },
-                    {
-                        path: 'xinZhengCaoYao',
-                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/XinZhengCaoYao.vue')),
-                        meta: {
-                            title: '新增草药医嘱',
-                            property: 'caoYaoYiZhu',
-                            parent: '/inpatient/zhuYuanYiSheng/caoYaoYiZhu',
-                            hideTabs: true
-                        },
-                    },
                 ],
             },
         ],

+ 13 - 0
src/utils/date.js

@@ -1,3 +1,6 @@
+import {stringIsBlank} from "@/utils/blank-utils";
+import moment from "moment";
+
 export function getDate() {
     const date = new Date()
     const year = date.getFullYear()
@@ -131,3 +134,13 @@ export function formatMonth(date) {
     const month = date.getMonth() + 1
     return year + '-' + ('0' + month).slice(-2)
 }
+
+export function getFormatDatetime(date, pattern) {
+    if (stringIsBlank(pattern)) {
+        pattern = "YYYY-MM-DD HH:mm:ss"
+    }
+    if (stringIsBlank(date)) {
+        return ""
+    }
+    return moment(date).format(pattern)
+}

+ 67 - 8
src/views/hospitalization/case-front-sheet/JieShouHuiZhen.vue

@@ -6,17 +6,35 @@
       <el-button icon="el-icon-search" type="primary" @click="getHuiZhenDataClick">检索</el-button>
       <el-button icon="el-icon-upload" type="primary" @click="baoCunHuiZhenClick">保存</el-button>
       <el-button icon="el-icon-printer" type="success" @click="daYingClick">打印</el-button>
+      <el-button icon="el-icon-view" type="info" @click="dianJiChaKanHuanZheJianYan">查看患者检验</el-button>
       <el-tag type="danger">会诊意见限制 1100 个字</el-tag>
     </el-header>
     <el-container>
-      <el-aside width="400px">
+      <el-aside width="500px">
         <el-table :data="huanZeData" :height="windowSize.h / 1.1 " highlight-current-row stripe
                   @row-click="dianJiDanYuanGe">
           <el-table-column label="床号" prop="bedNo" width="40px"></el-table-column>
-          <el-table-column label="住院号" prop="inpatientNo"></el-table-column>
-          <el-table-column label="住院次数" prop="admissTimes"></el-table-column>
-          <el-table-column label="姓名" prop="name"></el-table-column>
-          <el-table-column label="申请次数" prop="reqTimes"></el-table-column>
+          <el-table-column label="住院号_次数" prop="inpatientNo">
+            <template #default="scope">
+              {{ scope.row.inpatientNo }}_{{ scope.row.admissTimes }}
+            </template>
+          </el-table-column>
+          <el-table-column label="姓名_申请次数" prop="name">
+            <template #default="scope">
+              {{ scope.row.name }}_{{ scope.row.reqTimes }}
+            </template>
+          </el-table-column>
+          <el-table-column label="患者科室" prop="deptCodeName">
+            <template #default="scope">
+              {{ scope.row.deptCodeName }}
+            </template>
+          </el-table-column>
+          <el-table-column label="会诊科室" prop="reqDept1Name"></el-table-column>
+          <el-table-column label="会诊级别" prop="hzType">
+            <template #default="scope">
+              {{ hzJiBie(scope.row.hzType) }}
+            </template>
+          </el-table-column>
         </el-table>
         <el-pagination
             :current-page="currentPage"
@@ -39,12 +57,14 @@
 import {getHuanZheXinXi, getHuiZhenData, wanChenHuiZhen} from '@/api/case-front-sheet/jie-shou-hui-zhen'
 import {cptSex} from '@/utils/computed'
 import store from '@/store'
-import {getDateRangeFormatDate, getDatetime} from '@/utils/date'
+import {getDateRangeFormatDate, getDatetime, getFormatDatetime} from '@/utils/date'
 import {ElMessage, ElMessageBox} from 'element-plus'
 import DaYingHuiZhen from "@/components/hui-zhen-da-ying/DaYingHuiZhen.vue";
 import {computed, onMounted, ref} from "vue";
 import {stringIsBlank} from "@/utils/blank-utils";
 import {shortcuts} from '@/data/shortcuts'
+import router from "@/router";
+import {getServerDateApi} from "@/api/public-api";
 
 export default {
   components: {DaYingHuiZhen},
@@ -144,7 +164,7 @@ export default {
     ///////////////////////////////////////////////////////// 开启打印 ///////////////////////////////////////////////////////////////////////////////
 
     const daYingClick = () => {
-      if (!huanZheXinXi.value.name) {
+      if (!huanZheXinXi.value.inpatientNo) {
         ElMessage.error({
           message: '请先选择患者',
           showClose: true,
@@ -154,6 +174,32 @@ export default {
       daYingHuiZhenRef.value.daYing()
     }
 
+
+    ///////////////////////////// 查看患者检验
+    const dianJiChaKanHuanZheJianYan = () => {
+      if (!huanZheXinXi.value.inpatientNo) {
+        return ElMessage({
+          message: '请先选择患者',
+          showClose: true,
+          type: 'error'
+        })
+      } else {
+        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 {
       doctorName,
       windowSize,
@@ -173,11 +219,24 @@ export default {
       getDatetime,
       daYingHuiZhenRef,
       huiZhenFanHuiXinXi,
-      shortcuts
+      shortcuts,
+      hzJiBie,
+      dianJiChaKanHuanZheJianYan
     }
   },
 }
 
+function hzJiBie(val) {
+  switch (val) {
+    case '1':
+      return '主治医师'
+    case '2':
+      return '副主任医生'
+    case '3':
+      return '主任医生'
+  }
+}
+
 function hzLeiBie(val) {
   switch (val) {
     case '1':

+ 5 - 11
src/views/hospitalization/zhu-yuan-yi-sheng/Home.vue

@@ -18,29 +18,23 @@
 
 <script>
 import store from '../../../store'
-import {computed, onMounted, ref, watch} from "vue";
-import HuanZheLieBiao from "../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuanZheLieBiao.vue";
-import HuanZheXinXi from "../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuanZheXinXi.vue";
+import {computed, ref, watch} from "vue";
+import HuanZheLieBiao from "../../../components/zhu-yuan-yi-sheng/HuanZheLieBiao.vue";
+import HuanZheXinXi from "../../../components/zhu-yuan-yi-sheng/HuanZheXinXi.vue";
 import YiZhuLuRuZhuJian from "./yi-zhu-lu-ru/YiZhuLuRu.vue";
-import GongJuZuJian from "../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/GongJuZuJian.vue";
 import router from "@/router";
 
 export default {
   name: "Home",
-  components: {GongJuZuJian, YiZhuLuRuZhuJian, HuanZheXinXi, HuanZheLieBiao},
+  components: {YiZhuLuRuZhuJian, HuanZheXinXi, HuanZheLieBiao},
   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.parent;
-    })
-
-    onMounted(() => {
-      xianShiLieBiao.value = !router.currentRoute.value.meta.parent;
+      xianShiLieBiao.value = !router.currentRoute.value.meta.blankPage;
     })
 
     return {

+ 0 - 9
src/views/hospitalization/zhu-yuan-yi-sheng/LuYouYeMian.vue

@@ -1,9 +0,0 @@
-<template>
-  <router-view v-slot="{ Component }">
-    <keep-alive>
-      <component :is="Component"/>
-    </keep-alive>
-  </router-view>
-</template>
-
-

+ 38 - 9
src/views/hospitalization/zhu-yuan-yi-sheng/XinZengShuJu.vue

@@ -1,34 +1,63 @@
 <template>
-  <tian-jia-yi-zhu v-if="title === '添加医嘱'"></tian-jia-yi-zhu>
+  <tian-jia-yi-zhu v-if="name === '添加医嘱'"></tian-jia-yi-zhu>
+  <tian-jia-jian-cha-jian-yan v-else-if="name === '检验' || name === '检查'"
+                              :jian-cha="name === '检查'">
+  </tian-jia-jian-cha-jian-yan>
+  <xin-zeng-shou-shu-shen-qing v-if="name === '手术'"></xin-zeng-shou-shu-shen-qing>
+  <xin-zhen-cao-yao v-if="name === '草药'"></xin-zhen-cao-yao>
 </template>
-
 <script>
 
 import TianJiaYiZhu from "@/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TianJiaYiZhu.vue";
 import {onActivated, onDeactivated, ref} from "vue";
-import {zuJianMing} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import router from '@/router'
+import TianJiaJianChaJianYan from "@/components/zhu-yuan-yi-sheng/TianJiaJianChaJianYan.vue";
+import XinZengShouShuShenQing
+  from "@/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/XinZengShouShuShenQing.vue";
+import XinZhenCaoYao from "@/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/XinZhengCaoYao.vue";
+import {ElNotification} from "element-plus";
+import {huanZheXinXi} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import {stringIsBlank} from "@/utils/blank-utils";
 
 export default {
   name: "XinZengShuJu",
-  components: {TianJiaYiZhu},
+  components: {XinZhenCaoYao, XinZengShouShuShenQing, TianJiaJianChaJianYan, TianJiaYiZhu},
   setup() {
-    const title = ref('')
+    const name = ref('')
+
+    let notify = null
 
     onActivated(() => {
-      title.value = zuJianMing.value
-      if (stringIsBlank(title.value)) {
+      if (router.currentRoute.value.params.name) {
+        name.value = router.currentRoute.value.params.name
+      } else {
         router.go(-1)
       }
+      if (stringIsBlank(huanZheXinXi.value.inpatientNo)) {
+        notify = ElNotification({
+          type: 'warning',
+          message: `您现在进入的是模板编辑模式,仅可编辑模板。正在编辑【${name.value}】`,
+          duration: 0,
+          showClose: false
+        })
+      } else {
+        notify = ElNotification({
+          type: 'warning',
+          message: `您现在进入新增数据,正在编辑患者<span style="color: teal">【${huanZheXinXi.value.name}】</span><br>正在编辑【${name.value}】`,
+          duration: 0,
+          dangerouslyUseHTMLString: true,
+          showClose: false
+        })
+      }
     })
 
     onDeactivated(() => {
-      title.value = ''
+      name.value = ''
+      notify.close()
     })
 
     return {
-      title
+      name
     }
   }
 }

+ 10 - 1
src/views/hospitalization/zhu-yuan-yi-sheng/cao-yao-yi-zhu/ChaXunChaoYaoYiZhu.vue

@@ -137,7 +137,16 @@ export default {
     }
 
     const DianJiXinZengChaoYao = () => {
-      router.push('/inpatient/zhuYuanYiSheng/xinZhengCaoYao')
+      router.push({
+        name: 'xinZengShuJu',
+        params: {
+          passRule: true,
+          name: '草药'
+        },
+        query: {
+          path: '/inpatient/zhuYuanYiSheng/caoYaoYiZhu'
+        }
+      })
     }
 
     watch(() => huanZheXinXi.value, () => {

+ 0 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-shen-qing/BianJiJianChaJianYanShenQing.vue → src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/BianJiJianChaJianYanShenQing.vue


+ 12 - 5
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-shen-qing/JianChaShenQing.vue → src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianChaShenQing.vue

@@ -18,7 +18,6 @@
       ></el-date-picker>
       <el-button icon="el-icon-search" type="primary" @click="dianJiChaXunHuanZheJianCha(0)">查询</el-button>
       <el-divider direction="vertical"></el-divider>
-      <tian-jia-jian-cha-jian-yan ref="tianJiaJianCha" :jian-cha="true"></tian-jia-jian-cha-jian-yan>
       <el-button icon="el-icon-plus" type="success" @click="daKaiTianJiaJianCha">添加</el-button>
     </el-header>
     <el-container>
@@ -69,6 +68,7 @@ import DaYingJianCha from "@/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-
 import {getDateRangeFormatDate, huanHangXianShi} from "@/utils/date";
 import {shortcuts} from '@/data/shortcuts'
 import TianJiaJianChaJianYan from "@/components/zhu-yuan-yi-sheng/TianJiaJianChaJianYan.vue";
+import router from "@/router";
 
 export default {
   name: "JianChaShenQing",
@@ -89,7 +89,6 @@ export default {
     })
 
     const daYingJianChaRef = ref()
-    const tianJiaJianCha = ref()
 
     const dianJiChaXunHuanZheJianCha = (total) => {
       let dateS = getDateRangeFormatDate(dateRange.value)
@@ -141,8 +140,17 @@ export default {
     }
 
     const daKaiTianJiaJianCha = () => {
-      if (youWuXuanZheHuanZhe()) return
-      tianJiaJianCha.value.dialog = true
+      router.push({
+        name: 'xinZengShuJu',
+        params: {
+          name: '检查',
+          passRule: true,
+        },
+        query: {
+          path: '/inpatient/zhuYuanYiSheng/jianChaShenQing'
+        }
+      })
+
     }
 
     const tableRowClassName = ({rowIndex}) => {
@@ -169,7 +177,6 @@ export default {
       huanHangXianShi,
       querySearchAsync,
       shortcuts,
-      tianJiaJianCha,
       daKaiTianJiaJianCha,
       tableRowClassName
     }

+ 12 - 5
src/views/hospitalization/zhu-yuan-yi-sheng/JianYanShenQing.vue → src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianYanShenQing.vue

@@ -19,8 +19,7 @@
       ></el-date-picker>
       <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="tianJiaJianYan.dialog = true">新增</el-button>
-      <tian-jia-jian-cha-jian-yan ref="tianJiaJianYan" :jian-cha="false"></tian-jia-jian-cha-jian-yan>
+      <el-button icon="el-icon-plus" type="primary" @click="dianJiXinZengJianYan">新增</el-button>
     </el-header>
     <el-main>
       <el-table :data="jianYanShuJu" :height="windowSize.h / 1.5">
@@ -53,11 +52,10 @@ import store from "@/store";
 import {getDateRangeFormatDate} from "@/utils/date";
 import {huanZheXinXi, youWuXuanZheHuanZhe} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import {huoQuJianYan, huoQuJianYanJianChaMing} from "@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing";
-import TianJiaJianChaJianYan from "@/components/zhu-yuan-yi-sheng/TianJiaJianChaJianYan.vue";
+import router from "@/router";
 
 export default {
   name: "JianYanShenQing",
-  components: {TianJiaJianChaJianYan},
   setup() {
     const windowSize = computed(() => {
       return store.state.app.windowSize
@@ -111,6 +109,14 @@ export default {
       })
     }
 
+    const dianJiXinZengJianYan = () => {
+      router.push({
+        name: 'xinZengShuJu',
+        params: {passRule: true, name: '检验'},
+        query: {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing'}
+      })
+    }
+
     watch(() => huanZheXinXi.value, () => {
       dianJiChaXunJianYan(0)
     })
@@ -125,7 +131,8 @@ export default {
       jianYanFenYe,
       querySearchAsync,
       jianYanShuJu,
-      tianJiaJianYan
+      tianJiaJianYan,
+      dianJiXinZengJianYan
     }
   }
 }

+ 1 - 4
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.js

@@ -11,10 +11,6 @@ export const huanZheXinXi = ref({})
 export const selectWardCode = ref(0)
 // 是否点击了修改整个模板
 export const muBanMing = ref({})
-// 新增数据的组件名称
-export const zuJianMing = ref('')
-
-// 初始化不弹出 提示信息
 
 export function youWuXuanZheHuanZhe() {
     if (stringIsBlank(huanZheXinXi.value.inpatientNo)) {
@@ -28,6 +24,7 @@ export function youWuXuanZheHuanZhe() {
     return false
 }
 
+
 export function getSelfBuy(val) {
     if (stringIsBlank(val)) return ""
     switch (val) {

+ 10 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/ShouShuShenQing.vue

@@ -158,8 +158,16 @@ export default {
 
 
     const dianJiXinZhenShouShu = () => {
-      if (youWuXuanZheHuanZhe()) return
-      router.push('/inpatient/zhuYuanYiSheng/xinZengShouShuShenQing')
+      router.push({
+        name: 'xinZengShuJu',
+        params: {
+          name: '手术',
+          passRule: true
+        },
+        query: {
+          path: '/inpatient/zhuYuanYiSheng/shouShuShenQing'
+        }
+      })
     }
 
 

+ 22 - 80
src/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/XinZengShouShuShenQing.vue

@@ -95,28 +95,11 @@
       </el-main>
     </el-container>
   </el-container>
-  <el-dialog v-model="souSuoShouShu.dialog" title="手术项目搜索" @close="souSuoShouShu.orderName = '' ">
-    <el-input ref="searchInput" v-model="souSuoShouShu.orderName" clearable style="width: 120px;"
-              @keyup.enter="chaXunShouShuXiangMu"></el-input>
-    <el-divider direction="vertical"></el-divider>
-    <el-button type="primary" @click="chaXunShouShuXiangMu">查询</el-button>
-    <el-table :data="souSuoShouShu.data" :height="windowSize.h / 1.5">
-      <el-table-column label="编码" prop="opCode"></el-table-column>
-      <el-table-column label="名称" prop="opName"></el-table-column>
-      <el-table-column label="选中">
-        <template #default="scope">
-          <el-button @click="dianJiXuanZhongShouShu(scope.row)">选中</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-        :current-page="souSuoShouShu.currentPage"
-        :page-size="souSuoShouShu.pageSize"
-        :total="souSuoShouShu.total"
-        layout="total,  prev, pager, next"
-        @current-change="souSuoShouShuFenYe">
-    </el-pagination>
-  </el-dialog>
+  <cha-xun-shou-shu-xiang-mu v-if="shouShuXiangMuChaXun"
+                             :code="code"
+                             @close="shouShuXiangMuChaXun = false"
+                             @xuanZhongShuJu="dianJiXuanZhongShouShu">
+  </cha-xun-shou-shu-xiang-mu>
   <!-- 在这里编辑手术 -->
   <bian-ji-shou-shu ref="bianJiShouShu" @qu-xiao="dianJiShanChuShouShu"></bian-ji-shou-shu>
 </template>
@@ -124,11 +107,7 @@
 <script>
 import {computed, onMounted, ref} from "vue";
 import store from "@/store";
-import {
-  fenLeiXiangQing,
-  shouShuShenQingCeBianLan,
-  xinZengShouShuShenQing
-} from "@/api/zhu-yuan-yi-sheng/shou-shu-shen-qing";
+import {shouShuShenQingCeBianLan, xinZengShouShuShenQing} from "@/api/zhu-yuan-yi-sheng/shou-shu-shen-qing";
 import router from "@/router";
 import {getServerDateApi} from "@/api/public-api";
 import {
@@ -138,10 +117,11 @@ import {
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import BianJiShouShu from "@/components/zhu-yuan-yi-sheng/shou-shu-shen-qing/BianJiShouShu.vue";
 import {ElMessage} from "element-plus";
+import ChaXunShouShuXiangMu from "@/components/zhu-yuan-yi-sheng/shou-shu-shen-qing/ChaXunShouShuXiangMu.vue";
 
 export default {
   name: "XinZengShouShuShenQing",
-  components: {BianJiShouShu},
+  components: {ChaXunShouShuXiangMu, BianJiShouShu},
   setup() {
     const windowSize = computed(() => {
       return store.state.app.windowSize
@@ -156,67 +136,31 @@ export default {
       shouShuFenLei.value.currentPage = val
     }
     const bianJiShouShu = ref()
-
-    const souSuoShouShu = ref({
-      dialog: false,
-      ssType: '',
-      orderName: '',
-      total: 0,
-      pageSize: 20,
-      currentPage: 1,
-      data: [],
-      code: '',
-      weiYiBiaoShi: [],
-    })
-    const searchInput = ref(null)
+    const shouShuXiangMuChaXun = ref(false)
+    const code = ref('')
+    const weiYiBiaoShi = ref([])
 
 
     const dianJiChaKanFenLeiXiangQing = (row) => {
       if (row === 0) {
-        souSuoShouShu.value.dialog = true
-        setTimeout(() => {
-          searchInput.value.focus()
-        }, 300)
+        shouShuXiangMuChaXun.value = true
       } else {
-        souSuoShouShu.value.code = row.code
-        fenLeiXiangQing(row.code, '', 0, 1, souSuoShouShu.value.pageSize).then((res) => {
-          souSuoShouShu.value.dialog = true
-          setTimeout(() => {
-            searchInput.value.focus()
-          }, 300)
-          souSuoShouShu.value.total = res.total
-          souSuoShouShu.value.data = res.records
-        })
+        code.value = row.code
+        shouShuXiangMuChaXun.value = true
       }
     }
 
-    const chaXunShouShuXiangMu = () => {
-      souSuoShouShu.value.code = ''
-      fenLeiXiangQing('', souSuoShouShu.value.orderName, 0, 1, souSuoShouShu.value.pageSize).then((res) => {
-        souSuoShouShu.value.total = res.total
-        souSuoShouShu.value.data = res.records
-      })
-    }
-
-    const souSuoShouShuFenYe = (val) => {
-      souSuoShouShu.value.currentPage = val
-      fenLeiXiangQing(souSuoShouShu.value.code, souSuoShouShu.value.orderName, souSuoShouShu.value.total, val, souSuoShouShu.value.pageSize).then((res) => {
-        souSuoShouShu.value.data = res.records
-      })
-    }
-
-
     const dianJiXuanZhongShouShu = (row) => {
       getServerDateApi().then((res) => {
         row.opDatetime = res
         row.applyDate = res
-        if (souSuoShouShu.value.weiYiBiaoShi.indexOf(row.opCode) > -1) {
+        if (weiYiBiaoShi.value.indexOf(row.opCode) > -1) {
           ElMessage.error('请勿重复添加')
         } else {
-          souSuoShouShu.value.weiYiBiaoShi.push(row.opCode)
+          weiYiBiaoShi.value.push(row.opCode)
           xinZhenShuJu.value.push(row)
           bianJiShouShu.value.huoQuShuJu(row)
-          souSuoShouShu.value.dialog = false
+          shouShuXiangMuChaXun.value = false
         }
       })
     }
@@ -242,12 +186,12 @@ export default {
     const dianJiShanChuShouShu = (opCode, index) => {
       if (index > -1) {
         xinZhenShuJu.value.splice(index, 1)
-        souSuoShouShu.value.weiYiBiaoShi.splice(index, 1)
+        weiYiBiaoShi.value.splice(index, 1)
       } else {
         for (let i = 0; i < xinZhenShuJu.value.length; i++) {
           if (xinZhenShuJu.value[i].opCode === opCode) {
             xinZhenShuJu.value.splice(i, 1)
-            souSuoShouShu.value.weiYiBiaoShi.splice(i, 1)
+            weiYiBiaoShi.value.splice(i, 1)
             return
           }
         }
@@ -262,21 +206,19 @@ export default {
 
     return {
       windowSize,
+      code,
       shouShuFenLei,
       shouShuFenLeiFanYe,
       dianJiChaKanFenLeiXiangQing,
-      souSuoShouShu,
       router,
       dianJiXuanZhongShouShu,
-      chaXunShouShuXiangMu,
-      souSuoShouShuFenYe,
-      searchInput,
       xinZhenShuJu,
       shouShuDengJi,
       bianJiShouShu,
       dianJiBianJiShouShu,
       dianJiBaoCun,
-      dianJiShanChuShouShu
+      dianJiShanChuShouShu,
+      shouShuXiangMuChaXun
     }
   }
 }

+ 225 - 274
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TianJiaYiZhu.vue

@@ -15,11 +15,12 @@
       <span v-html="cuoWuXinXi"></span>
     </template>
   </el-popover>
+  <el-button icon="el-icon-check" type="success" @click="baoCunYiZhuClick">保存</el-button>
   {{ count }}
-  <el-form v-model="yiZhuData" label-width="80px" size="mini">
+  <el-form ref="yiZhuRef" v-model="yiZhuData" label-width="90px" size="mini">
     <el-row>
       <el-col :span="span">
-        <el-form-item label="医嘱名称:" prop="orderName">
+        <el-form-item class="biTian" label="医嘱名称:" prop="orderName">
           <el-input v-model="yiZhuData.orderName" @click="yiZhuMingDialog = true"></el-input>
         </el-form-item>
       </el-col>
@@ -31,13 +32,13 @@
       <el-col :span="span">
         <el-form-item label="频率:" prop="orderName">
           <el-select
-            v-model="yiZhuData.frequCode"
-            :remote-method="pinLvRemoteMethod"
-            clearable
-            filterable
-            remote
-            size="mini"
-            @change="yiZhuData.frequCode === 'ONCE' ? (yiZhuData.endTime = null) : ''"
+              v-model="yiZhuData.frequCode"
+              :remote-method="pinLvRemoteMethod"
+              clearable
+              filterable
+              remote
+              size="mini"
+              @change="yiZhuData.frequCode === 'ONCE' ? (yiZhuData.endTime = null) : ''"
           >
             <el-option v-for="item in yaoPinPingLvData" :key="item.code" :label="item.name" :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
@@ -49,7 +50,8 @@
       </el-col>
       <el-col :span="span">
         <el-form-item label="一次剂量:" prop="orderName">
-          <el-input-number v-model="yiZhuData.dose" :min="0" :precision="2" style="width: 110px" @change="jiSuanLingLiang"></el-input-number>
+          <el-input-number v-model="yiZhuData.dose" :min="0" :precision="2" style="width: 110px"
+                           @change="jiSuanLingLiang"></el-input-number>
           <el-select v-model="yiZhuData.doseUnit" size="mini" style="width: 80px" @change="xuanZheJiLiang">
             <el-option v-for="item in yaoPinJiLiangData" :key="item.code" :label="item.name" :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.value }}</span>
@@ -60,14 +62,14 @@
         </el-form-item>
       </el-col>
       <el-col :span="span">
-        <el-form-item label="领量:" prop="orderName">
-          <el-input v-model="yiZhuData.drugQuan" disabled style="width: 60px"></el-input>
-          <el-input v-model="yiZhuData.miniUnitName" disabled style="width: 60px"></el-input>
+        <el-form-item label="领量:">
+          {{ yiZhuData.drugQuan }} {{ yiZhuData.miniUnitName }}
         </el-form-item>
       </el-col>
       <el-col :span="span">
         <el-form-item label="给药方式:" prop="orderName">
-          <el-select v-model="yiZhuData.supplyCode" :remote-method="geiYaoFangShiRemoteMethod" filterable remote size="mini">
+          <el-select v-model="yiZhuData.supplyCode" :remote-method="geiYaoFangShiRemoteMethod" filterable remote
+                     size="mini">
             <el-option v-for="item in geiYaoFangShiData" :key="item.code" :label="item.name" :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
               <el-divider direction="vertical"></el-divider>
@@ -78,29 +80,29 @@
       </el-col>
       <el-col :span="span">
         <el-form-item label="医嘱时间:" prop="orderName">
-          <el-input v-model="yiZhuData.orderTime" disabled></el-input>
+          {{ yiZhuData.orderTime }}
         </el-form-item>
       </el-col>
       <el-col :span="span">
         <el-form-item label="开始时间:" prop="orderName">
           <el-date-picker
-            v-model="yiZhuData.startTime"
-            :disabled-date="disabledDate"
-            format="YYYY-MM-DD HH:mm:ss"
-            type="datetime"
-            value-format="YYYY-MM-DD HH:mm:ss"
+              v-model="yiZhuData.startTime"
+              :disabled-date="disabledDate"
+              format="YYYY-MM-DD HH:mm:ss"
+              type="datetime"
+              value-format="YYYY-MM-DD HH:mm:ss"
           ></el-date-picker>
         </el-form-item>
       </el-col>
       <el-col :span="span">
         <el-form-item label="停止时间:" prop="orderName">
           <el-date-picker
-            v-model="yiZhuData.endTime"
-            :disabled="yiZhuData.frequCode === 'ONCE'"
-            :disabled-date="disabledDate"
-            format="YYYY-MM-DD HH:mm:ss"
-            type="datetime"
-            value-format="YYYY-MM-DD HH:mm:ss"
+              v-model="yiZhuData.endTime"
+              :disabled="yiZhuData.frequCode === 'ONCE'"
+              :disabled-date="disabledDate"
+              format="YYYY-MM-DD HH:mm:ss"
+              type="datetime"
+              value-format="YYYY-MM-DD HH:mm:ss"
           ></el-date-picker>
         </el-form-item>
       </el-col>
@@ -111,7 +113,8 @@
       </el-col>
       <el-col :span="span">
         <el-form-item label="执行科室:" prop="orderName">
-          <el-select v-model="yiZhuData.execUnit" :remote-method="metZhiXingKeShi" filterable remote style="width: 120px">
+          <el-select v-model="yiZhuData.execUnit" :remote-method="metZhiXingKeShi" filterable remote
+                     style="width: 120px">
             <el-option v-for="item in zhiXingKeShiData" :key="item.code" :label="item.name" :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
               <el-divider direction="vertical"></el-divider>
@@ -122,7 +125,8 @@
       </el-col>
       <el-col :span="span">
         <el-form-item label="父医嘱:" prop="orderName">
-          <el-select v-model="yiZhuData.parentNo" :disabled="yiZhuData.serial === '00'" clearable @clear="yiZhuData.parentNo = null" @click="fuYiZhuClick">
+          <el-select v-model="yiZhuData.parentNo" :disabled="yiZhuData.serial === '00'" clearable
+                     @clear="yiZhuData.parentNo = null" @click="fuYiZhuClick">
             <el-option v-for="item in fuYiZhuData" :key="item.code" :label="item.name" :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
               <el-divider direction="vertical"></el-divider>
@@ -137,8 +141,13 @@
         </el-form-item>
       </el-col>
       <el-col :span="span">
-        <el-form-item label="医生嘱托:" prop="orderName">
-          <el-input v-model="yiZhuData.instruction" clearable maxlength="50" show-word-limit style="width: 130px" type="textarea"></el-input>
+        <el-form-item label="医生嘱托:">
+          <el-input v-model="yiZhuData.instruction" clearable maxlength="50" show-word-limit style="width: 130px"
+                    type="textarea"></el-input>
+        </el-form-item>
+      </el-col>
+      <el-col :span="span">
+        <el-form-item label="服用时间">
           <el-select v-model="yiZhuData.kfFlag" clearable style="width: 80px" @clear="yiZhuData.kfFlag = null">
             <el-option key="1" label="饭前" value="1"></el-option>
             <el-option key="2" label="饭后" value="2"></el-option>
@@ -146,7 +155,7 @@
         </el-form-item>
       </el-col>
       <el-col :span="span">
-        <el-form-item label="费用标志:" prop="orderName">
+        <el-form-item label="费用标志:">
           <el-select v-model="yiZhuData.selfBuy" clearable style="width: 120px" @clear="yiZhuData.selfBuy = null">
             <el-option key="1" label="自备" value="1"></el-option>
             <el-option key="2" label="嘱托" value="2"></el-option>
@@ -155,36 +164,39 @@
         </el-form-item>
       </el-col>
       <el-col :span="span">
-        <el-form-item label="医保自费:" prop="orderName">
-          <el-switch v-model="yiZhuData.ybSelfFlag" active-color="#13ce66" active-text="自费" active-value="1" inactive-color="#ff4949" inactive-text="记账" inactive-value="0">
+        <el-form-item label="医保自费:">
+          <el-switch v-model="yiZhuData.ybSelfFlag" active-color="#13ce66" active-text="自费" active-value="1"
+                     inactive-color="#ff4949" inactive-text="记账" inactive-value="0">
           </el-switch>
         </el-form-item>
       </el-col>
       <el-col :span="span">
-        <el-form-item label="是否紧急:" prop="orderName">
-          <el-switch v-model="yiZhuData.emergencyFlag" active-color="#13ce66" active-text="是" active-value="1" inactive-color="#ff4949" inactive-text="否" inactive-value="0">
+        <el-form-item label="是否紧急:">
+          <el-switch v-model="yiZhuData.emergencyFlag" active-color="#13ce66" active-text="是" active-value="1"
+                     inactive-color="#ff4949" inactive-text="否" inactive-value="0">
           </el-switch>
         </el-form-item>
       </el-col>
       <el-col v-if="yiZhuData.kjywFlag !== 0" :span="span">
         <el-form-item label="用药方式:">
           <el-select v-model="yiZhuData.yyfs" style="width: 120px" @change="kangJunYaoYongYaoFangShiGaiBian">
-            <el-option v-for="item in kangJunYaoWuYongYaoFangShi" :key="item.code" :label="item.name" :value="item.code">
+            <el-option v-for="item in kangJunYaoWuYongYaoFangShi" :key="item.code" :label="item.name"
+                       :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
               <el-divider direction="vertical"></el-divider>
-              <span>{{ item.name }}</span></el-option
-            >
+              <span>{{ item.name }}</span>
+            </el-option>
           </el-select>
         </el-form-item>
       </el-col>
       <el-col :span="span">
         <el-form-item v-if="yiZhuData.kjywFlag !== 0" label="切口等级:">
           <el-select
-            v-model="yiZhuData.ssqk"
-            :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
-            clearable
-            style="width: 120px"
-            @clear="yiZhuData.ssqk = null"
+              v-model="yiZhuData.ssqk"
+              :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
+              clearable
+              style="width: 120px"
+              @clear="yiZhuData.ssqk = null"
           >
             <el-option v-for="item in kangJunYaoWuQieKou" :key="item.code" :label="item.name" :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
@@ -197,13 +209,14 @@
       <el-col :span="span">
         <el-form-item v-if="yiZhuData.kjywFlag !== 0" label="用药时间:">
           <el-select
-            v-model="yiZhuData.yysj"
-            :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
-            clearable
-            style="width: 120px"
-            @clear="yiZhuData.yysj = null"
+              v-model="yiZhuData.yysj"
+              :disabled="yiZhuData.yyfs !== 1 && yiZhuData.yyfs !== 2 && yiZhuData.yyfs !== null"
+              clearable
+              style="width: 120px"
+              @clear="yiZhuData.yysj = null"
           >
-            <el-option v-for="item in kangJunYaoWuYongYaoShiJian" :key="item.code" :label="item.name" :value="item.code">
+            <el-option v-for="item in kangJunYaoWuYongYaoShiJian" :key="item.code" :label="item.name"
+                       :value="item.code">
               <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
               <el-divider direction="vertical"></el-divider>
               <span>{{ item.name }}</span></el-option
@@ -214,8 +227,6 @@
     </el-row>
   </el-form>
   <el-button icon="el-icon-plus" type="primary" @click="tianJiaYiZhu">添加</el-button>
-  <el-button icon="el-icon-check" type="success" @click="baoCunYiZhuClick">保存 </el-button>
-  <el-button icon="el-icon-close" type="danger" @click="dialog = false">关闭</el-button>
   <el-button @click="dianJiXiuGaiZhiXingKeShi">修改执行科室</el-button>
   <el-table :data="yiZhuList" :height="windowSize.h / 3" @selection-change="dianJiXuanZhongShuJu">
     <el-table-column type="selection"></el-table-column>
@@ -229,10 +240,10 @@
     <el-table-column label="规格" prop="drugSpecification"></el-table-column>
     <el-table-column label="频率" prop="frequCodeName"></el-table-column>
     <el-table-column label="一次剂量" prop="dose">
-      <template #default="scope"> {{ scope.row.dose }} {{ scope.row.doseUnitName }} </template>
+      <template #default="scope"> {{ scope.row.dose }} {{ scope.row.doseUnitName }}</template>
     </el-table-column>
     <el-table-column label="领量" prop="drugQuan">
-      <template #default="scope"> {{ scope.row.drugQuan }} {{ scope.row.miniUnitName }} </template>
+      <template #default="scope"> {{ scope.row.drugQuan }} {{ scope.row.miniUnitName }}</template>
     </el-table-column>
     <el-table-column label="给药方式" prop="supplyCodeName"></el-table-column>
     <el-table-column label="执行科室" prop="execUnitName"></el-table-column>
@@ -261,61 +272,40 @@
       </template>
     </el-table-column>
   </el-table>
-  <el-dialog v-model="yiZhuMingDialog" :before-close="guanBiSouSuoXiangMu" title="搜索医嘱名" width="95%">
-    <el-input ref="searchInput" v-model="orderName" clearable style="width: 220px" @keyup.enter="queryYiZhuClick"></el-input>
-    <el-button icon="el-icon-search" type="primary" @click="queryYiZhuClick">搜索</el-button>
-    <el-table
-      :data="orderData.data.slice((orderData.currentPage - 1) * orderData.pageSize, orderData.currentPage * orderData.pageSize)"
-      :height="windowSize.h / 1.6"
-      highlight-current-row
-      stripe
-    >
-      <el-table-column label="编码" prop="code">
-        <template #default="scope">
-          <el-button @click="xuanZhongFeiYong(scope.row)">{{ scope.row.orderCode }}</el-button>
-        </template>
-      </el-table-column>
-      <el-table-column label="名称" prop="orderName"></el-table-column>
-      <el-table-column label="规格" prop="drugSpecification"></el-table-column>
-      <el-table-column label="描述" prop="discription"></el-table-column>
-      <el-table-column label="库存" prop="stockAmount"></el-table-column>
-      <el-table-column label="大包装" prop="specPack"></el-table-column>
-      <el-table-column label="医保类型" prop="ybFlagNew"></el-table-column>
-      <el-table-column label="医保备注" prop="ybComment"></el-table-column>
-      <el-table-column label="大输液" prop="infusionFlagName"></el-table-column>
-      <el-table-column label="厂家" prop="manuName"></el-table-column>
-      <el-table-column label="类型" prop="orderType"></el-table-column>
-      <el-table-column label="毒麻类型" prop="drugFlagName"></el-table-column>
-    </el-table>
-    <el-pagination
-      :current-page="orderData.currentPage"
-      :page-size="orderData.pageSize"
-      :total="orderData.data.length"
-      layout="total,prev,pager,next,jumper"
-      @current-change="orderDataCurrent"
-    >
-    </el-pagination>
-  </el-dialog>
+  <!-- 这里是搜索医嘱的 -->
+  <sou-suo-yi-zhu v-if="yiZhuMingDialog" @close="yiZhuMingDialog = false"
+                  @xuanZhongFeiYong="xuanZhongFeiYong"></sou-suo-yi-zhu>
 </template>
 
 <script>
-import { computed, onActivated, onDeactivated, ref, watch } from 'vue'
-import { huoQuFeiYongXinXi, huoQuGeiYaoFangShi, huoQuXiangMu, huoQuZhiXinKeShi, huoQuZhuYuanPinLv, shangChuanYiZhu } from '@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru'
-import { getSelfBuy, huanZheXinXi, youWuXuanZheHuanZhe } from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
+import {computed, onDeactivated, onMounted, onUnmounted, ref, watch} from 'vue'
+import {
+  huoQuFeiYongXinXi,
+  huoQuGeiYaoFangShi,
+  huoQuZhiXinKeShi,
+  huoQuZhuYuanPinLv,
+  shangChuanYiZhu
+} from '@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru'
+import {
+  getSelfBuy,
+  huanZheXinXi,
+  youWuXuanZheHuanZhe
+} from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
 import store from '../../../../store'
-import { listIsBlank, listNotBlank, stringIsBlank, stringNotBlank } from '@/utils/blank-utils'
-import { kangJunYaoWuQieKou, kangJunYaoWuYongYaoFangShi, kangJunYaoWuYongYaoShiJian } from '@/data'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { clone } from '@/utils/clone'
+import {listIsBlank, listNotBlank, stringIsBlank, stringNotBlank} from '@/utils/blank-utils'
+import {kangJunYaoWuQieKou, kangJunYaoWuYongYaoFangShi, kangJunYaoWuYongYaoShiJian} from '@/data'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {clone} from '@/utils/clone'
 import HuoQuMuBan from '../../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuoQuMuBan.vue'
-import { uuid } from '@/utils/getUuid'
+import {uuid} from '@/utils/getUuid'
 import BaoCunMuBan from '../../../../components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/BaoCunMuBan.vue'
-import { getServerDateApi } from '@/api/public-api'
+import {getServerDateApi} from '@/api/public-api'
 import router from '@/router'
+import SouSuoYiZhu from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/SouSuoYiZhu.vue";
 
 export default {
-  name: 'TianJiaHuoXiuGaiYiZhu',
-  components: { BaoCunMuBan, HuoQuMuBan },
+  name: 'TianJiaYiZhu',
+  components: {SouSuoYiZhu, BaoCunMuBan, HuoQuMuBan},
   setup() {
     const windowSize = computed(() => {
       return store.state.app.windowSize
@@ -386,116 +376,94 @@ export default {
     spanSize(windowSize.value.w)
 
     watch(
-      () => windowSize.value,
-      () => {
-        spanSize(windowSize.value.w)
-      }
+        () => windowSize.value,
+        () => {
+          spanSize(windowSize.value.w)
+        }
     )
 
     // 搜索医嘱
     const yiZhuMingDialog = ref(false)
-    const orderName = ref('') // 01672
-    const orderData = ref({
-      currentPage: 1,
-      pageSize: 10,
-      data: [],
-    })
-
-    const queryYiZhuClick = () => {
-      if (orderName.value.length < 2) {
-        return ElMessage.error('至少输入2个字符以上')
-      }
-      huoQuXiangMu(orderName.value).then((res) => {
-        orderData.value.data = res
-        orderData.value.currentPage = 1
-      })
-    }
-
-    const orderDataCurrent = (val) => {
-      orderData.value.currentPage = val
-    }
-
     const xuanZhongFeiYong = (row) => {
+      yiZhuMingDialog.value = false
       qingKong()
       yiZhuData.value = clone(row)
       if (row.serial !== '00') {
         huoQuFeiYongXinXi(row.orderCode, row.serial)
-          .then((res) => {
-            yiZhuData.value.drugFlag = row.orderType
-            // 判断是否 是皮试的药 如果是就只能有这些 给药方式
-            if (res.data.psFlag === 1) {
-              geiYaoFangShiData.value = res.piShi
-              tiShiBiaoTi.value.push({ title: '该药品为皮试药品给药方式只能是皮试类型', type: 'warning' })
-              yiZhuData.value.psFlag = true
-            } else {
-              geiYaoFangShiData.value = []
-              yiZhuData.value.psFlag = false
-            }
-            yiZhuData.value.kjywFlag = res.data.kjywFlag
-            if (yiZhuData.value.kjywFlag === 1) {
-              tiShiBiaoTi.value.push({ title: '该药品为抗菌药物,请填写抗菌药物医嘱附注信息录入。', type: 'error' })
-            }
-            if (res.data.selfFlagYb === 1) {
-              tiShiBiaoTi.value.push({ title: '该药品医保自费药品,如符合条件请填写记账,不是请填写自费。' })
-            }
-            yiZhuData.value.miniUnitName = res.data.miniUnitName
-            yaoPinJiLiangData.value = res.yaoPingJiLiang
-            // 加载 剂量单位
-            if (stringNotBlank(yiZhuData.value.doseUnit)) {
-              yaoPinJiLiangData.value.forEach((item) => {
-                if (item.code === yiZhuData.value.doseUnit) {
-                  jiLiangValue.value = item.value
-                }
-              })
-            } else if (listNotBlank(yaoPinJiLiangData.value)) {
-              // 没有剂量单位的时候默认加载第一个计量单位 并且计算
-              yiZhuData.value.doseUnit = yaoPinJiLiangData.value[0].code
-              yiZhuData.value.dose = yaoPinJiLiangData.value[0].value
-              jiLiangValue.value = yaoPinJiLiangData.value[0].value
-              jiSuanLingLiang(yaoPinJiLiangData.value[0].value)
-            }
-            // 加载默认频率 如果已经填写了 就用有的
-            if (stringNotBlank(row.frequCode)) {
-              pinLvRemoteMethod(yiZhuData.value.frequCode)
-            } else if (stringNotBlank(res.data.frequCode)) {
-              yiZhuData.value.frequCode = res.data.frequCode
-              pinLvRemoteMethod(yiZhuData.value.frequCode)
-            } else {
-              yiZhuData.value.frequCode = 'ONCE'
-              pinLvRemoteMethod('ONCE')
-            }
-            // 加载给药方式
-            if (stringNotBlank(yiZhuData.value.supplyCode)) {
-              geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
-            } else if (stringNotBlank(res.data.supplyCode)) {
-              yiZhuData.value.supplyCode = res.data.supplyCode
-              geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
-            }
-            guanBiSouSuoXiangMu()
-          })
-          .catch((e) => {
-            setTimeout(() => {
-              console.error(e)
-              qingKong()
-            }, 100)
-          })
+            .then((res) => {
+              yiZhuData.value.drugFlag = row.orderType
+              // 判断是否 是皮试的药 如果是就只能有这些 给药方式
+              if (res.data.psFlag === 1) {
+                geiYaoFangShiData.value = res.piShi
+                tiShiBiaoTi.value.push({title: '该药品为皮试药品给药方式只能是皮试类型', type: 'warning'})
+                yiZhuData.value.psFlag = true
+              } else {
+                geiYaoFangShiData.value = []
+                yiZhuData.value.psFlag = false
+              }
+              yiZhuData.value.kjywFlag = res.data.kjywFlag
+              if (yiZhuData.value.kjywFlag === 1) {
+                tiShiBiaoTi.value.push({title: '该药品为抗菌药物,请填写抗菌药物医嘱附注信息录入。', type: 'error'})
+              }
+              if (res.data.selfFlagYb === 1) {
+                tiShiBiaoTi.value.push({title: '该药品医保自费药品,如符合条件请填写记账,不是请填写自费。'})
+              }
+              yiZhuData.value.miniUnitName = res.data.miniUnitName
+              yaoPinJiLiangData.value = res.yaoPingJiLiang
+              // 加载 剂量单位
+              if (stringNotBlank(yiZhuData.value.doseUnit)) {
+                yaoPinJiLiangData.value.forEach((item) => {
+                  if (item.code === yiZhuData.value.doseUnit) {
+                    jiLiangValue.value = item.value
+                  }
+                })
+              } else if (listNotBlank(yaoPinJiLiangData.value)) {
+                // 没有剂量单位的时候默认加载第一个计量单位 并且计算
+                yiZhuData.value.doseUnit = yaoPinJiLiangData.value[0].code
+                yiZhuData.value.dose = yaoPinJiLiangData.value[0].value
+                jiLiangValue.value = yaoPinJiLiangData.value[0].value
+                jiSuanLingLiang(yaoPinJiLiangData.value[0].value)
+              }
+              // 加载默认频率 如果已经填写了 就用有的
+              if (stringNotBlank(row.frequCode)) {
+                pinLvRemoteMethod(yiZhuData.value.frequCode)
+              } else if (stringNotBlank(res.data.frequCode)) {
+                yiZhuData.value.frequCode = res.data.frequCode
+                pinLvRemoteMethod(yiZhuData.value.frequCode)
+              } else {
+                yiZhuData.value.frequCode = 'ONCE'
+                pinLvRemoteMethod('ONCE')
+              }
+              // 加载给药方式
+              if (stringNotBlank(yiZhuData.value.supplyCode)) {
+                geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
+              } else if (stringNotBlank(res.data.supplyCode)) {
+                yiZhuData.value.supplyCode = res.data.supplyCode
+                geiYaoFangShiRemoteMethod(yiZhuData.value.supplyCode)
+              }
+            })
+            .catch((e) => {
+              setTimeout(() => {
+                console.error(e)
+                qingKong()
+              }, 100)
+            })
       } else {
         yiZhuData.value.kjywFlag = 0
         huoQuFeiYongXinXi(row.orderCode, '00')
-          .then((res) => {
-            yiZhuData.value.drugFlag = row.orderType
-            guanBiSouSuoXiangMu()
-            yiZhuData.value.frequCode = 'ONCE'
-            pinLvRemoteMethod('ONCE')
-            if (stringNotBlank(res.paiChiYiZhu)) {
-              tiShiBiaoTi.value.push({ title: res.paiChiYiZhu, type: 'error' })
-            }
-          })
-          .catch((e) => {
-            setTimeout(() => {
-              qingKong()
-            }, 100)
-          })
+            .then((res) => {
+              yiZhuData.value.drugFlag = row.orderType
+              yiZhuData.value.frequCode = 'ONCE'
+              pinLvRemoteMethod('ONCE')
+              if (stringNotBlank(res.paiChiYiZhu)) {
+                tiShiBiaoTi.value.push({title: res.paiChiYiZhu, type: 'error'})
+              }
+            })
+            .catch((e) => {
+              setTimeout(() => {
+                qingKong()
+              }, 100)
+            })
       }
       // 判断这个是不是 新添加的数据 如果是空的就是 新数据
       if (stringIsBlank(row.newData)) {
@@ -566,7 +534,7 @@ export default {
       fuYiZhuData.value = []
       yiZhuList.value.forEach((item, index) => {
         if (stringNotBlank(item.drugFlag) && item.drugFlag === 'i' && item.id !== yiZhuData.value.id && stringIsBlank(item.parentNo)) {
-          fuYiZhuData.value.push({ code: item.id, name: item.orderName })
+          fuYiZhuData.value.push({code: item.id, name: item.orderName})
         }
       })
     }
@@ -595,21 +563,21 @@ export default {
         list: list,
       }
       shangChuanYiZhu(data)
-        .then((res) => {
-          let index = tianJiaYiZhuWeiYiBiaoShi.value.indexOf(yiZhuData.value.id)
-          if (index > -1) {
-            yiZhuList.value.splice(index, 1)
-            tianJiaYiZhuWeiYiBiaoShi.value.splice(index, 1)
-            ElMessage.error('重复添加,老记录已删除。')
-          }
-          tianJiaShiHuoQuXiaLaKuangDeZhi()
-          tianJiaYiZhuWeiYiBiaoShi.value.push(yiZhuData.value.id)
-          yiZhuList.value.push(clone(yiZhuData.value))
-          qingKong()
-        })
-        .catch((e) => {
-          cuoWuXinXi.value = e
-        })
+          .then((res) => {
+            let index = tianJiaYiZhuWeiYiBiaoShi.value.indexOf(yiZhuData.value.id)
+            if (index > -1) {
+              yiZhuList.value.splice(index, 1)
+              tianJiaYiZhuWeiYiBiaoShi.value.splice(index, 1)
+              ElMessage.error('重复添加,老记录已删除。')
+            }
+            tianJiaShiHuoQuXiaLaKuangDeZhi()
+            tianJiaYiZhuWeiYiBiaoShi.value.push(yiZhuData.value.id)
+            yiZhuList.value.push(clone(yiZhuData.value))
+            qingKong()
+          })
+          .catch((e) => {
+            cuoWuXinXi.value = e
+          })
     }
 
     // 这里是获取下拉框中的值的
@@ -659,23 +627,28 @@ export default {
 
     /* 保存信息 */
     const baoCunYiZhuClick = () => {
-      if (listIsBlank(yiZhuList.value)) {
-        return ElMessage.error('请先选择数据')
-      }
-      if (youWuXuanZheHuanZhe()) return
-      let data = {
-        inpatientNo: huanZheXinXi.value.inpatientNo,
-        admissTimes: huanZheXinXi.value.admissTimes,
-        chaRuYiZhu: true,
-        list: yiZhuList.value,
-      }
-      shangChuanYiZhu(data)
-        .then((res) => {
-          router.go(-1)
-        })
-        .catch((e) => {
-          cuoWuXinXi.value = e
-        })
+      ElMessageBox.confirm('您确定要保存这些数据吗?请仔细检查数据。', '提示', {
+        type: 'warning'
+      }).then(() => {
+        if (listIsBlank(yiZhuList.value)) {
+          return ElMessage.error('请先选择数据')
+        }
+        if (youWuXuanZheHuanZhe()) return
+        let data = {
+          inpatientNo: huanZheXinXi.value.inpatientNo,
+          admissTimes: huanZheXinXi.value.admissTimes,
+          chaRuYiZhu: true,
+          list: yiZhuList.value,
+        }
+        shangChuanYiZhu(data)
+            .then((res) => {
+              router.go(-1)
+            })
+            .catch((e) => {
+              cuoWuXinXi.value = e
+            })
+      }).catch(() => {
+      })
     }
 
     /*  这里是抗菌药物,选择了除了 1和 2 的其他都可以不用填写 */
@@ -726,42 +699,19 @@ export default {
         list: yiZhuList.value,
       }
       shangChuanYiZhu(data)
-        .then((res) => {
-          baoCunMuBanRef.value.daKaiBaoCunMuBan(yiZhuList.value)
-          cuoWuXinXi.value = ''
-        })
-        .catch((e) => {
-          cuoWuXinXi.value = e
-        })
+          .then((res) => {
+            baoCunMuBanRef.value.daKaiBaoCunMuBan(yiZhuList.value)
+            cuoWuXinXi.value = ''
+          })
+          .catch((e) => {
+            cuoWuXinXi.value = e
+          })
     }
     // 医嘱限制时间不能在之前
     const disabledDate = (time) => {
       return time.getTime() < Date.now() - 8.64e7
     }
 
-    watch(
-      () => huanZheXinXi.value,
-      () => {
-        zhiXingKeShiData.value = [
-          {
-            code: huanZheXinXi.value.smallDept,
-            name: huanZheXinXi.value.smallDeptName,
-          },
-        ]
-      }
-    )
-
-    watch(
-      () => yiZhuMingDialog.value,
-      () => {
-        if (yiZhuMingDialog.value) {
-          setTimeout(() => {
-            searchInput.value.focus()
-          }, 300)
-        }
-      }
-    )
-
     const xuanZhongShuJu = ref([])
 
     const dianJiXuanZhongShuJu = (selection) => {
@@ -784,13 +734,6 @@ export default {
       }
     }
 
-    const guanBiSouSuoXiangMu = (done) => {
-      yiZhuMingDialog.value = false
-      if (store.state.app.yiZhuLuRu.jianRongMoShi) {
-        orderData.value.data = []
-      }
-      orderData.value.currentPage = 1
-    }
 
     const qingKong = () => {
       cuoWuXinXi.value = ''
@@ -844,13 +787,25 @@ export default {
 
     let daoJiShi = null
 
-    onActivated(() => {
+    onMounted(() => {
       if (stringIsBlank(huanZheXinXi.value.inpatientNo)) {
         ElMessage.warning('您现在进入的是医嘱模板编辑')
       } else {
         ElMessage.warning('您现在进入的是医嘱编辑模块,' + '您的编辑时间有 10 分钟,你准备好了吗?Are ya ready kids?')
         kaiQiDaoJiShi()
       }
+      if (stringNotBlank(huanZheXinXi.value.inpatientNo)) {
+        zhiXingKeShiData.value = [
+          {
+            code: huanZheXinXi.value.smallDept,
+            name: huanZheXinXi.value.smallDeptName,
+          },
+        ]
+      }
+    })
+
+    onUnmounted(() => {
+      clearInterval(daoJiShi)
     })
 
     // 倒计时功能
@@ -872,7 +827,8 @@ export default {
       if (seconds.value === 300) {
         ElMessageBox.alert('您的操作时间过半', '提示', {
           type: 'warning',
-        }).then((res) => {})
+        }).then((res) => {
+        })
       } else if (seconds.value === 60 || seconds.value === 30 || seconds.value === 20) {
         ElMessage({
           message: '剩余操作时间' + seconds.value + '秒',
@@ -897,12 +853,8 @@ export default {
       span,
       searchInput,
       yiZhuMingDialog,
-      orderName,
-      orderData,
-      queryYiZhuClick,
       windowSize,
       xuanZhongFeiYong,
-      orderDataCurrent,
       yaoPinJiLiangData,
       pinLvRemoteMethod,
       xuanZheJiLiang,
@@ -937,7 +889,6 @@ export default {
       dianJiXuanZhongShuJu,
       dianJiXiuGaiZhiXingKeShi,
       count,
-      guanBiSouSuoXiangMu,
     }
   },
 }

+ 21 - 16
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue

@@ -133,7 +133,6 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange">
       </el-pagination>
-      <!--      <tian-jia-huo-xiu-gai-yi-zhu ref="tianJiaXiuGaiYiZhu"></tian-jia-huo-xiu-gai-yi-zhu>-->
     </el-main>
     <el-dialog v-model="yiZhuChaoZuoDialog"
                :close-on-click-modal="false"
@@ -169,17 +168,16 @@ import {
   piLiangXiuGaiTingZhiShiJian,
   yiZhuChaoZuo,
 } from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
-import {huanZhePinLvData, huanZheXinXi, youWuXuanZheHuanZhe, zuJianMing,} from '../public-js/zhu-yuan-yi-sheng'
+import {huanZhePinLvData, huanZheXinXi, youWuXuanZheHuanZhe,} from '../public-js/zhu-yuan-yi-sheng'
 
-import {getDateRangeFormatDate} from "@/utils/date";
+import {getDateRangeFormatDate, getFormatDatetime} from "@/utils/date";
 import store from '../../../../store'
 import {stringIsBlank, stringNotBlank} from '@/utils/blank-utils';
-import TianJiaHuoXiuGaiYiZhu from "./TianJiaYiZhu.vue";
 import router from "@/router";
+import {getServerDateApi} from "@/api/public-api";
 
 export default {
   name: "YiZhuLuRuZhuJian",
-  components: {TianJiaHuoXiuGaiYiZhu},
   setup(props, cxt) {
     const windowSize = computed(() => {
       return store.state.app.windowSize
@@ -189,7 +187,7 @@ export default {
       return store.state.user.info
     })
 
-    const dateRange = ref('')
+    const dateRange = ref([])
     // 根据医嘱的名字来进行搜索
     const orderName = ref('')
     const yiZhuMingZiData = ref([])
@@ -278,15 +276,13 @@ export default {
      */
     const tianJiaXiuGaiYiZhu = ref(null)
     const addYiZhuClick = () => {
-      router.push({name: 'xinZengShuJu'})
-      zuJianMing.value = '添加医嘱'
+      router.push({
+        name: 'xinZengShuJu',
+        params: {passRule: true, name: '添加医嘱'},
+        query: {path: '/inpatient/zhuYuanYiSheng/yiZhuLuRu'}
+      })
     }
 
-    watch(() => huanZheXinXi.value, () => {
-      chaXunYiZhuClick(0)
-    })
-
-
     const dianJiYiZhuChaoZuo = ({actOrderNo, orderName}, flag, name) => {
       chaoZuoBiaoZhi.value = flag
       yiZhuHao.value = actOrderNo
@@ -328,8 +324,6 @@ export default {
           content.value = ''
         })
       }
-
-
     }
 
     const yiZhuChaoZuoDialog = ref(false)
@@ -369,9 +363,20 @@ export default {
 
 
     onActivated(() => {
-      chaXunYiZhuClick(0)
+      getServerDateApi().then((res) => {
+        dateRange.value[0] = getFormatDatetime(res, 'YYYY-MM-DD')
+        dateRange.value[1] = getFormatDatetime(res, 'YYYY-MM-DD')
+        chaXunYiZhuClick(0)
+      })
     })
 
+    watch(() => huanZheXinXi.value, () => {
+      getServerDateApi().then((res) => {
+        dateRange.value[0] = getFormatDatetime(res, 'YYYY-MM-DD')
+        dateRange.value[1] = getFormatDatetime(res, 'YYYY-MM-DD')
+        chaXunYiZhuClick(0)
+      })
+    })
 
     return {
       user,