Pārlūkot izejas kodu

会诊的时候可以查看患者详情

DESKTOP-0GD05B0\Administrator 2 gadi atpakaļ
vecāks
revīzija
6a5533db67

+ 118 - 0
src/components/pat-info-list/PatInfomationDialog.vue

@@ -0,0 +1,118 @@
+<template>
+  <el-dialog v-model="dialog"
+             title="患者详情"
+             class="dialog-temp"
+             fullscreen
+             @closed="emits('closed')"
+             destroy-on-close>
+    <el-tabs>
+      <el-tab-pane label="首页">
+        <first-page-of-medical-record :dics="props.dics"
+                                      :sheet-data="sheetData"/>
+      </el-tab-pane>
+      <el-tab-pane label="医嘱">
+        <emr-order-list :pat-no="props.patNo" :times="props.times"/>
+      </el-tab-pane>
+      <el-tab-pane label="清单">
+        <charge-list :pat-no="props.patNo"
+                     :times="props.times"/>
+      </el-tab-pane>
+      <el-tab-pane label="检验">
+        <inspection-report-index
+            style="font-size: 12px;height: 100%"
+            :pat-no="rowData.patNo"
+            :start="startDate"
+            :end="endDate"/>
+      </el-tab-pane>
+      <el-tab-pane label="检查">
+        <emr-inspect :pat-no="props.patNo"
+                     :times="props.times"/>
+      </el-tab-pane>
+      <el-tab-pane label="会诊">
+        <group-consultation :pat-no="props.patNo"
+                            :times="props.times"/>
+      </el-tab-pane>
+      <el-tab-pane label="病历">
+        <electronic-medical-record :pat-no="props.patNo"
+                                   :times="props.times"/>
+      </el-tab-pane>
+    </el-tabs>
+  </el-dialog>
+</template>
+
+<script setup name='PatInfomationDialog'>
+
+import FirstPageOfMedicalRecord from "@/components/pat-info-list/FirstPageOfMedicalRecord.vue";
+import EmrOrderList from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrOrderList.vue";
+import InspectionReportIndex from "@/views/examination/InspectionReportIndex.vue";
+import EmrInspect from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrInspect.vue";
+import GroupConsultation from "@/components/pat-info-list/GroupConsultation.vue";
+import ElectronicMedicalRecord from "@/components/pat-info-list/ElectronicMedicalRecord.vue";
+import {getSheetInfo} from "@/api/case-front-sheet";
+import {formatDate} from "@/utils/date";
+import {getServerDateApi} from "@/api/public-api";
+import ChargeList from '@/components/medical-insurance/charge-list/Index.vue'
+
+
+const props = defineProps({
+  patNo: String,
+  times: Number,
+  leaveHospital: {
+    type: Number,
+    default: 1
+  },
+  dics: {
+    type: Object
+  }
+})
+
+const emits = defineEmits(['closed'])
+
+const dialog = ref(false)
+const rowData = ref({})
+const sheetData = ref({})
+const startDate = ref('')
+const endDate = ref('')
+
+
+const details = async () => {
+  sheetData.value = await getSheetInfo({
+    bah: props.patNo,
+    times: props.times,
+    inOutFlag: props.leaveHospital ? 2 : 1
+  })
+  startDate.value = formatDate(rowData.value.admissDate)
+  dialog.value = true
+}
+
+onMounted(async () => {
+  await details()
+  endDate.value = formatDate(await getServerDateApi())
+})
+
+</script>
+
+<style lang="scss">
+
+.dialog-temp {
+  .el-dialog__body {
+    padding: 0 16px;
+    height: calc(100% - 55px);
+  }
+
+  .el-tabs {
+    height: calc(100% - 50px);
+
+    .el-tabs__content {
+      height: calc(100% - 50px);
+    }
+
+    .el-tab-pane {
+      height: calc(100% - 50px);
+      overflow: auto;
+    }
+  }
+}
+
+
+</style>

+ 2 - 2
src/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrInspect.vue

@@ -18,10 +18,10 @@
           {{ record?.row?.orderName }}
         </el-form-item>
         <el-form-item label="检查所见:">
-          <el-input type="textarea" v-model="record.checkWhatYouSee"/>
+          <el-input type="textarea" rows="5" v-model="record.checkWhatYouSee"/>
         </el-form-item>
         <el-form-item label="诊断意见:">
-          <el-input type="textarea" v-model="record.diagnosticOpinion"/>
+          <el-input type="textarea" rows="5" v-model="record.diagnosticOpinion"/>
         </el-form-item>
         <el-form-item label="报告医生:">
           {{ record?.reportName }}

