浏览代码

医生可以查看病区在院患者的手术汇总

lighter 1 年之前
父节点
当前提交
b720d9012a

+ 8 - 0
src/api/base-data/report-center.ts

@@ -89,6 +89,14 @@ export function reportQueryCenterApi(url: string, data: any = {}) {
     })
 }
 
+export function reportQueryCenterApiByGet(url: string, params: any = {}) {
+    return request({
+        url: "/thyy/api" + url,
+        method: 'get',
+        params,
+    })
+}
+
 export function getEmrPatientData(patNo: string, times: number) {
     return request({
         url: "/thyy/api/dataEmr/patInfo",

+ 6 - 7
src/components/zhu-yuan-yi-sheng/public/PatientList.vue

@@ -16,7 +16,7 @@
     </div>
   </div>
 
-  <el-table :data="cptOverviews"
+  <el-table :data="overviews"
             :height="props.height"
             @row-click="handleClickOverview"
             ref="elTableRef"
@@ -75,7 +75,7 @@
 </template>
 
 <script setup name='PatientList' lang="ts">
-import {computed, onMounted, ref} from "vue";
+import {onMounted, ref} from "vue";
 import {getOverView, getPatientInfo} from "@/api/inpatient/patient";
 import {allWardsVisible} from "@/utils/permission";
 import XcCheckbox from "@/components/xiao-chan/checkbox/XcCheckbox";
@@ -105,15 +105,12 @@ const currentWard = ref()
 const overviews = ref([])
 
 const fetchOverviews = () => {
+  yzMitt.emit('onWardChange', currentWard.value)
   getOverView(currentWard.value).then((res) => {
     overviews.value = res as any
   })
 }
 
-const cptOverviews = computed(() => {
-  return overviews.value
-})
-
 const elTableRef = ref(null)
 const handleClickOverview = (row) => {
   clickOnThePatient(row.inpatientNo)
@@ -157,12 +154,14 @@ const submitToTheThirdLevelDoctor = () => {
 }
 
 onMounted(() => {
-
   yzMitt.on('upperDoctorSetting', (data) => {
     thirdLevelDoctorSetting.value.dialog = true
     thirdLevelDoctorSetting.value.data = data
   })
 
+  yzMitt.on('getCurrentWard', () => {
+    return currentWard.value
+  })
 
   getAllWards().then((res) => {
     if (res.length > 0) {

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

@@ -934,6 +934,7 @@ export interface YzMitt {
     queryFeeByOrderNo: (data: YzType) => void,
     setTimeLimitPrompt: (data: any) => void
     ssNotSave: () => boolean
+    getCurrentWard: () => string
 
     [key: string]: (...args: any[]) => any
 }

+ 7 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/src/ShouShu.vue

@@ -17,6 +17,7 @@ import {ssMitt} from "@/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qi
 import ShouShuDetails
   from "@/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/src/components/ShouShuDetails.vue";
 import {OpRecord} from "@/ts-type/op-record";
+import AllSurgeries from "@/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/src/components/AllSurgeries.vue";
 
 const operationData = ref([])
 const tabs = ref('ss-lishi')
@@ -90,6 +91,12 @@ onMounted(async () => {
           </div>
         </el-tab-pane>
 
+        <el-tab-pane label="汇总" name="ss-all">
+          <div :style="{height: windowSizeStore.h / 1.1 - 30 + 'px'} " style="overflow:auto;">
+            <AllSurgeries/>
+          </div>
+        </el-tab-pane>
+
       </el-tabs>
     </el-main>
   </el-container>

+ 46 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/shou-shu-shen-qing/src/components/AllSurgeries.vue

@@ -0,0 +1,46 @@
+<template>
+  <cy-auto-size>
+    <template #default="{width, height}">
+      <el-table :height="height" :data="surgeryList">
+        <el-table-column prop="patientName" fixed>
+          <template #header>
+            <el-button icon="Search" type="primary" @click="executeQuery">查询</el-button>
+          </template>
+        </el-table-column>
+        <el-table-column prop="recordId" label="手术单号"></el-table-column>
+        <el-table-column prop="inpatientNo" label="住院号"></el-table-column>
+        <el-table-column prop="applyDocName" label="申请医生"></el-table-column>
+        <el-table-column prop="applyDate" label="申请时间"></el-table-column>
+        <el-table-column prop="opDatetime" label="手术时间"></el-table-column>
+        <el-table-column prop="opCode" label="手术编码"></el-table-column>
+        <el-table-column prop="opName" label="手术名称"></el-table-column>
+        <el-table-column prop="opScaleName" label="手术级别"></el-table-column>
+        <el-table-column prop="statusName" label="手术状态"></el-table-column>
+        <el-table-column prop="doctorZdName" label="主刀医生"></el-table-column>
+        <el-table-column prop="doctorMzName" label="麻醉医生"></el-table-column>
+        <el-table-column prop="hocusName" label="麻醉方式"></el-table-column>
+        <el-table-column prop="nurseXhName" label="巡回护士"></el-table-column>
+        <el-table-column prop="nurseQxName" label="器械护士"></el-table-column>
+
+      </el-table>
+    </template>
+  </cy-auto-size>
+</template>
+
+<script setup>
+import CyAutoSize from "@/components/cy/auto-size/cy-auto-size.vue";
+import {yzMitt} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
+import {reportQueryCenterApiByGet} from "@/api/base-data/report-center";
+
+const surgeryList = ref([])
+
+function executeQuery() {
+  const ward = yzMitt.emit('getCurrentWard')
+  reportQueryCenterApiByGet('/intergration/surgery/wardSurgeryInquiry', {ward})
+      .then(res => {
+        surgeryList.value = res
+  })
+}
+
+
+</script>