xiaochan 3 years ago
parent
commit
39bfe4d6d7
1 changed files with 90 additions and 4 deletions
  1. 90 4
      src/views/hospitalization/zhu-yuan-yi-sheng/HuiZhenShenQing.vue

+ 90 - 4
src/views/hospitalization/zhu-yuan-yi-sheng/HuiZhenShenQing.vue

@@ -1,29 +1,115 @@
 <template>
   <el-container>
     <el-header>
-      <el-button @click="tianJiaHuiZhen.huiZhenShenQingDialog = true">会诊申请</el-button>
+      <el-button @click="dianJiHuiZhenShenQing" type="success" icon="el-icon-plus">会诊申请</el-button>
+      <el-button @click="chaKanHuiZhenShenQingClick" type="primary" icon="el-icon-search">会诊查询</el-button>
     </el-header>
-    <el-main></el-main>
+    <el-main>
+      <el-table :data="chaKanHuiZhenList" :height="(windowSize.h / 1.5) ">
+        <el-table-column label="住院号" width="90" prop="inpatientNo"></el-table-column>
+        <el-table-column label="住院次数" width="70" prop="admissTimes"></el-table-column>
+        <el-table-column label="申请人" width="60" prop="inputName"></el-table-column>
+        <el-table-column label="申请时间" width="70" prop="inputDate"></el-table-column>
+        <el-table-column label="科室" prop="deptName"></el-table-column>
+        <el-table-column label="申请会诊科室" prop="reqDeptName"></el-table-column>
+        <el-table-column label="会诊类别" prop="hzLevelName"></el-table-column>
+        <el-table-column label="会诊医生" prop="hzDoctor1Name"></el-table-column>
+        <el-table-column label="会诊级别" prop="hzType">
+          <template #default="scope">
+            <span>{{ hzTypeName(scope.row.hzType) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="删除">
+          <template #default="scope">
+            <el-popconfirm
+                @confirm="shanChuHuiZhenShenQingClick(scope.$index, scope.row)"
+                confirm-button-text="确定"
+                cancel-button-text="取消"
+                icon="el-icon-info"
+                title="确定要删除吗?"
+                icon-color="red"
+            >
+              <template #reference>
+                <el-button type="danger">删除</el-button>
+              </template>
+            </el-popconfirm>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-main>
     <tian-jia-hui-zhen-shen-qing ref="tianJiaHuiZhen"></tian-jia-hui-zhen-shen-qing>
   </el-container>
 </template>
-
 <script>
 
 import TianJiaHuiZhenShenQing from "@/components/zhu-yuan-yi-sheng/hui-zhen-shen-qing/TianJiaHuiZhenShenQing.vue";
-import {ref} from "vue";
+import {computed, onActivated, ref, watch} from "vue";
+import {chaKanHuiZhenShenQing, shanChuHuiZhenShenQing} from "@/api/case-front-sheet";
+import {
+  huanZheXinXi,
+  youWuXuanZheHuanZhe
+} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
+import store from "@/store";
 
 export default {
   name: "HuiZhenShenQing",
   components: {TianJiaHuiZhenShenQing},
   setup() {
+    const windowSize = computed(() => {
+      return store.state.app.windowSize
+    })
+
     const tianJiaHuiZhen = ref(null)
 
+    const chaKanHuiZhenList = ref([])
+    const chaKanHuiZhenShenQingClick = () => {
+      if (youWuXuanZheHuanZhe()) return
+      chaKanHuiZhenShenQing(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes).then((res) => {
+        chaKanHuiZhenList.value = res
+      })
+    }
+
+    const shanChuHuiZhenShenQingClick = (index, val) => {
+      shanChuHuiZhenShenQing(val.inpatientNo, val.admissTimes, val.actOrderNo, val.reqTimes).then((res) => {
+        chaKanHuiZhenList.value.splice(index, 1)
+      })
+    }
+
+    const dianJiHuiZhenShenQing = () => {
+      if (youWuXuanZheHuanZhe()) return
+      tianJiaHuiZhen.value.huiZhenShenQingDialog = true
+    }
+
+    watch(() => huanZheXinXi.value, () => {
+      chaKanHuiZhenShenQingClick()
+    })
+
+    onActivated(() => {
+      chaKanHuiZhenShenQingClick()
+    })
+
     return {
       tianJiaHuiZhen,
+      dianJiHuiZhenShenQing,
+      chaKanHuiZhenList,
+      chaKanHuiZhenShenQingClick,
+      shanChuHuiZhenShenQingClick,
+      hzTypeName,
+      windowSize
     }
   }
 }
+
+function hzTypeName(val) {
+  switch (val) {
+    case '1':
+      return '主治医师'
+    case '2':
+      return '副主任医生'
+    case '3':
+      return '主任医生'
+  }
+}
 </script>
 
 <style scoped>