+ 37 - 5
src/views/hospitalization/case-front-sheet/JieShouHuiZhen.vue

@@ -17,6 +17,13 @@
       <el-tag type="danger">会诊意见限制 1100 个字</el-tag>
     </template>
     <template #main>
+      <pat-infomation-dialog
+          v-if="dialog"
+          @closed="dialog = false"
+          :pat-no="rowData.inpatientNo"
+          :times="rowData.admissTimes"
+          :leave-hospital="1"
+          :dics="dics"/>
       <el-container>
         <el-aside width="500px">
           <xc-table :local-data="huanZeData" :final-height="windowSize.h / 1.1" @row-click="dianJiDanYuanGe">
@@ -38,6 +45,11 @@
                 {{ hzJiBie(scope.row.hzType) }}
               </template>
             </el-table-column>
+            <el-table-column fixed="left" label="信息">
+              <template #default="{row}">
+                <el-button @click.stop="information(row)">信息</el-button>
+              </template>
+            </el-table-column>
           </xc-table>
         </el-aside>
         <el-main>
@@ -64,6 +76,10 @@ import {getServerDateApi} from '@/api/public-api'
 import PageLayer from "@/layout/PageLayer";
 import PrintTheConsultationForm from "@/components/hui-zhen-da-ying/PrintTheConsultationForm.vue";
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
+import PatInfomationDialog from "@/components/pat-info-list/PatInfomationDialog.vue";
+import {getAllDictionary} from "@/api/case-front-sheet";
+import {operations} from "@/data";
+import {autopsies, haveOrNot, yesOrNo} from "@/views/hospitalization/case-front-sheet/common";
 
 ////////////////////////////// 获取屏幕高度 /////////////////////////////////////////
 
