瀏覽代碼

护理记录优化

lihong 2 年之前
父節點
當前提交
e6f57cd364

+ 6 - 6
src/api/medical-advice/medical-advice-management.js

@@ -6,11 +6,11 @@ import request from "../../utils/request";
  * @param times
  * @returns {AxiosPromise}
  */
-export function cqYzPrint(patNo,times) {
+export function cqYzPrint(patNo,times,inOutStatusFlag) {
     return request({
         url: '/medicalAdvice/medicaManagement/cqYzPrint',
         method: 'get',
-        params: {patNo, times}
+        params: {patNo, times,inOutStatusFlag}
     })
 }
 
@@ -20,11 +20,11 @@ export function cqYzPrint(patNo,times) {
  * @param times
  * @returns {AxiosPromise} yzPrintVOList  patientInfo
  */
-export function lsYzPrint(patNo,times) {
+export function lsYzPrint(patNo,times,inOutStatusFlag) {
     return request({
         url: '/medicalAdvice/medicaManagement/lsYzPrint',
         method: 'get',
-        params: {patNo, times}
+        params: {patNo, times,inOutStatusFlag}
     })
 }
 
@@ -34,11 +34,11 @@ export function lsYzPrint(patNo,times) {
  * @param ward
  * @returns {AxiosPromise}
  */
-export function queryPatientInfo(patNo,ward) {
+export function queryPatientInfo(patNo,ward,inOutStatusFlag) {
     return request({
         url: '/medicalAdvice/medicaManagement/queryPatientInfo',
         method: 'get',
-        params: {patNo, ward}
+        params: {patNo, ward,inOutStatusFlag}
     })
 }
 

+ 8 - 0
src/api/medical-advice/nursing-manage.js

@@ -214,6 +214,14 @@ export function getChartData(data) {
     })
 }
 
+export function getAllPatintInfo(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/getAllPatintInfo',
+        method: 'post',
+        data,
+    })
+}
+
 /**
  * 查询有几周
  * @param data

+ 29 - 11
src/components/medical-advice/PatientBaseList.vue

@@ -12,9 +12,10 @@
   <el-input v-model="queryPatNo" clearable style="width: 90px"  placeholder="住院号"
             @keyup.enter="queryPatientInfoClick"></el-input>
   <el-button icon="Search" type="primary"  @click="queryPatientInfoClick">查询</el-button>
+  &nbsp;<el-checkbox v-model="inOutStatus" @change="selectCheckbox">是否出院</el-checkbox>
   <br>
   <el-table :data="cptOverviews"
-            height="800"
+            height="750"
             @row-click="handleClickOverview"
             ref="elTableRef"
             highlight-current-row
@@ -52,6 +53,8 @@ import {allWardsVisible} from "@/utils/permission";
 import {cptSex} from "@/utils/computed";
 import {cqYzPrint, lsYzPrint,queryPatientInfo,queryYz,getPatientBaseInfo} from "@/api/medical-advice/medical-advice-management";
 import {getAllWards} from "@/api/zhu-yuan-yi-sheng/resident-doctor";
+import {stringNotBlank} from "@/utils/blank-utils";
+import {ElMessage} from "element-plus";
 import sleep from "@/utils/sleep";
 const selections = ref([])
 const myPatient = ref(false)
@@ -70,13 +73,25 @@ const props = defineProps({
   }
 })
 const fetchOverviews = () => {
-  getOverView(currentWard.value).then((res) => {
-    overviews.value = res
-  })
+  // getOverView(currentWard.value).then((res) => {
+  //   overviews.value = res
+  // })
+  queryPatientInfoClick()
+}
+//入院出院状态
+const inOutStatus = ref(false)
+const selectCheckbox = () => {
+  console.log('inOutStatus',inOutStatus.value)
+  queryPatientInfoClick()
 }
 
 const queryPatientInfoClick=()=>{
-  queryPatientInfo(currentWard.value,queryPatNo.value).then((res) => {
+  overviews.value =[]
+  let inOutStatusFlag =inOutStatus.value ? "1" :"0"
+  if(inOutStatus.value && !stringNotBlank(queryPatNo.value)){
+   return  ElMessage.error('住院号不能为空')
+  }
+  queryPatientInfo(currentWard.value,queryPatNo.value,inOutStatusFlag).then((res) => {
     overviews.value = res
   })
 }
@@ -90,13 +105,14 @@ const cptOverviews = computed(() => {
 const elTableRef = ref(null)
 //行点击事件
 const handleClickOverview = (row) => {
+  let inOutStatusFlag =inOutStatus.value ? "1" :"0"
   if(props.yzType=='cq'){
-    cqYzPrint(row.inpatientNo,row.admissTimes).then((res) => {
+    cqYzPrint(row.inpatientNo,row.admissTimes,inOutStatusFlag).then((res) => {
       let val = {patientInfo:res.patientInfo,yzPrintVOList:res.yzPrintVOList}
       emit('selectPatientInfo',val)
     })
   }else if(props.yzType=='ls'){
-    lsYzPrint(row.inpatientNo,row.admissTimes).then((res) => {
+    lsYzPrint(row.inpatientNo,row.admissTimes,inOutStatusFlag).then((res) => {
       let val = {patientInfo:res.patientInfo,yzPrintVOList:res.yzPrintVOList}
       emit('selectPatientInfo',val)
     })
@@ -105,6 +121,7 @@ const handleClickOverview = (row) => {
       patNo:row.inpatientNo,
       times:row.admissTimes,
       queryRange:'0',
+      inOutStatusFlag:inOutStatusFlag,
       statusFlag:'3'
     }
 
@@ -117,13 +134,13 @@ const handleClickOverview = (row) => {
       emit('selectPatientInfo',val)
     })
   }else {
+    let inOutStatusFlag =inOutStatus.value ? "1" :"0"
     let params = {inpatientNo:row.inpatientNo,
-      admissTimes:row.admissTimes}
+      admissTimes:row.admissTimes,inOutStatusFlag:inOutStatusFlag}
     getPatientBaseInfo(params).then((res) => {
       let  val = {patientInfo:res}
       emit('selectPatientInfo',val)
     })
-
   }
 }
 
@@ -144,8 +161,9 @@ onMounted(() => {
   getAllWards().then((res) => {
     if (res.length > 0) {
       allWards.value = res
-      currentWard.value = wardsClearable ? '' : res[0].code
-      fetchOverviews()
+      currentWard.value =  res[0].code
+      // fetchOverviews()
+      queryPatientInfoClick()
     }
   })
 })

+ 1 - 1
src/components/medical-advice/PatientInfo.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-descriptions :column="8" border style="width:100%;" title="基本信息" >
+  <el-descriptions :column="6" border style="width:100%;" >
   <el-descriptions-item label="床号">
     {{ props.patientInfo.bedNo }}
   </el-descriptions-item>

+ 106 - 0
src/components/medical-advice/temperature/GraphicsTempalte.vue

@@ -0,0 +1,106 @@
+<template>
+    <div style="margin-bottom: 10px;margin-top: 10px">
+        <div style="width: 100%;height: 20px;padding-left: 10px;" >
+            查询日期
+            <el-input :disabled="true" v-model="queryParam.startRecTime" style="width: 80px"></el-input>
+            至
+            <el-input :disabled="true"  v-model="queryParam.endRecTime" style="width: 80px"></el-input>
+            <el-select  filterable v-model="queryParam.week" style="width: 100px;" size="small" @change="selectWeek">
+                <el-option v-for="item in weekList" :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>
+            </el-select>
+            <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
+            <el-button icon="Printer" type="success" v-print="'#scdPrint'">打印</el-button>&nbsp;
+            <el-checkbox v-model="checkBoxFlag.mbFlag" label="脉搏" size="small" />
+            <el-checkbox v-model="checkBoxFlag.hxFlag" label="呼吸" size="small" />
+            <el-checkbox v-model="checkBoxFlag.xyFlag" label="血压" size="small" />
+            <el-checkbox v-model="checkBoxFlag.wcyRqFlag" label="无出院日期" size="small" />
+        </div>
+    </div>
+    <el-scrollbar max-height="600px">
+        <div id="scdPrint" style="background:white;width: 900px;overflow-x:auto ">
+            <Graphics v-if="graphicsFlag"  :patientInfo="patientInfo" :queryParam="queryParam"></Graphics>
+        </div>
+    </el-scrollbar>
+</template>
+
+<script setup name='GraphicsTempalte'>
+import  Graphics from '@/components/medical-advice/temperature/graphics'
+import { ref, onMounted,nextTick,watch } from 'vue'
+import {getWeek} from "@/api/medical-advice/nursing-manage";
+const props = defineProps({
+    patientInfo: {
+        type: Object,
+        default: {}
+    }
+}
+)
+
+const patientInfo = ref({})
+
+const queryParam = ref(
+     {
+         startRecTime:'',
+         endRecTime:'',
+         week:'',
+     }
+ )
+ //选中第几周
+ const selectWeek = (val)=>{
+     queryParam.value.startRecTime = weekMap.value['ev_'+val].startDate
+     queryParam.value.endRecTime = weekMap.value['ev_'+val].endDate
+ }
+ //下拉框 周
+ const weekList = ref([])
+
+ const weekMap = ref({})
+ const checkBoxFlag = ref({
+     mbFlag:true,
+     hxFlag:true,
+     xyFlag:true,
+     wcyRqFlag:false
+ })
+const graphicsFlag = ref(false)
+const queryInfo = ()=>{
+    queryParam.value['checkBoxFlag'] = checkBoxFlag.value
+    graphicsFlag.value = false
+    nextTick(() => {
+        graphicsFlag.value =true
+    })
+}
+
+onMounted(()=> {
+
+})
+watch(() => props.patientInfo, () => {
+    patientInfo.value = props.patientInfo
+    clearQueryData()
+    getWeek({inpatientNo: props.patientInfo.inpatientNo, admissTimes: props.patientInfo.admissTimes}).then((res) => {
+        weekMap.value = res
+        for (let i = 1; i <= res.totalWeek; i++) {
+            let temp = {}
+            temp['code'] = i;
+            temp['name'] = `第${i}周`;
+            weekList.value.push(temp)
+        }
+        queryParam.value.week = 1
+        selectWeek(1)
+        queryInfo()
+    })
+})
+
+function clearQueryData() {
+    weekList.value = []
+    queryParam.value.week = null
+    queryParam.value.startRecTime = ''
+    queryParam.value.endRecTime = ''
+}
+
+</script>
+
+<style scoped>
+
+</style>

+ 24 - 11
src/components/medical-advice/temperature/graphics.vue

@@ -17,37 +17,37 @@
           <span class="tbale-label">&nbsp&nbsp;姓名:</span
           ><span
             style="display: inline-block; width: 75px; text-align: left"
-            >{{ patientInfo.name }}</span
+            >{{ info.name }}</span
           >
           <span class="tbale-label">年龄:</span>
           <span
             style="display: inline-block; width: 60px; text-align: left"
-            >{{ patientInfo.age + "岁"  }}</span
+            >{{ info.age + "岁"  }}</span
           >
           <span class="tbale-label">性别:</span>
           <span
             style="display: inline-block; width: 60px; text-align: left"
-            >{{ patientInfo.sexName }}</span
+            >{{ info.sexName }}</span
           >
           <span class="tbale-label">入院日期:</span>
           <span
                   style="display: inline-block; width: 100px; text-align: left"
-          >{{patientInfo.admissDate}}</span
+          >{{info.admissDate}}</span
           >
           <span class="tbale-label">科室:</span>
           <span
                   style="display: inline-block; width: 65px; text-align: left"
-          >{{ patientInfo.admissWardName }}</span
+          >{{ info.admissWardName }}</span
           >
           <span class="tbale-label">床号:</span>
           <span
             style="display: inline-block; width: 60px; text-align: left"
-            >{{ patientInfo.bedNo }}</span
+            >{{ info.bedNo }}</span
           >
           <span class="tbale-label">住院号:</span>
           <span
             style="display: inline-block; width: 100px; text-align: left"
-            >{{ patientInfo.inpatientNo }}</span
+            >{{ info.inpatientNo }}</span
           >
         </p>
       </caption>
@@ -595,7 +595,7 @@
 import * as d3 from 'd3'
 import dayjs from 'dayjs'
 import { getKeyMap, SectionToChinese } from './utils'
-import {getChartData} from "@/api/medical-advice/nursing-manage";
+import {getChartData,getAllPatintInfo} from "@/api/medical-advice/nursing-manage";
 import { getFormatDatetime } from "@/utils/date"
 
 export default {
@@ -610,15 +610,15 @@ export default {
       info: {
         age: 0,
         beginDate: '',
-        potNo: '',
+        inpatientNo: '',
         hospDate: 0,
         admissDate:'',
         bedNo:'',
         inDate: 0,
         inDiagName: null,
         name: '',
-        dept: '',
-        sex: '',
+        admissWardName: '',
+        sexName: '',
         pageNo: '1',
         operaDays:[]
       },
@@ -720,6 +720,19 @@ export default {
         xyFlag:this.queryParam.checkBoxFlag.xyFlag,
         wcyRqFlag:this.queryParam.checkBoxFlag.wcyRqFlag,
       }
+      getAllPatintInfo({inpatientNo:this.patientInfo.inpatientNo,
+        admissTimes:this.patientInfo.admissTimes}).then((res)=>{
+        console.log('getAllPatintInfo',res)
+        console.log('res.age',res.age)
+          this.info.name = res.name
+        this.info.age = res.age || ''
+        this.info.sexName = res.sexName
+        this.info.bedNo = res.bedNo
+        this.info.inpatientNo = res.inpatientNo
+        this.info.admissWardName = res.admissWardName
+        this.info.admissDate = getFormatDatetime(res.admissDate,'YYYY-MM-DD')
+      })
+
       getChartData(param).then((res)=>{
         console.log('resChar', res)
         this.rowsInfo = res.rows

+ 1 - 1
src/views/medical-advice/advice-management/CqYzPrint.vue

@@ -1,6 +1,6 @@
 <template>
     <el-container>
-        <el-aside width="280px">
+        <el-aside width="210px">
           <PatientBaseList :yzType="yzType" @selectPatientInfo="selectPatientInfo" ></PatientBaseList>
         </el-aside>
         <el-container>

+ 1 - 1
src/views/medical-advice/advice-management/LsYzPrint.vue

@@ -1,6 +1,6 @@
 <template>
     <el-container>
-        <el-aside width="280px">
+        <el-aside width="210px">
           <PatientBaseList :yzType="yzType" @selectPatientInfo="selectPatientInfo"></PatientBaseList>
         </el-aside>
         <el-container>

+ 1 - 1
src/views/medical-advice/advice-management/QueryYz.vue

@@ -1,6 +1,6 @@
 <template>
     <el-container>
-        <el-aside width="280px">
+        <el-aside width="210px">
           <PatientBaseList :yzType="yzType" @selectPatientInfo="selectPatientInfo" ></PatientBaseList>
         </el-aside>
         <el-container>

+ 106 - 41
src/views/medical-advice/nursing-manage/NursingRecord.vue

@@ -1,15 +1,16 @@
 <template>
     <el-container>
-        <el-aside width="280px">
+        <span style="cursor: pointer;"  @click="showFlagClick">{{showFlagName}}</span>
+        <el-aside v-show="showFlag"  width="210px">
           <PatientBaseList  @selectPatientInfo="selectPatientInfo"></PatientBaseList>
         </el-aside>
         <el-container>
-            <el-header style="height: 100px">
+            <el-header v-show="showFlag" style="height: 100px;margin-bottom: 10px">
                 <PatientInfo :patientInfo="patientInfo"></PatientInfo>
             </el-header>
             <div>
                 <div style="width: 100%;height: 20px;padding-left: 10px;" >
-                    <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
+                    <el-button icon="Search" type="primary" @click="handletabPane">查询</el-button>
                     <el-button @click="addHlInfo" icon="Edit" type="primary">新增</el-button>
                     <el-button icon="Delete" type="danger" @click="delInfo">删除</el-button>
                     <el-button icon="Printer" type="success" @click="daYingClick">打印</el-button>
@@ -63,6 +64,14 @@
                                     <span>{{ item.name }}</span>
                                 </el-option>
                             </el-select>
+                        显示科室:
+                        <el-select  filterable v-model="queryParam.ward" clearable style="width: 150px;" size="small" @change="selectHlType">
+                            <el-option v-for="item in ward" :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>
+                        </el-select>
                     </div>
                 </div>
             </div>
@@ -70,9 +79,10 @@
                 <el-tabs
                         v-model="activeTableName"
                         type="card"
+                        @tab-change="handletabPane"
                 >
                     <el-tab-pane label="编辑页面" name="first">
-                        <h1 style="text-align: center;">{{hldTableTitle}}</h1>
+                        <h2 style="text-align: center;">{{hldTableTitle}}</h2>
                         <div style="height: 60px;">
                             <div  style="float: left;width: 58%;padding-top: 30px;">
                                 <ul class="nav" >
@@ -88,27 +98,27 @@
                             </div>
                         </div>
                         <el-table v-if="queryParam.hldType=='1' || queryParam.hldType=='5' " @row-click="selectOne" @row-dblclick="dbClick" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
-                                  height="480"   style="width: 100%;" >
-                            <el-table-column prop="recDateStr" label="日期" width="45" align="center" />
-                            <el-table-column prop="recTimeStr" label="时间" width="40" align="center"/>
+                                  :height="tableHeight"   style="width: 100%;" >
+                            <el-table-column prop="recDateStr" label="日期" width="45"/>
+                            <el-table-column prop="recTimeStr" label="时间" width="40"  align="center"/>
                             <el-table-column prop="patientState" label="病情" width="25" align="center"/>
                             <el-table-column  label="体温" width="40" >
-                                <el-table-column prop="temperature1Str" label="℃" width="40" align="center"/>
+                                <el-table-column prop="temperature1Str" label="℃"  width="40" align="center"/>
                             </el-table-column>
                             <el-table-column  label="次/min">
-                                <el-table-column prop="heart" label="心率" width="40" align="center"/>
-                                <el-table-column prop="pulse1" label="脉搏" width="40" align="center"/>
+                                <el-table-column prop="heart" label="心率" width="40"  align="center"/>
+                                <el-table-column prop="pulse1" label="脉搏" width="40"  align="center"/>
                             </el-table-column>
                             <el-table-column prop="breathe1" label="呼吸" width="40" align="center"/>
                             <el-table-column  label="血压"  >
-                                <el-table-column prop="pressureAmPm" label="mmHg" width="50" align="center"/>
+                                <el-table-column prop="pressureAmPm" label="mmHg" width="50"  align="center"/>
                             </el-table-column>
                             <el-table-column  label="SpO2"  >
-                                <el-table-column prop="spo2" label="%" width="50" align="center"/>
+                                <el-table-column prop="spo2" label="%" width="50"  align="center"/>
                             </el-table-column>
-                            <el-table-column v-if="queryParam.hldType=='5'"  prop="mind"  label="神志" width="50"  align="center"/>
+                            <el-table-column v-if="queryParam.hldType=='5'"  prop="mind" width="50"   label="神志"   align="center"/>
                             <el-table-column v-else  prop="mind"  label="意识" width="50"  align="center"/>
-                            <el-table-column  label="瞳孔" v-if="tongKongFlag && queryParam.hldType !='5'" width="50" align="center" >
+                            <el-table-column  label="瞳孔" v-if="tongKongFlag && queryParam.hldType !='5'" width="50"  align="center" >
                                 <template #default="scope">
                                             <span v-if="scope.row.rpupil">
                                                 {{scope.row.pupilr}} {{scope.row.pupil}} <br/> o{{scope.row.pupilbj}}o <br/> {{scope.row.rpupil}} {{scope.row.lpupil}}
@@ -128,11 +138,11 @@
                             </el-table-column>
                             <el-table-column  label="出量"  >
                                 <el-table-column prop="col2Name" label="名称" width="80" align="center"/>
-                                <el-table-column prop="col2Am" label="ml"  width="30" align="center"/>
-                                <el-table-column  prop="urineColor" label="颜色"  width="40" align="center"/>
-                                <el-table-column  prop="shitShape" label="性状"  width="40" align="center"/>
+                                <el-table-column prop="col2Am" label="ml"   align="center"/>
+                                <el-table-column  prop="urineColor" label="颜色"  width="40"  align="center"/>
+                                <el-table-column  prop="shitShape" label="性状"  width="40"  align="center"/>
                             </el-table-column>
-                            <el-table-column  prop="skin"  label="皮肤情况" width="60" align="center">
+                            <el-table-column  prop="skin"  label="皮肤情况"  width="60" align="center">
                             </el-table-column>
                             <el-table-column  label="管道">
                                 <el-table-column prop="tubesName" label="名称" width="80" align="center"/>
@@ -150,7 +160,7 @@
                         </el-table>
 
                         <el-table v-if="queryParam.hldType=='2'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
-                                  :cell-style="{'text-align':'center'}"    height="550" @row-click="selectOne" @row-dblclick="dbClick"   style="width: 100%;" >
+                                  :cell-style="{'text-align':'center'}"    :height="tableHeight"  @row-click="selectOne" @row-dblclick="dbClick"   style="width: 100%;" >
                             <el-table-column prop="recDateStr" label="日期" width="45"/>
                             <el-table-column prop="recTimeStr" label="时间" width="40" />
                             <el-table-column prop="patientState" label="病情" width="25" align="center"/>
@@ -230,7 +240,7 @@
                         </el-table>
 
                         <el-table v-if="queryParam.hldType=='3'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
-                                  height="550"  @row-click="selectOne" @row-dblclick="dbClick"   :cell-style="{'text-align':'center'}" style="width: 100%;">
+                                  :height="tableHeight"   @row-click="selectOne" @row-dblclick="dbClick"   :cell-style="{'text-align':'center'}" style="width: 100%;">
                             <el-table-column prop="recDateStr" label="日期" width="45"/>
                             <el-table-column prop="recTimeStr" label="时段" width="40" />
                             <el-table-column  prop="mind"  label="意识" width="35"  />
@@ -289,7 +299,7 @@
                         </el-table>
 
                         <el-table v-if="queryParam.hldType=='4'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
-                                  height="550"  @row-click="selectOne" @row-dblclick="dbClick"    style="width: 100%;">
+                                  :height="tableHeight"   @row-click="selectOne" @row-dblclick="dbClick"    style="width: 100%;">
                             <el-table-column prop="recDateStr" label="日期" width="45" align="center"/>
                             <el-table-column prop="recTimeStr" label="时段" width="40"  align="center" />
                             <el-table-column  prop="faceColour"  label="面色" width="40"   align="center"/>
@@ -325,7 +335,7 @@
                         </el-table>
 
                         <el-table v-if="queryParam.hldType=='6'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
-                                  :cell-style="{'text-align':'center'}"      height="550" @row-click="selectOne" @row-dblclick="dbClick"    style="width: 100%;">
+                                  :cell-style="{'text-align':'center'}"      :height="tableHeight"  @row-click="selectOne" @row-dblclick="dbClick"    style="width: 100%;">
                             <el-table-column prop="recDateStr" label="日期" width="45"/>
                             <el-table-column prop="recTimeStr" label="时间" width="40" />
                             <el-table-column  label="体温" >
@@ -423,9 +433,19 @@
                             <el-table-column  prop="useridName"  label="护士签名" width="50" >
                             </el-table-column>
                         </el-table>
+                            <el-pagination
+                                    :current-page="queryParam.currentPage"
+                                    :page-size="queryParam.pageSize"
+                                    :page-sizes="[10, 20, 30, 40, 50, 100]"
+                                    :total="queryParam.total"
+                                    layout="total, sizes, prev, pager, next, jumper"
+                                    @size-change="handleSizeChange"
+                                    @current-change="handleCurrentChange"
+                            >
+                            </el-pagination>
                     </el-tab-pane>
                     <el-tab-pane label="打印页面" name="second">
-                        <el-scrollbar height="580px">
+                        <el-scrollbar  class="scrollbar" max-height="580px" noresize="true">
                         <div id="cqYz" >
                             <table id="pageTable">
                                 <thead>
@@ -813,7 +833,7 @@
         </el-main>
         </el-container>
     </el-container>
-    <el-dialog v-model="hulidanDialogFlag"  title="编辑护理记录" destroy-on-close="true"   style="width:60%;height: 95%">
+    <el-dialog v-model="hulidanDialogFlag"  title="编辑护理记录" destroy-on-close="true"   style="width:70%;height: 768px">
         <FirstHuLiDan @refreshHuLidan="refreshHuLidan" :nursingRecordData="nursingRecordData" @closeHld="closeHld" ></FirstHuLiDan>
     </el-dialog>
 </template>
@@ -833,7 +853,22 @@ import router from "@/router";
 import Sleep from "@/utils/sleep";
 import {getNursingEditQuanXian} from "@/components/medical-advice/MedicalAdviceCommonUtil";
 import store from '@/store';
+import {getWindowSize} from "@/utils/window-size";
+
+const showFlag= ref(true)
+const showFlagName= ref('<')
+const showFlagClick = ()=>{
+    showFlag.value = !showFlag.value
+    if(showFlag.value){
+        showFlagName.value ='<';
+        tableHeight.value = getWindowSize.value.h/1.2-260
+    }else {
+        showFlagName.value ='>';
+        tableHeight.value = getWindowSize.value.h/1.2-150
+    }
+}
 
+const tableHeight = ref(0)
 const getCode =   store.state.user.info.code
 const queryParam =ref({
     recDateStr:getFormatDatetime(new Date(),'YYYY-MM-DD'),
@@ -844,6 +879,9 @@ const queryParam =ref({
     ward:'',
     bedNo:'',
     typeFlag:'0',
+    currentPage:1,
+    pageSize:40,
+    total:0,
 })
 //护理单数据
 const hldDataList = ref([])
@@ -851,6 +889,15 @@ const hldPrintDataList = ref([])
 
 const activeTableName = ref('first')
 
+const handleSizeChange = (val) => {
+    queryParam.value.pageSize = val
+    queryInfo()
+}
+const handleCurrentChange = (val) => {
+    queryParam.value.currentPage = val
+    queryInfo()
+}
+
 const ward = ref([
     {code:'8000002',name:'二病室'},
     {code:'8000003',name:'三病室'},
@@ -994,7 +1041,30 @@ const getOutputDbloodName = (val) =>{
             return val
     }
 }
+//选择tab页面
+const handletabPane = ()=>{
+    if(activeTableName.value === 'first'){
+        queryInfo()
+    }else {
+        if (patientInfo.value.inpatientNo) {
+            queryNursingRecord({
+                inpatientNo: patientInfo.value.inpatientNo,
+                admissTimes: patientInfo.value.admissTimes,
+                ward: queryParam.value.ward,
+                printFlag: true,
+                typeFlag: queryParam.value.typeFlag,
+                recDateStr: queryParam.value.recDateStr,
+                startRecTime: getFormatDatetime(queryParam.value.startRecTime, 'YYYY-MM-DD HH:mm:ss'),
+                endRecTime: getFormatDatetime(queryParam.value.endRecTime, 'YYYY-MM-DD HH:mm:ss')
+            }).then((res) => {
+                hldPrintDataList.value = res.records
+            })
+        }else {
+            return ElMessage.error('请选择一个病人')
+        }
+    }
 
+}
 
 const tongKongFlag = ref(false)
 
@@ -1104,7 +1174,7 @@ font-size:32px ;
 
 const selectPatientInfo=(val)=>{
     patientInfo.value =  val.patientInfo
-    queryInfo()
+    handletabPane()
 }
 
 const queryInfo=()=>{
@@ -1113,25 +1183,19 @@ const queryInfo=()=>{
         queryNursingRecord({
             inpatientNo:patientInfo.value.inpatientNo,
             admissTimes:patientInfo.value.admissTimes,
+            ward: queryParam.value.ward,
             typeFlag:queryParam.value.typeFlag,
             recDateStr:queryParam.value.recDateStr,
+            currentPage:queryParam.value.currentPage,
+            pageSize:queryParam.value.pageSize,
             startRecTime:getFormatDatetime(queryParam.value.startRecTime,'YYYY-MM-DD HH:mm:ss'),
             endRecTime:getFormatDatetime(queryParam.value.endRecTime,'YYYY-MM-DD HH:mm:ss')
         }).then((res) =>{
-            hldDataList.value = res
-        })
-        queryNursingRecord({
-            inpatientNo:patientInfo.value.inpatientNo,
-            admissTimes:patientInfo.value.admissTimes,
-            printFlag:true,
-            typeFlag:queryParam.value.typeFlag,
-            recDateStr:queryParam.value.recDateStr,
-            startRecTime:getFormatDatetime(queryParam.value.startRecTime,'YYYY-MM-DD HH:mm:ss'),
-            endRecTime:getFormatDatetime(queryParam.value.endRecTime,'YYYY-MM-DD HH:mm:ss')
-        }).then((res) =>{
-            hldPrintDataList.value = res
+            hldDataList.value = res.records
+            queryParam.value.total = res.total
         })
 
+
     }else {
         return ElMessage.error('请选择一个病人')
     }
@@ -1142,6 +1206,8 @@ const queryInfo=()=>{
 
 
 onMounted(() => {
+    tableHeight.value = getWindowSize.value.h/1.2-260;
+    console.log('tableHeight',tableHeight)
     initLodop()
 
     getAllWards().then((res) =>{
@@ -1200,10 +1266,9 @@ ul{
 
 
 
-
-
-
-
+.scrollbar{
+    width: 1300px;
+}
 
 
 

+ 6 - 79
src/views/medical-advice/nursing-manage/PrintThreeTestList.vue

@@ -1,116 +1,43 @@
 <template>
     <el-container>
-        <el-aside width="280px">
+        <el-aside width="210px">
             <PatientBaseList  @selectPatientInfo="selectPatientInfo"></PatientBaseList>
         </el-aside>
         <el-container>
             <el-header style="height: 100px">
                 <PatientInfo :patientInfo="patientInfo"></PatientInfo>
-
             </el-header>
 
             <el-main>
-               <div style="margin-bottom: 10px">
-                   <div style="width: 100%;height: 20px;padding-left: 10px;" >
-                       查询日期
-                       <el-input :disabled="true" v-model="queryParam.startRecTime" style="width: 80px"></el-input>
-                       至
-                       <el-input :disabled="true"  v-model="queryParam.endRecTime" style="width: 80px"></el-input>
-                       <el-select  filterable v-model="queryParam.week" style="width: 100px;" size="small" @change="selectWeek">
-                           <el-option v-for="item in weekList" :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>
-                       </el-select>
-                       <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
-                       <el-button icon="Printer" type="success" v-print="'#scdPrint'">打印</el-button>&nbsp;
-                       <el-checkbox v-model="checkBoxFlag.mbFlag" label="脉搏" size="small" />
-                       <el-checkbox v-model="checkBoxFlag.hxFlag" label="呼吸" size="small" />
-                       <el-checkbox v-model="checkBoxFlag.xyFlag" label="血压" size="small" />
-                       <el-checkbox v-model="checkBoxFlag.wcyRqFlag" label="无出院日期" size="small" />
-                   </div>
-               </div>
-                <el-scrollbar height="600px">
-                    <div id="scdPrint" style="background:white;">
-                        <Graphics v-if="graphicsFlag"  :patientInfo="patientInfo" :queryParam="queryParam"></Graphics>
-                    </div>
-                </el-scrollbar>
+                <GraphicsTempalte  :patientInfo="patientInfo"></GraphicsTempalte>
             </el-main>
         </el-container>
     </el-container>
 </template>
 
-
 <script setup name='PrintThreeTestList'>
-import  Graphics from '@/components/medical-advice/temperature/graphics'
+import  GraphicsTempalte from '@/components/medical-advice/temperature/GraphicsTempalte'
 import PatientInfo from "@/components/medical-advice/PatientInfo.vue"
 import PatientBaseList from "@/components/medical-advice/PatientBaseList.vue"
 import {stringNotBlank} from "@/utils/blank-utils"
 import { getFormatDatetime } from "@/utils/date"
 import {getAllWards} from "@/api/zhu-yuan-yi-sheng/resident-doctor";
-import {getWeek} from "@/api/medical-advice/nursing-manage";
-
-import { ref, onMounted,nextTick } from 'vue'
-
-const queryParam = ref(
-    {
-        startRecTime:'',
-        endRecTime:'',
-        week:'',
-        }
-)
-//选中第几周
-const selectWeek = (val)=>{
-    queryParam.value.startRecTime = weekMap.value['ev_'+val].startDate
-    queryParam.value.endRecTime = weekMap.value['ev_'+val].endDate
-}
-//下拉框 周
-const weekList = ref([])
+import { ref, onMounted ,nextTick} from 'vue'
+
 
-const weekMap = ref({})
 
-const checkBoxFlag = ref({
-    mbFlag:true,
-    hxFlag:true,
-    xyFlag:true,
-    wcyRqFlag:false
-})
 
 onMounted(() => {
 
 })
-
-const graphicsFlag = ref(false)
+const graphicsTempalteFlag = ref(false)
 
 // 基本信息
 const patientInfo = ref({})
 
-const queryInfo = ()=>{
-    queryParam.value['checkBoxFlag'] = checkBoxFlag.value
-    graphicsFlag.value = false
-    nextTick(() => {
-        graphicsFlag.value = true
-    })
-}
-
 
 const selectPatientInfo=(val)=>{
     patientInfo.value =  val.patientInfo
-    patientInfo.value.admissDate =getFormatDatetime(val.patientInfo.admissDate,'YYYY-DD-MM')
-    getWeek({inpatientNo:val.patientInfo.inpatientNo,admissTimes:val.patientInfo.admissTimes}).then((res)=>{
-        weekMap.value = res
-        weekList.value = []
-        for (let i = 1; i <= res.totalWeek; i++) {
-            let temp = {}
-            temp['code'] = i;
-            temp['name'] = `第${i}周`;
-            weekList.value.push(temp)
-        }
-        queryParam.value.week = 1
-        selectWeek(1)
-        queryInfo()
-    })
 }
 
 

+ 3 - 2
src/views/medical-advice/nursing-manage/ThreeTestList.vue

@@ -1,6 +1,6 @@
 <template>
     <el-container>
-        <el-aside width="280px">
+        <el-aside width="210px">
           <PatientBaseList  :selectFlag="selectFlag" @allPatientList="selectAllPatientList"   @selectPatientInfo="selectPatientInfo" ></PatientBaseList>
         </el-aside>
         <el-container>
@@ -569,7 +569,8 @@ onMounted(() => {
     font-weight: 600;
 }
 .height670{
-   height: 670px;
+   height: 600px;
+   width: 1300px;
 }
 
 </style>