Browse Source

优化代码

xiaochan 3 years ago
parent
commit
2fa05cabc5

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

@@ -132,7 +132,7 @@ import store from "@/store";
 import {clone} from "@/utils/clone";
 import {ElMessage, ElMessageBox} from "element-plus";
 import {listNotBlank} from "@/utils/blank-utils";
-import BianJiJianChaShenQing from "@/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/BianJiJianChaJianYanShenQing.vue";
+import BianJiJianChaShenQing from "@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-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";
 

+ 58 - 0
src/components/zhu-yuan-yi-sheng/hui-zhen-shen-qing/HuanZheZhenDuan.vue

@@ -0,0 +1,58 @@
+<template>
+  <el-dialog v-model="dialog" :title="title" @close="emit('close')">
+    <el-table :data="zhuYaoZhenDuanShuJu">
+      <el-table-column label="编码" prop="code"></el-table-column>
+      <el-table-column label="名称" prop="name"></el-table-column>
+      <el-table-column label="添加">
+        <template #default="scope">
+          <el-button @click="emit('zhen-duan-ming', scope.row.name) ">添加</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+  </el-dialog>
+</template>
+
+<script>
+import {onMounted, ref} from "vue";
+import {huoQuHuanZheZhuYaoZhenDuan} from "@/api/case-front-sheet";
+import {huanZheXinXi} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
+
+export default {
+  name: "HuanZheZhenDuan",
+  emits: ['zhen-duan-ming', 'close'],
+  props: {
+    zhenDuanLeiXing: {
+      type: Number,
+      default: 1,
+    },
+    patNo: {
+      type: String
+    },
+    times: {
+      type: Number
+    }
+  },
+  setup(props, {emit}) {
+    const zhuYaoZhenDuanShuJu = ref([])
+    const dialog = true
+
+    onMounted(() => {
+      console.log(props.zhenDuanLeiXing)
+      huoQuHuanZheZhuYaoZhenDuan(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, props.zhenDuanLeiXing).then((res) => {
+        zhuYaoZhenDuanShuJu.value = res
+      })
+    })
+
+    return {
+      zhuYaoZhenDuanShuJu,
+      dialog,
+      title: props.zhenDuanLeiXing === 1 ? '本院主要诊断' : '医保诊断',
+      emit
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 35 - 50
src/components/zhu-yuan-yi-sheng/hui-zhen-shen-qing/TianJiaHuiZhenShenQing.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog v-model="huiZhenShenQingDialog" title="会诊申请" top="15%">
+  <el-dialog v-model="huiZhenShenQingDialog" title="会诊申请" @close="guanBi">
     <el-form ref="huiZhenShenQingForm" :model="huiZhenShenQing" :rules="huiZhenShenQingRules" label-width="100px">
       <el-form-item label="会诊科室:" prop="reqDept1">
         <el-select
@@ -79,37 +79,29 @@
       <el-tag style="margin-left: 20px">申请时间:{{ huiZhenShenQing.inputDate }}</el-tag>
     </el-form>
   </el-dialog>
-  <el-dialog v-model="chaXunZhuYaoZhenDuanDuiHuaKuang" title="患者主要诊断">
-    <el-table :data="zhuYaoZhenDuanShuJu">
-      <el-table-column label="编码" prop="code"></el-table-column>
-      <el-table-column label="名称" prop="name"></el-table-column>
-      <el-table-column label="添加">
-        <template #default="scope">
-          <el-button @click="dianJiTianJiaZhuYaoZhenDuan(scope.row.name)">添加</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-  </el-dialog>
+  <huan-zhe-zhen-duan v-if="huanZheZhenDuan.dialog"
+                      :pat-no="huanZheXinXi.inpatientNo"
+                      :times="huanZheXinXi.admissTimes"
+                      :zhen-duan-lei-xing="huanZheZhenDuan.zhenDuanLeiXing"
+                      @close="huanZheZhenDuan.dialog = false"
+                      @zhenDuanMing="dianJiTianJiaZhuYaoZhenDuan"></huan-zhe-zhen-duan>
 </template>
 
 <script>
 import {cptSex} from "@/utils/computed";
-import {computed, onMounted, ref, unref, watch} from "vue";
-import {
-  gethuiZhenLeiBie,
-  huiZhenYiSheng,
-  huoQuHuanZheZhuYaoZhenDuan,
-  queryDept,
-  submitHuiZhenShenQing
-} from "@/api/case-front-sheet";
+import {computed, onMounted, ref, unref} from "vue";
+import {gethuiZhenLeiBie, huiZhenYiSheng, queryDept, submitHuiZhenShenQing} from "@/api/case-front-sheet";
 import {ElMessage, ElMessageBox} from "element-plus";
 import {huanZheXinXi, youWuXuanZheHuanZhe} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import store from "@/store"
 import {getServerDateApi} from "@/api/public-api";
+import HuanZheZhenDuan from "@/components/zhu-yuan-yi-sheng/hui-zhen-shen-qing/HuanZheZhenDuan.vue";
 
 export default {
   name: "TianJiaHuiZhenShenQing",
-  setup() {
+  components: {HuanZheZhenDuan},
+  emits: ['close'],
+  setup(props, ctx) {
     const windowSize = computed(() => {
       return store.state.app.windowSize
     })
@@ -139,7 +131,7 @@ export default {
       huiZhenKeShi: {},
     })
 
-    const huiZhenShenQingDialog = ref(false)
+    const huiZhenShenQingDialog = ref(true)
     // 会诊医生
     const huiZhenYiShengList = ref([])
     // 科室
@@ -197,8 +189,6 @@ export default {
       ],
       hzMd: [{required: true, message: '会诊目的不能为空', trigger: 'blur'}],
     })
-
-
     //点击申请
     const huiZhenShenQingClick = async () => {
       const form = unref(huiZhenShenQingForm)
@@ -225,42 +215,37 @@ export default {
       }
     }
 
-    watch(() => huiZhenShenQingDialog.value, () => {
-      if (huiZhenShenQingDialog.value) {
-        huiZhenShenQing.value.name = userInfo.name
-        getServerDateApi().then((res) => {
-          huiZhenShenQing.value.inputDate = res
-        })
-      } else {
-        huiZhenShenQingForm.value.resetFields()
-      }
-    })
-
     // 查询主要诊断
     const dianJiChaXunZhuYaoZhenDuan = (val) => {
       if (youWuXuanZheHuanZhe()) return
-      dianJiChaXunZhenDuan(val)
+      huanZheZhenDuan.value.dialog = true
+      huanZheZhenDuan.value.zhenDuanLeiXing = val
     }
 
-    const dianJiChaXunZhenDuan = (val) => {
-      huoQuHuanZheZhuYaoZhenDuan(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, val).then((res) => {
-        zhuYaoZhenDuanShuJu.value = res
-        chaXunZhuYaoZhenDuanDuiHuaKuang.value = true
-      })
-
-    }
 
-    const chaXunZhuYaoZhenDuanDuiHuaKuang = ref(false)
-    const zhuYaoZhenDuanShuJu = ref([])
+    const huanZheZhenDuan = ref({
+          dialog: false,
+          zhenDuanLeiXing: 1
+        }
+    )
 
     const dianJiTianJiaZhuYaoZhenDuan = (val) => {
       if (huiZhenShenQing.value.hzZd.length + val.length >= 100) {
         ElMessage.error("主要诊断过长。")
+      } else {
+        huiZhenShenQing.value.hzZd += val + ','
       }
-      huiZhenShenQing.value.hzZd += val + ','
+    }
+
+    const guanBi = () => {
+      ctx.emit('close')
     }
 
     onMounted(() => {
+      huiZhenShenQing.value.name = userInfo.name
+      getServerDateApi().then((res) => {
+        huiZhenShenQing.value.inputDate = res
+      })
       gethuiZhenLeiBie().then((res) => {
         huiZhenLeiBieList.value = res
       })
@@ -279,12 +264,12 @@ export default {
       huiZhenShenQingClick,
       huiZhenShenQingRules,
       huiZhenShenQingForm,
-      chaXunZhuYaoZhenDuanDuiHuaKuang,
+      huanZheZhenDuan,
       dianJiChaXunZhuYaoZhenDuan,
-      zhuYaoZhenDuanShuJu,
-      dianJiChaXunZhenDuan,
       dianJiTianJiaZhuYaoZhenDuan,
-      windowSize
+      windowSize,
+      guanBi,
+      huanZheXinXi
     }
   }
 }

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

@@ -349,6 +349,12 @@ const route = [
                         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: '新增数据'}
+                    },
                     {
                         path: 'xinZhenYiZhu',
                         name: 'xinZhenYiZhu',
@@ -367,9 +373,12 @@ const route = [
                     },
                     {
                         path: 'jianChaShenQing',
-                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/JianChaShenQing.vue')),
+                        component: createNameComponent(() => import('@/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-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')),

+ 6 - 3
src/views/hospitalization/zhu-yuan-yi-sheng/HuiZhenShenQing.vue

@@ -47,7 +47,8 @@
     <el-dialog v-model="huiZhenXiangQingDuiHua" title="会诊详情" width="920px">
       <da-ying-hui-zhen ref="daYingHuiZhenRef" :lai-yuan="2"></da-ying-hui-zhen>
     </el-dialog>
-    <tian-jia-hui-zhen-shen-qing ref="tianJiaHuiZhen"></tian-jia-hui-zhen-shen-qing>
+    <tian-jia-hui-zhen-shen-qing v-if="daKaiHuiZhenShenQing" ref="tianJiaHuiZhen"
+                                 @close="daKaiHuiZhenShenQing = false"></tian-jia-hui-zhen-shen-qing>
   </el-container>
 </template>
 <script>
@@ -69,6 +70,7 @@ export default {
     })
 
     const tianJiaHuiZhen = ref(null)
+    const daKaiHuiZhenShenQing = ref(false)
 
     const chaKanHuiZhenList = ref([])
     const chaKanHuiZhenShenQingClick = () => {
@@ -86,7 +88,7 @@ export default {
 
     const dianJiHuiZhenShenQing = () => {
       if (youWuXuanZheHuanZhe()) return
-      tianJiaHuiZhen.value.huiZhenShenQingDialog = true
+      daKaiHuiZhenShenQing.value = true
     }
 
     /**
@@ -136,7 +138,8 @@ export default {
       huiZhenXiangQingDuiHua,
       daYingHuiZhenRef,
       chaKanHuiZhenDan,
-      dianJiDaYingHuiZhen
+      dianJiDaYingHuiZhen,
+      daKaiHuiZhenShenQing
     }
   }
 }

+ 39 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/XinZengShuJu.vue

@@ -0,0 +1,39 @@
+<template>
+  <tian-jia-yi-zhu v-if="title === '添加医嘱'"></tian-jia-yi-zhu>
+</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 {stringIsBlank} from "@/utils/blank-utils";
+
+export default {
+  name: "XinZengShuJu",
+  components: {TianJiaYiZhu},
+  setup() {
+    const title = ref('')
+
+    onActivated(() => {
+      title.value = zuJianMing.value
+      if (stringIsBlank(title.value)) {
+        router.go(-1)
+      }
+    })
+
+    onDeactivated(() => {
+      title.value = ''
+    })
+
+    return {
+      title
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

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


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


+ 2 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.js

@@ -11,6 +11,8 @@ export const huanZheXinXi = ref({})
 export const selectWardCode = ref(0)
 // 是否点击了修改整个模板
 export const muBanMing = ref({})
+// 新增数据的组件名称
+export const zuJianMing = ref('')
 
 // 初始化不弹出 提示信息
 

+ 3 - 11
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue

@@ -169,7 +169,7 @@ import {
   piLiangXiuGaiTingZhiShiJian,
   yiZhuChaoZuo,
 } from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
-import {huanZhePinLvData, huanZheXinXi, youWuXuanZheHuanZhe,} from '../public-js/zhu-yuan-yi-sheng'
+import {huanZhePinLvData, huanZheXinXi, youWuXuanZheHuanZhe, zuJianMing,} from '../public-js/zhu-yuan-yi-sheng'
 
 import {getDateRangeFormatDate} from "@/utils/date";
 import store from '../../../../store'
@@ -278,16 +278,8 @@ export default {
      */
     const tianJiaXiuGaiYiZhu = ref(null)
     const addYiZhuClick = () => {
-      // if (youWuXuanZheHuanZhe()) {
-      //   tianJiaXiuGaiYiZhu.value.dialog = true
-      //   tianJiaXiuGaiYiZhu.value.title = '医嘱模板编辑'
-      // } else {
-      //   tianJiaXiuGaiYiZhu.value.dialog = true
-      //   tianJiaXiuGaiYiZhu.value.title = '添加医嘱'
-      // }
-      router.push({
-        name: 'xinZhenYiZhu',
-      })
+      router.push({name: 'xinZengShuJu'})
+      zuJianMing.value = '添加医嘱'
     }
 
     watch(() => huanZheXinXi.value, () => {