@@ -73,11 +89,6 @@ const windowSize = computed(() => {
 
 const daYingHuiZhenRef = ref(null)
 
-onMounted(() => {
-  dateRange.value[0] = shortcuts[0].value[0]
-  dateRange.value[1] = shortcuts[0].value[1]
-  getHuiZhenDataClick()
-})
 
 ////////////////////////////// 获取患者信息    /////////////////////////////////////////
 const dateRange = ref([])
@@ -205,6 +216,27 @@ const enterMedicalOrder = () => {
   }
 }
 
+const rowData = ref({})
+const dialog = ref(false)
+const dics = ref({})
+const information = (row) => {
+  rowData.value = row
+  dialog.value = true
+}
+
+onMounted(() => {
+  dateRange.value[0] = shortcuts[0].value[0]
+  dateRange.value[1] = shortcuts[0].value[1]
+  getHuiZhenDataClick()
+  getAllDictionary().then(res => {
+    res.getOperations = operations;
+    res.getYesOrNo = yesOrNo;
+    res.getHaveOrNot = haveOrNot;
+    res.getAutopsies = autopsies;
+    dics.value = res
+  })
+})
+
 // 会诊级别
 function hzJiBie(val) {
   switch (val) {

+ 11 - 78
src/views/hospitalization/zhu-yuan-yi-sheng/PatientInformationInquiry.vue

@@ -27,7 +27,7 @@
           <xc-date-picker style="width: 180px"
                           type="daterange"
                           clearable
-                          v-model="param.admissionTime"/>
+                          v-model="param.dischargeTime"/>
         </el-form-item>
 
         <el-form-item label="科室" prop="dept">
@@ -50,6 +50,14 @@
     </template>
 
     <template #main>
+      <pat-infomation-dialog
+          v-if="dialog"
+          @closed="dialog = false"
+          :pat-no="rowData.patNo"
+          :times="rowData.admissTimes"
+          :leave-hospital="param.leaveHospital ? 2 : 1"
+          :dics="dics"/>
+
       <xc-table :local-data="patInfoList"
                 :final-height="getWindowSize.h / 1.2">
         <el-table-column label="操作" fixed="left" width="60">
@@ -76,44 +84,6 @@
         <el-table-column label="入院诊断" prop="admissDiagStr"/>
       </xc-table>
 
-      <el-dialog v-model="dialog"
-                 title="患者详情"
-                 class="dialog-temp"
-                 fullscreen
-                 destroy-on-close>
-        <el-tabs>
-          <el-tab-pane label="首页">
-            <first-page-of-medical-record :dics="dics"
-                                          :sheet-data="sheetData"/>
-          </el-tab-pane>
-          <el-tab-pane label="医嘱">
-            <emr-order-list :pat-no="rowData.patNo" :times="rowData.admissTimes"/>
-          </el-tab-pane>
-          <el-tab-pane label="清单">
-            <charge-list :pat-no="rowData.inpatientNo"
-                         :times="rowData.admissTimes"/>
-          </el-tab-pane>
-          <el-tab-pane label="检验">
-            <inspection-report-index
-                style="font-size: 12px;height: 100%"
-                :pat-no="rowData.patNo"
-                :start="startDate"
-                :end="endDate"/>
-          </el-tab-pane>
-          <el-tab-pane label="检查">
-            <emr-inspect :pat-no="rowData.inpatientNo"
-                         :times="rowData.admissTimes"/>
-          </el-tab-pane>
-          <el-tab-pane label="会诊">
-            <group-consultation :pat-no="rowData.inpatientNo"
-                                :times="rowData.admissTimes"/>
-          </el-tab-pane>
-          <el-tab-pane label="病历">
-            <electronic-medical-record :pat-no="rowData.inpatientNo"
-                                       :times="rowData.admissTimes"/>
-          </el-tab-pane>
-        </el-tabs>
-      </el-dialog>
     </template>
   </page-layer>
 </template>
@@ -125,18 +95,10 @@ import SelectV4 from "@/components/xiao-chan/select-v4/SelectV4.vue";
 import XcDatePicker from "@/components/xiao-chan/date-picker/XcDatePicker.vue";
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
 import {getWindowSize} from "@/utils/window-size";
-import EmrOrderList from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrOrderList.vue";
-import FirstPageOfMedicalRecord from "@/components/pat-info-list/FirstPageOfMedicalRecord.vue";
-import {getAllDictionary, getSheetInfo} from "@/api/case-front-sheet";
-import ChargeList from '@/components/medical-insurance/charge-list/Index.vue'
-import InspectionReportIndex from "@/views/examination/InspectionReportIndex.vue";
-import {formatDate} from "@/utils/date";
-import {getServerDateApi} from "@/api/public-api";
-import EmrInspect from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrInspect.vue";
-import ElectronicMedicalRecord from "@/components/pat-info-list/ElectronicMedicalRecord.vue";
+import {getAllDictionary} from "@/api/case-front-sheet";
 import {operations} from "@/data";
 import {autopsies, haveOrNot, yesOrNo} from "@/views/hospitalization/case-front-sheet/common";
-import GroupConsultation from "@/components/pat-info-list/GroupConsultation.vue";
+import PatInfomationDialog from "@/components/pat-info-list/PatInfomationDialog.vue";
 
 
 const param = ref({
@@ -155,10 +117,7 @@ const patInfoList = ref([])
 const dialog = ref(false)
 const rowData = ref()
 const dics = ref([])
-const sheetData = ref({})
 
-const endDate = ref('')
-const startDate = ref('')
 
 const queryClick = () => {
   getPatientInfo(param.value).then(res => {
@@ -171,13 +130,6 @@ const reset = () => {
 
 const details = async (row) => {
   rowData.value = row
-
-  sheetData.value = await getSheetInfo({
-    bah: row.inpatientNo,
-    times: row.admissTimes,
-    inOutFlag: param.value.leaveHospital ? 2 : 1
-  })
-  startDate.value = formatDate(rowData.value.admissDate)
   dialog.value = true
 }
 
@@ -193,31 +145,12 @@ onMounted(async () => {
     res.getAutopsies = autopsies;
     dics.value = res
   })
-
-  endDate.value = formatDate(await getServerDateApi())
-
 })
 
 </script>
 
 <style lang="scss" scoped>
-:deep(.el-dialog__body) {
-  padding: 0 16px;
-  height: calc(100% - 55px);
-}
-
-:deep(.el-tabs) {
-  height: calc(100% - 50px);
 
-  .el-tabs__content {
-    height: calc(100% - 50px);
-  }
-
-  .el-tab-pane {
-    height: calc(100% - 50px);
-    overflow: auto;
-  }
-}
 
 
 </style>

+ 2 - 1
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/EmrRelieveRule.vue

@@ -1,4 +1,5 @@
 <template>
+  <!--  todo 加一个导出的功能 -->
   <xc-table :local-data="data">
     <el-table-column label="审核" prop="patNo" width="70">
       <template #default="{row}">
@@ -17,7 +18,7 @@
     <el-table-column label="申请备注" prop="inputRemark" show-overflow-tooltip/>
     <el-table-column label="审核人" prop="reviewedName"/>
     <el-table-column label="审核备注" prop="reviewNotes"/>
-    <el-table-column label="修改日期" prop="date"/>
+    <el-table-column label="审核日期" prop="reviewedTime"/>
     <el-table-column v-if="needRule(38)">
       <template #header>
         <el-button icon="Search" @click="queryData" type="primary"/>