浏览代码

护理管理

lihong 2 年之前
父节点
当前提交
51ac4a1416

+ 7 - 0
src/api/medical-advice/medical-advice-management.js

@@ -48,4 +48,11 @@ export function queryYz(data) {
         method: 'post',
         data,
     })
+}
+export function getPatientBaseInfo(data) {
+    return request({
+        url: '/medicalAdvice/medicaManagement/getPatientBaseInfo',
+        method: 'post',
+        data,
+    })
 }

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

@@ -0,0 +1,206 @@
+import request from "../../utils/request";
+
+/**
+ * 查询三测单 所有列表数据
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function queryThreeTestList(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queryThreeTestList',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 保存三测单信息
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function saveThreeTest(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/saveThreeTest',
+        method: 'post',
+        data,
+    })
+}
+
+export function queyGm(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queyGm',
+        method: 'post',
+        data,
+    })
+}
+
+export function saveGm(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/saveGm',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 查询皮试信息
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function queryPsInfo(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queryPsInfo',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 更新皮试信息
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function updatePsInfo(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/updatePsInfo',
+        method: 'post',
+        data,
+    })
+}
+
+
+export function deleteYzTemperature(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/deleteYzTemperature',
+        method: 'post',
+        data,
+    })
+}
+
+
+export function deleteYzTemperatureSum(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/deleteYzTemperatureSum',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 查询护理记录
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function queryNursingRecord(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queryNursingRecord',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 查询医嘱转科开始时间 结束时间下拉框
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function queryOrderTime(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queryOrderTime',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 保存护理单
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function saveYzTemperature(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/saveYzTemperature',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 获取三测单信息
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function queryScdYzTemperature(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queryScdYzTemperature',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 计算出入量
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function calInputOutSum(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/calInputOutSum',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 查询护理模板
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function queryyzHlMb(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/queryyzHlMb',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 保存护理模板
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function saveHlMb(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/saveHlMb',
+        method: 'post',
+        data,
+    })
+}
+
+/**
+ * 删除护理模板
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function delHlMb(data) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/delHlMb',
+        method: 'post',
+        data,
+    })
+}
+
+
+
+/**
+ * 查询员工下拉框
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function selectEmpInfo(keyWard) {
+    return request({
+        url: '/medicalAdvice/nursingManagement/selectEmpInfo',
+        method: 'get',
+        params: {keyWard}
+    })
+}

+ 26 - 4
src/components/medical-advice/PatientBaseList.vue

@@ -19,7 +19,9 @@
             ref="elTableRef"
             highlight-current-row
             class="remove_hover"
+            @selection-change="handleSelectionChange"
            >
+    <el-table-column fixed v-if="props.selectFlag" type="selection" width="35"></el-table-column>
     <el-table-column label="床" prop="bedNo" width="30"/>
     <el-table-column label="姓名" width="70" prop="name">
       <template #default="{row}">
@@ -48,19 +50,23 @@ import {computed, onMounted, ref} from "vue";
 import {getOverView} from "@/api/inpatient/patient";
 import {allWardsVisible} from "@/utils/permission";
 import {cptSex} from "@/utils/computed";
-import {cqYzPrint, lsYzPrint,queryPatientInfo,queryYz} from "@/api/medical-advice/medical-advice-management";
+import {cqYzPrint, lsYzPrint,queryPatientInfo,queryYz,getPatientBaseInfo} from "@/api/medical-advice/medical-advice-management";
 import {getAllWards} from "@/api/zhu-yuan-yi-sheng/resident-doctor";
-
+import sleep from "@/utils/sleep";
+const selections = ref([])
 const myPatient = ref(false)
 const queryPatNo = ref('')
 const wardsClearable = allWardsVisible()
 const allWards = ref([])
 const currentWard = ref()
 const overviews = ref([])
-const emit = defineEmits(['selectPatientInfo']);
+const emit = defineEmits(['selectPatientInfo','allPatientList']);
 const props = defineProps({
   yzType: {
     type: String
+  },
+  selectFlag : {
+    type: Boolean
   }
 })
 const fetchOverviews = () => {
@@ -75,6 +81,9 @@ const queryPatientInfoClick=()=>{
   })
 }
 const cptOverviews = computed(() => {
+  if(props.selectFlag){
+    emit('allPatientList',overviews.value)
+  }
   return overviews.value
 })
 
@@ -107,11 +116,24 @@ const handleClickOverview = (row) => {
       }
       emit('selectPatientInfo',val)
     })
+  }else {
+    let params = {inpatientNo:row.inpatientNo,
+      admissTimes:row.admissTimes}
+    getPatientBaseInfo(params).then((res) => {
+      let  val = {patientInfo:res}
+      emit('selectPatientInfo',val)
+    })
+
   }
 }
 
 
-
+const handleSelectionChange = (val) => {
+  if(props.selectFlag){
+    selections.value = val
+    emit('selectPatientInfo',val)
+  }
+}
 
 
 

+ 141 - 0
src/components/medical-advice/YzTable.vue

@@ -0,0 +1,141 @@
+<template>
+    <div style="margin-left: 15px">
+        显示范围
+        <el-select v-model="queryParam.queryRange"
+                   :clearable="wardsClearable"
+                   style="width: 110px"
+        >
+            <el-option v-for="item in queryRangeList"
+                       :key="item.code"
+                       :label="item.name"
+                       :value="item.code"/>
+        </el-select>
+        状态
+        <el-select v-model="queryParam.statusFlag"
+                   :clearable="wardsClearable"
+                   style="width: 110px"
+        >
+            <el-option v-for="item in statusFlagList"
+                       :key="item.code"
+                       :label="item.name"
+                       :value="item.code"/>
+        </el-select>
+        <el-button icon="Search" type="primary" @click="queryYzInfo">查询</el-button>
+        <div style="display: flex;float: right;margin-right: 20px">
+            <status-color color="#05ff00" label="R:录入"/>
+            <status-color color="#0000fb" label="Q:确认"/>
+            <status-color color="#ff07f3" label="Z:执行"/>
+            <status-color color="red" label="T:停止"/>
+            <status-color color="#00ffe0" label="D:作废"/>
+        </div>
+    </div>
+    <div style="height: 82%;margin-top: 10px">
+        <el-table :data="yzDataList"  highlight-current-row stripe border show-overflow-tooltip   style="width: 100%;height: 100%">
+            <el-table-column label="排序" type="index" width="40" />
+            <el-table-column prop="orderGroup" label="组" width="30"/>
+            <el-table-column prop="statusFlag" label="状态" width="40" >
+                <template #default="scope">
+                    <span v-html="getStatusFlagHtml(scope.row)"></span>
+                </template>
+            </el-table-column>
+            <el-table-column prop="actOrderNo" label="医嘱号" />
+            <el-table-column prop="orderName" label="医嘱名称" min-width="180" show-overflow-tooltip />
+            <el-table-column prop="orderName" label="剂量" width="60">
+                <template #default="scope"> {{ scope.row.dose }} {{ scope.row.doseUnitName }}</template>
+            </el-table-column>
+            <el-table-column label="频率" prop="frequCode" width="100" />
+            <el-table-column label="给药方式" prop="supplyCodeName" min-width="100"/>
+            <el-table-column label="开始时间" prop="startTime" width="125"/>
+            <el-table-column label="结束时间" prop="endTime" width="125"/>
+            <el-table-column label="医保自费">
+                <template #default="scope">
+                    <el-tag v-if="scope.row.ybSelfFlag === '1'">√</el-tag>
+                </template>
+            </el-table-column>
+            <el-table-column label="是否紧急">
+                <template #default="scope">
+                    <el-tag v-if="scope.row.emergencyFlag === '1'">√</el-tag>
+                </template>
+            </el-table-column>
+            <el-table-column label="医生" prop="physicianName"/>
+            <el-table-column label="费用标志" prop="selfBuyName"/>
+            <el-table-column label="执行科室" prop="execUnitName" min-width="120"/>
+            <el-table-column label="领量" prop="drugQuan">
+                <template #default="scope"> {{ scope.row.drugQuan }} {{ scope.row.drugQuanName }}</template>
+            </el-table-column>
+            <el-table-column label="药房" prop="groupNoName"></el-table-column>
+            <el-table-column label="序号" prop="serial"></el-table-column>
+            <el-table-column label="嘱托" prop="instruction"></el-table-column>
+        </el-table>
+    </div>
+</template>
+
+<script setup name='YzTable'>
+import {getStatusFlagHtml} from "@/components/medical-advice/MedicalAdviceCommonUtil"
+import {queryYz} from "@/api/medical-advice/medical-advice-management";
+import StatusColor from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/yz-header/StatusColor";
+import {onMounted} from "vue";
+import {stringNotBlank} from "@/utils/blank-utils";
+
+const props = defineProps({
+    patientInfo: {
+        type: Object,
+        default:{}
+    },
+
+})
+const yzDataList = ref([])
+const queryParam = ref({
+    patNo:props.patientInfo.inpatientNo,
+    times:props.patientInfo.admissTimes,
+    queryRange:'0',
+    statusFlag:'3'
+})
+const queryRangeList=ref([{
+    code:'0',
+    name:'全部',
+},{
+    code:'1',
+    name:'停止',
+},{
+    code:'2',
+    name:'当前',
+},{
+    code:'3',
+    name:'今天',
+}])
+const statusFlagList=ref([{
+    code:'0',
+    name:'全部',
+},{
+    code:'1',
+    name:'录入',
+},{
+    code:'2',
+    name:'确认',
+},{
+    code:'3',
+    name:'执行',
+},{
+    code:'5',
+    name:'停止',
+}])
+
+
+onMounted(()=>{
+    queryYzInfo()
+})
+
+const queryYzInfo=()=>{
+    queryYz(queryParam.value).then((res) => {
+        yzDataList.value = res.yzDataList
+    })
+}
+</script>
+
+<style scoped>
+.status_color {
+        width: 10px;
+        height: 10px;
+    }
+</style>

+ 1178 - 0
src/components/medical-advice/nursing-manage/FirstHuLiDan.vue

@@ -0,0 +1,1178 @@
+<template>
+    <el-container>
+        <el-header>
+            <el-row>
+                    <span style="margin-top: 5px" >本机默认体温类型</span>
+                    <el-select style="width: 80px" v-model="temperatureType" clearable placeholder="请选择">
+                        <el-option value="x" label="x"></el-option>
+                        <el-option value="●" label="●"></el-option>
+                        <el-option value="o" label="o"></el-option>
+                    </el-select>
+                    <el-button size="small" type="success" @click="saveType">保存设置</el-button>
+                    <el-button  size="small" type="success" @click="saveHuLiDan">保存</el-button>
+                    <el-button  size="small" type="success" @click="closeHld">取消</el-button>
+                    <el-button  size="small" type="success" @click="queryDianZiBinLi">电子病历</el-button>
+            </el-row>
+        </el-header>
+        <el-main>
+            <el-tabs
+                    v-model="activeName"
+                    type="card"
+                    class="demo-tabs"
+                    @tab-click="handleClick"
+            >
+                <el-tab-pane label="护理记录" name="first">
+                    <div v-if="props.nursingRecordData.hldType =='1' || props.nursingRecordData.hldType =='5'">
+                        <el-row>
+                            <el-col>
+                                日期
+                                <el-date-picker
+                                    v-model="formData.toStringRecDate"
+                                    type="date"
+                                    size="small"
+                                    :clearable="clearable"
+                                    format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"
+                                ></el-date-picker>
+                                时段
+                                <el-time-picker v-model="formData.recTime" style="width: 100px">
+                                </el-time-picker>
+                                病情
+                                <el-select v-model="formData.patientState" clearable placeholder="请选择">
+                                    <el-option value="" label=""></el-option>
+                                    <el-option value="危" label="危"></el-option>
+                                    <el-option value="重" label="重"></el-option>
+                                </el-select>
+                                呼吸<el-input v-model="formData.breathe1" clearable style="width: 90px"></el-input>次
+                                <el-button size="small" type="success" @click="saveHuLiDan(1)">保存继续</el-button>
+                                <el-button size="small" icon="Search" type="success" @click="queryScd">获取三测单信息</el-button>
+                            </el-col>
+                        </el-row>
+                        <el-row>
+                            <el-col>
+                                体温<el-input v-model="formData.temperature1" clearable style="width: 80px"></el-input>
+                                <el-select v-model="formData.temperature1Type" clearable placeholder="请选择" style="width: 80px">
+                                <el-option value="x" label="x"></el-option>
+                                <el-option value="●" label="●"></el-option>
+                                <el-option value="o" label="o"></el-option>
+                                </el-select>
+                                心率<el-input v-model="formData.heart" clearable style="width: 80px"/>
+                                脉搏<el-input v-model="formData.pulse1" clearable style="width: 80px"/>
+                                血压<el-input v-model="formData.pressure1Am" clearable style="width: 80px"/>
+                                /<el-input v-model="formData.pressure1Pm" clearable style="width: 80px"/>
+                                SpO2<el-input v-model="formData.spo2" clearable style="width: 80px"/>
+                            </el-col>
+                        </el-row>
+                        <el-row v-if="props.nursingRecordData.hldType =='1'">
+                            <el-col>
+                                意识<el-select v-model="formData.mind" style="width: 90px" clearable placeholder="请选择">
+                                <el-option value="清醒" label="清醒"></el-option>
+                                <el-option value="嗜睡" label="嗜睡"></el-option>
+                                <el-option value="昏睡" label="昏睡"></el-option>
+                                <el-option value="浅昏迷" label="浅昏迷"></el-option>
+                                <el-option value="深昏迷" label="深昏迷"></el-option>
+                                <el-option value="镇静状态" label="镇静状态"></el-option>
+                                </el-select>
+                                右瞳孔<el-input v-model="formData.rpupil" clearable style="width: 90px"/>
+                                <el-select v-model="formData.pupilbj" clearable placeholder="请选择" style="width: 60px">
+                                    <el-option value=">" label=">"></el-option>
+                                    <el-option value="<" label="<"></el-option>
+                                    <el-option value="=" label="="></el-option>
+                                </el-select>
+                                左瞳孔<el-input v-model="formData.lpupil" clearable style="width: 90px"/>
+                                对光反射(左)
+                                <el-select v-model="formData.pupil" clearable placeholder="请选择" style="width: 60px">
+                                    <el-option value="+" label=">"></el-option>
+                                    <el-option value="-" label="<"></el-option>
+                                    <el-option value="±" label="="></el-option>
+                                    <el-option value="+-" label="="></el-option>
+                                </el-select>
+                                对光反射(右)
+                                <el-select v-model="formData.pupilr" clearable placeholder="请选择" style="width: 60px">
+                                    <el-option value="+" label=">"></el-option>
+                                    <el-option value="-" label="<"></el-option>
+                                    <el-option value="±" label="="></el-option>
+                                    <el-option value="+-" label="="></el-option>
+                                </el-select>
+                                血糖<el-input v-model="formData.glu" clearable style="width: 90px"/>
+                            </el-col>
+                        </el-row>
+                        <el-row v-if="props.nursingRecordData.hldType =='5'">
+                            <el-col>
+                                神志<el-select v-model="formData.mind" style="width: 90px" clearable placeholder="请选择">
+                                <el-option value="清醒" label="清醒"></el-option>
+                                <el-option value="嗜睡" label="嗜睡"></el-option>
+                                <el-option value="模糊" label="模糊"></el-option>
+                                <el-option value="昏睡" label="昏睡"></el-option>
+                                <el-option value="浅昏迷" label="浅昏迷"></el-option>
+                                <el-option value="深昏迷" label="深昏迷"></el-option>
+                                <el-option value="镇静" label="镇静"></el-option>
+                            </el-select>
+                                阴道流血
+                                <el-input v-model="formData.outputDblood" clearable style="width: 90px"/>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">入量</div>
+                        <el-row>
+                           <el-col>
+                               项目
+                               <el-select v-model="formData.col1Name" clearable placeholder="请选择">
+                                   <el-option value="饮水" label="饮水"/>
+                                   <el-option value="进食" label="进食"/>
+                                   <el-option value="输液" label="输液"/>
+                                   <el-option value="24小时总结" label="24小时总结"/>
+                                   <el-option value="日间小结" label="日间小结"/>
+                                   <el-option value="本班小结" label="本班小结"/>
+                                   <el-option value="不足24小时出入量" label="不足24小时出入量"/>
+                                   <el-option value="余量" label="余量"/>
+                               </el-select>
+                               量<el-input v-model="formData.col1Am" clearable style="width: 90px"/>
+                               <el-checkbox v-model="checkboxData.inZongJie24">24小时总结</el-checkbox>
+                               <el-button size="small"  @click="inputOutSum(1)">入量求和</el-button>
+                           </el-col>
+                        </el-row>
+                        <div class="row-title-sty">出量</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                项目
+                                <el-select v-model="formData.col2Name" clearable placeholder="请选择">
+                                    <el-option value="大便" label="大便"/>
+                                    <el-option value="小便" label="小便"/>
+                                    <el-option value="呕吐物" label="呕吐物"/>
+                                    <el-option value="引流物" label="引流物"/>
+                                    <el-option value="24小时总结" label="24小时总结"/>
+                                    <el-option value="本班小结" label="本班小结"/>
+                                    <el-option value="日间小结" label="日间小结"/>
+                                    <el-option value="不足24小时出入量" label="不足24小时出入量"/>
+                                </el-select>
+                                量<el-input v-model="formData.col2Am" clearable style="width: 90px"/>
+                                <el-checkbox v-model="checkboxData.outZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(2)">出量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <el-row :gutter="5">
+                            <el-col>
+                                大便单位
+                                <el-input v-model="formData.shitUnit" clearable style="width: 90px"/>
+                                颜色
+                                <el-select v-model="formData.urineColor" clearable placeholder="请选择">
+                                    <el-option value="清亮" label="清亮"/>
+                                    <el-option value="淡黄" label="淡黄"/>
+                                    <el-option value="黄色" label="黄色"/>
+                                    <el-option value="黑色" label="黑色"/>
+                                </el-select>
+                                性状
+                                <el-select v-model="formData.shitShape" clearable placeholder="请选择">
+                                    <el-option value="黄糊" label="黄糊"/>
+                                    <el-option value="黄稀" label="黄稀"/>
+                                    <el-option value="黄软" label="黄软"/>
+                                    <el-option value="水状" label="水状"/>
+                                    <el-option value="便血" label="便血"/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">其他</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                皮肤
+                                <el-select v-model="formData.skin" clearable placeholder="请选择">
+                                    <el-option value="" label=""/>
+                                    <el-option value="完好" label="完好"/>
+                                    <el-option value="破损" label="破损"/>
+                                    <el-option value="压疮" label="压疮"/>
+                                    <el-option value="水肿" label="水肿"/>
+                                    <el-option value="出血点" label="出血点"/>
+                                </el-select>
+                                管道
+                                <el-select v-model="formData.tubesName" clearable placeholder="请选择">
+                                    <el-option value="氧管" label="氧管"/>
+                                    <el-option value="胃管" label="胃管"/>
+                                    <el-option value="引流管" label="引流管"/>
+                                    <el-option value="导尿管" label="导尿管"/>
+                                    <el-option value="静脉置管" label="静脉置管"/>
+                                </el-select>
+                                管道情况
+                                <el-select v-model="formData.tubesStatus" clearable placeholder="请选择">
+                                    <el-option value="+" label="+"/>
+                                    <el-option value="-" label="-"/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                    </div>
+
+                    <div v-if="props.nursingRecordData.hldType =='2'">
+                        <el-row>
+                            <el-col>
+                                日期
+                                <el-date-picker
+                                        v-model="formData.toStringRecDate"
+                                        type="date"
+                                        size="small"
+                                        :clearable="clearable"
+                                        format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"
+                                ></el-date-picker>
+                                时段
+                                <el-time-picker v-model="formData.recTime" style="width: 100px">
+                                </el-time-picker>
+                                箱(温度)
+                                <el-input v-model="formData.boxTemp" clearable style="width: 80px"></el-input>℃
+                                箱(湿度)<el-input v-model="formData.boxHumi" clearable style="width: 90px"></el-input>
+                                <el-button size="small" type="success" @click="saveType">保存继续</el-button>
+                                <el-button size="small" icon="Search" type="success" @click="saveType">获取三测单信息</el-button>
+                            </el-col>
+                        </el-row>
+                        <el-row>
+                            <el-col>
+                                体温<el-input v-model="formData.temperature1" clearable style="width: 80px"></el-input>
+                                <el-select v-model="formData.temperature1Type" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="x" label="x"></el-option>
+                                    <el-option value="●" label="●"></el-option>
+                                    <el-option value="o" label="o"></el-option>
+                                </el-select>
+                                心率<el-input v-model="formData.heart" clearable style="width: 80px"/>
+                                呼吸<el-input v-model="formData.breathe1" clearable style="width: 80px"/>
+                                血压<el-input v-model="formData.pressure1Am" clearable style="width: 80px"/>
+                                /<el-input v-model="formData.pressure1Pm" clearable style="width: 80px"/>
+                            </el-col>
+                        </el-row>
+
+                        <el-row>
+                            <el-col>
+                            SpO2<el-input v-model="formData.spo2" clearable style="width: 80px"/>
+                            病情
+                            <el-select v-model="formData.patientState" clearable placeholder="请选择" style="width: 80px">
+                                <el-option value="" label=""></el-option>
+                                <el-option value="危" label="危"></el-option>
+                                <el-option value="重" label="重"></el-option>
+                            </el-select>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">入量</div>
+                        <el-row>
+                            <el-col>
+                                项目
+                                <el-select v-model="formData.col1Name" clearable placeholder="请选择" style="width: 110px">
+                                    <el-option value="配方奶" label="饮水"/>
+                                    <el-option value="早产儿奶" label="进食"/>
+                                    <el-option value="腹泻奶" label="本班小结"/>
+                                    <el-option value="24小时总结" label="24小时总结"/>
+                                    <el-option value="日间小结" label="日间小结"/>
+                                </el-select>
+                                量<el-input v-model="formData.col1Am" clearable style="width: 90px"/>
+                                <el-checkbox v-model="checkboxData.inZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(1)">入量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">出量</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                项目
+                                <el-select v-model="formData.col2Name" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="小便" label="小便"/>
+                                </el-select>
+                                量<el-input v-model="formData.urineQuanAm" clearable style="width: 90px"/>
+                                色
+                                <el-select v-model="formData.urineColor" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="清亮" label="清亮"/>
+                                    <el-option value="淡黄" label="淡黄"/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                        <el-row :gutter="5">
+                            <el-col>
+                                项目
+                                <el-select v-model="formData.shitOther" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="大便" label="大便"/>
+                                </el-select>
+                                次<el-input v-model="formData.shitQuan" clearable style="width: 90px"/>
+                                性状
+                                <el-select v-model="formData.shitShape" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="黄糊" label="黄糊"/>
+                                    <el-option value="黄稀" label="黄稀"/>
+                                    <el-option value="黄软" label="黄软"/>
+                                    <el-option value="水状" label="水状"/>
+                                    <el-option value="便血" label="便血"/>
+                                    <el-option value="墨绿" label="墨绿"/>
+                                </el-select>
+                                <el-checkbox v-model="checkboxData.outZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(2)">出量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">护理</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                体位
+                                <el-select v-model="formData.decubitus" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="" label=""/>
+                                    <el-option value="左" label="完好"/>
+                                    <el-option value="右" label="破损"/>
+                                    <el-option value="俯" label="压疮"/>
+                                    <el-option value="仰" label="水肿"/>
+                                </el-select>
+                                <el-checkbox v-model="checkboxData.isMouthpiece">口护</el-checkbox>
+                                <el-checkbox v-model="checkboxData.isEyes">眼护</el-checkbox>
+                                <el-checkbox v-model="checkboxData.bellybuttonFlag">脐护</el-checkbox>
+                                <el-checkbox v-model="checkboxData.buttocksFlag">臀护</el-checkbox>
+                                <el-checkbox v-model="checkboxData.showerFlag">沐浴</el-checkbox>
+                                <el-checkbox v-model="checkboxData.spongeBathFlag">擦澡</el-checkbox>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">病情观察</div>
+                        <el-row>
+                            <el-col>
+                                皮肤
+                                <el-select v-model="formData.skin" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="红润" label="完好"/>
+                                    <el-option value="黄染" label="破损"/>
+                                    <el-option value="稍黄" label="压疮"/>
+                                    <el-option value="苍白" label="水肿"/>
+                                </el-select>
+                                哭声
+                                <el-select v-model="formData.infoCry" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="大" label="有力"/>
+                                    <el-option value="小" label="差"/>
+                                    <el-option value="无" label="差"/>
+                                </el-select>
+                                吸吮
+                                <el-select v-model="formData.infoSuck" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="有力" label="有力"/>
+                                    <el-option value="差" label="差"/>
+                                </el-select>
+                                睡眠
+                                <el-select v-model="formData.infoSleep" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="好" label="好"/>
+                                    <el-option value="差" label="差"/>
+                                    <el-option value="昏迷" label="昏迷"/>
+                                </el-select>
+                                自主活动
+                                <el-select v-model="formData.infoActivity" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="有" label="有"/>
+                                    <el-option value="无" label="无"/>
+                                </el-select>
+                                肢端情况
+                                <el-select v-model="formData.acraStatus" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="温" label="温"/>
+                                    <el-option value="凉" label="凉"/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                    </div>
+
+                    <div v-if="props.nursingRecordData.hldType =='3'">
+                        <el-row>
+                            <el-col>
+                                日期
+                                <el-date-picker
+                                        v-model="formData.toStringRecDate"
+                                        type="date"
+                                        size="small"
+                                        :clearable="clearable"
+                                        format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"
+                                ></el-date-picker>
+                                时段
+                                <el-time-picker v-model="formData.recTime" style="width: 100px">
+                                </el-time-picker>
+                                呼吸<el-input v-model="formData.breathe1" clearable style="width: 90px"></el-input>次
+                                <el-button size="small" type="success" @click="saveType">保存继续</el-button>
+                                <el-button size="small" icon="Search" type="success" @click="saveType">获取三测单信息</el-button>
+                            </el-col>
+                        </el-row>
+                        <el-row>
+                            <el-col>
+                                体温<el-input v-model="formData.temperature1" clearable style="width: 80px"></el-input>
+                                <el-select v-model="formData.temperature1Type" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="x" label="x"></el-option>
+                                    <el-option value="●" label="●"></el-option>
+                                    <el-option value="o" label="o"></el-option>
+                                </el-select>
+                                脉搏<el-input v-model="formData.pulse1" clearable style="width: 80px"/>
+                                血压<el-input v-model="formData.pressure1Am" clearable style="width: 80px"/>
+                                /<el-input v-model="formData.pressure1Pm" clearable style="width: 80px"/>
+                                SpO2<el-input v-model="formData.spo2" clearable style="width: 80px"/>
+                                意识<el-select v-model="formData.mind" style="width: 90px" clearable placeholder="请选择">
+                                <el-option value="清醒" label="清醒"></el-option>
+                                <el-option value="嗜睡" label="嗜睡"></el-option>
+                                <el-option value="模糊" label="模糊"></el-option>
+                                <el-option value="昏睡" label="昏睡"></el-option>
+                                <el-option value="浅昏迷" label="浅昏迷"></el-option>
+                                <el-option value="深昏迷" label="深昏迷"></el-option>
+                            </el-select>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">入量</div>
+                        <el-row>
+                            <el-col>
+                                项目 <el-input v-model="formData.col1Name" clearable style="width: 80px"/>
+                                量<el-input v-model="formData.col1Am" clearable style="width: 90px"/>
+                                <el-checkbox v-model="checkboxData.inZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(1)">入量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">出量</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                尿液<el-input v-model="formData.urineQuanAm" clearable style="width: 90px"/>
+                                阴道流血<el-input v-model="formData.outputDblood" clearable style="width: 90px"/>
+                                其他<el-input v-model="formData.outputOther" clearable style="width: 90px"/>
+                                <el-checkbox v-model="checkboxData.outZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(2)">出量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">护理</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                胎心音
+                                <el-select v-model="formData.fheartSoundStr" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="ox" label="ox"/>
+                                    <el-option value="xo" label="xo"/>
+                                </el-select>
+                                /<el-input v-model="formData.fheartSound" clearable style="width: 90px"/>
+                                胎膜破否
+                                <el-select v-model="formData.fetalBreak" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="1" label="已"/>
+                                    <el-option value="0" label="未"/>
+                                </el-select>
+                                宫口开大<el-input v-model="formData.uterineOpen"  clearable style="width: 90px"/>cm
+                                宫缩状况(秒/分)<el-select v-model="formData.uterineStatus" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="“/ ‘" label="“/ ‘"/>
+                                    <el-option value="无" label="无"/>
+                                    <el-option value="不规则" label="不规则"/>
+                                </el-select>
+                                渗血<el-select v-model="formData.outBlood" style="width: 90px" clearable placeholder="请选择">
+                                <el-option value="无" label="无"/>
+                                <el-option value="有" label="有"/>
+                            </el-select>
+                                红肿<el-select v-model="formData.redHurt" style="width: 90px" clearable placeholder="请选择">
+                                <el-option value="无" label="无"/>
+                                <el-option value="有" label="有"/>
+                                <el-option value="" label=""/>
+                            </el-select>
+                            </el-col>
+                        </el-row>
+
+                        <el-row>
+                            <el-col>
+                                管道
+                                <el-select v-model="formData.tubesName" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="导尿管" label="导尿管"/>
+                                    <el-option value="氧管" label="氧管"/>
+                                    <el-option value="胃管" label="胃管"/>
+                                    <el-option value="引流管" label="引流管"/>
+                                    <el-option value="静脉置管" label="静脉置管"/>
+                                    <el-option value="PICC置管" label="PICC置管"/>
+                                    <el-option value="PCA" label="PCA"/>
+                                    <el-option value="输液管" label="输液管"/>
+                                </el-select>
+                                管道情况
+                                <el-select v-model="formData.tubesStatus" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="+" label="+"/>
+                                    <el-option value="-" label="-"/>
+                                </el-select>
+                                肛门排气
+                                <el-select v-model="formData.anusAir" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="已" label="已"/>
+                                    <el-option value="未" label="未"/>
+                                </el-select>
+                                喂哺技巧指导
+                                <el-select v-model="formData.suckleFun" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="手法挤奶" label="手法挤奶"/>
+                                    <el-option value="侧卧位" label="侧卧位"/>
+                                    <el-option value="环抱式" label="环抱式"/>
+                                    <el-option value="坐位" label="坐位"/>
+                                    <el-option value="再评估" label="再评估"/>
+                                </el-select>
+                                宫底高度(脐下指)<el-input v-model="formData.uterineHigh" clearable style="width: 90px"/>
+                                子宫收缩状态
+                                <el-select v-model="formData.uterineMove" style="width: 90px" clearable placeholder="请选择">
+                                    <el-option value="佳" label="佳"/>
+                                    <el-option value="良" label="良"/>
+                                    <el-option value="乏力" label="乏力"/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                    </div>
+
+
+
+                    <div v-if="props.nursingRecordData.hldType =='4'">
+                        <el-row>
+                            <el-col>
+                                日期
+                                <el-date-picker
+                                        v-model="formData.toStringRecDate"
+                                        type="date"
+                                        size="small"
+                                        :clearable="clearable"
+                                        format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"
+                                ></el-date-picker>
+                                时段
+                                <el-time-picker v-model="formData.recTime" style="width: 100px">
+                                </el-time-picker>
+                                面色
+                                <el-select v-model="formData.faceColour" clearable placeholder="请选择">
+                                    <el-option value="红润" label="红润"/>
+                                    <el-option value="黄染" label="黄染"/>
+                                    <el-option value="苍白" label="苍白"/>
+                                    <el-option value="稍黄" label="稍黄"/>
+                                </el-select>
+                                <el-button size="small" type="success" @click="saveType">保存继续</el-button>
+                                <el-button size="small" icon="Search" type="success" @click="saveType">获取三测单信息</el-button>
+                            </el-col>
+                        </el-row>
+
+                        <el-row>
+                            <el-col>
+                                体温<el-input v-model="formData.temperature1" clearable style="width: 80px"></el-input>
+                                <el-select v-model="formData.temperature1Type" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="x" label="x"></el-option>
+                                    <el-option value="●" label="●"></el-option>
+                                    <el-option value="o" label="o"></el-option>
+                                </el-select>
+                                呼吸状况
+                                <el-select v-model="formData.breath" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="平稳" label="平稳"></el-option>
+                                    <el-option value="急促" label="急促"></el-option>
+                                </el-select>
+                                体重<el-input v-model="formData.bodyWeight" clearable style="width: 80px"/>kg
+                                血糖<el-input v-model="formData.glu" clearable style="width: 80px"/>
+                                SpO2<el-input v-model="formData.spo2" clearable style="width: 80px"/>
+                                皮肤颜色
+                                <el-select v-model="formData.skinColour" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="红润" label="红润"></el-option>
+                                    <el-option value="黄染" label="黄染"></el-option>
+                                    <el-option value="苍白" label="苍白"></el-option>
+                                </el-select>
+                                皮肤状况
+                                <el-select v-model="formData.skinStatus" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="完好" label="完好"></el-option>
+                                    <el-option value="破损" label="破损"></el-option>
+                                    <el-option value="水肿" label="水肿"></el-option>
+                                    <el-option value="压疮" label="压疮"></el-option>
+                                    <el-option value="出血点" label="出血点"></el-option>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+
+                        <div class="row-title-sty">入量</div>
+                        <el-row>
+                            <el-col>
+                                母乳<el-input v-model="formData.intakeBreastMilk" clearable style="width: 80px"/>
+                                糖水<el-input v-model="formData.intakeWater" clearable style="width: 80px"/>
+                                配方奶<el-input v-model="formData.intakeMilk" clearable style="width: 80px"/>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">出量</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                小便次数<el-input v-model="formData.urineQuan" clearable style="width: 90px"/>
+                                大便次数<el-input v-model="formData.shit" clearable style="width: 90px"/>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">护理</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                脐部情况: 渗血
+                                <el-select v-model="formData.outBlood" clearable placeholder="请选择">
+                                    <el-option value="无" label="无"/>
+                                    <el-option value="有" label="有"/>
+                                    <el-option value="" label=""/>
+                                </el-select>
+                                红肿
+                                <el-select v-model="formData.redHurt" clearable placeholder="请选择">
+                                    <el-option value="无" label="无"/>
+                                    <el-option value="有" label="有"/>
+                                    <el-option value="" label=""/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                    </div>
+                    <div v-if="props.nursingRecordData.hldType =='6'">
+                        <el-row>
+                            <el-col>
+                                日期
+                                <el-date-picker
+                                        v-model="formData.toStringRecDate"
+                                        type="date"
+                                        size="small"
+                                        :clearable="clearable"
+                                        format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 120px"
+                                ></el-date-picker>
+                                时段
+                                <el-time-picker v-model="formData.recTime" style="width: 100px">
+                                </el-time-picker>
+                                血压<el-input v-model="formData.pressure1Am" clearable style="width: 80px"/>
+                                /<el-input v-model="formData.pressure1Pm" clearable style="width: 80px"/>
+                                MAP<el-input v-model="formData.map" clearable style="width: 80px"/>
+                                <el-button size="small" type="success" @click="saveType">保存继续</el-button>
+                                <el-button size="small" icon="Search" type="success" @click="saveType">获取三测单信息</el-button>
+                            </el-col>
+                        </el-row>
+                        <el-row>
+                            <el-col>
+                                体温<el-input v-model="formData.temperature1" clearable style="width: 80px"></el-input>
+                                <el-select v-model="formData.temperature1Type" clearable placeholder="请选择" style="width: 80px">
+                                    <el-option value="x" label="x"></el-option>
+                                    <el-option value="●" label="●"></el-option>
+                                    <el-option value="o" label="o"></el-option>
+                                </el-select>
+                                心率<el-input v-model="formData.heart" clearable style="width: 80px"/>
+                                呼吸<el-input v-model="formData.breathe1" clearable style="width: 90px"></el-input>
+                                神志<el-select v-model="formData.mind" style="width: 80px" clearable placeholder="请选择">
+                                    <el-option value="清醒" label="清醒"/>
+                                    <el-option value="嗜睡" label="嗜睡"/>
+                                    <el-option value="昏睡" label="昏睡"/>
+                                    <el-option value="麻醉未醒" label="浅昏迷"/>
+                                    <el-option value="镇静" label="镇静状态"/>
+                                    <el-option value="昏迷" label="深昏迷"/>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+
+                        <el-row >
+                            <el-col>
+                                左瞳孔<el-input v-model="formData.lpupil" clearable style="width: 90px"/>
+                                <el-select v-model="formData.pupilbj" clearable placeholder="请选择" style="width: 60px">
+                                    <el-option value=">" label=">"></el-option>
+                                    <el-option value="<" label="<"></el-option>
+                                    <el-option value="=" label="="></el-option>
+                                </el-select>
+                                右瞳孔<el-input v-model="formData.rpupil" clearable style="width: 90px"/>
+                                对光反射(左)
+                                <el-select v-model="formData.pupil" clearable placeholder="请选择" style="width: 60px">
+                                    <el-option value="+" label=">"></el-option>
+                                    <el-option value="-" label="<"></el-option>
+                                    <el-option value="±" label="="></el-option>
+                                    <el-option value="+-" label="="></el-option>
+                                </el-select>
+                                对光反射(右)
+                                <el-select v-model="formData.pupilr" clearable placeholder="请选择" style="width: 60px">
+                                    <el-option value="+" label=">"></el-option>
+                                    <el-option value="-" label="<"></el-option>
+                                    <el-option value="±" label="="></el-option>
+                                    <el-option value="+-" label="="></el-option>
+                                </el-select>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">入量</div>
+                        <el-row>
+                            <el-col>
+                                项目
+                                <el-select v-model="formData.col1Name" clearable placeholder="请选择">
+                                    <el-option value="饮水" label="饮水"/>
+                                    <el-option value="进食" label="进食"/>
+                                    <el-option value="输液" label="输液"/>
+                                    <el-option value="24小时总结" label="24小时总结"/>
+                                    <el-option value="日间小结" label="日间小结"/>
+                                    <el-option value="本班小结" label="本班小结"/>
+                                    <el-option value="不足24小时出入量" label="不足24小时出入量"/>
+                                    <el-option value="余量" label="余量"/>
+                                </el-select>
+                                量<el-input v-model="formData.col1Am" clearable style="width: 90px"/>
+                                <el-checkbox v-model="checkboxData.inZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(1)">入量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">出量</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                项目
+                                <el-select v-model="formData.col2Name" clearable placeholder="请选择">
+                                    <el-option value="大便" label="大便"/>
+                                    <el-option value="小便" label="小便"/>
+                                    <el-option value="呕吐物" label="呕吐物"/>
+                                    <el-option value="引流物" label="引流物"/>
+                                    <el-option value="24小时总结" label="24小时总结"/>
+                                    <el-option value="本班小结" label="本班小结"/>
+                                    <el-option value="日间小结" label="日间小结"/>
+                                    <el-option value="不足24小时出入量" label="不足24小时出入量"/>
+                                </el-select>
+                                量<el-input v-model="formData.col2Am" clearable style="width: 90px"/>
+                                <el-checkbox v-model="checkboxData.outZongJie24">24小时总结</el-checkbox>
+                                <el-button size="small"  @click="inputOutSum(2)">出量求和</el-button>
+                            </el-col>
+                        </el-row>
+                        <div class="row-title-sty">检测项目</div>
+                        <el-row :gutter="5">
+                            <el-col>
+                                SpO2<el-input v-model="formData.spo2" clearable style="width: 80px"/>
+                                GVP<el-input v-model="formData.cvp" clearable style="width: 80px"/>
+                                ETCO2<el-input v-model="formData.etcho2" clearable style="width: 80px"/>
+                                GCS<el-input v-model="formData.gcs" clearable style="width: 80px"/>
+                                RASS<el-input v-model="formData.rass" clearable style="width: 80px"/>
+                                血糖<el-input v-model="formData.glu" clearable style="width: 80px"/>
+                                其他<el-input v-model="formData.othJc" clearable style="width: 80px"/>
+                            </el-col>
+                        </el-row>
+                    </div>
+
+
+                    <div class="row-title-sty">病情观察、护理措施及效果</div>
+                         <el-row v-if="props.nursingRecordData.hldType =='6'">
+                             <el-col>
+                                 体位<el-input v-model="formData.position" clearable style="width: 80px"/>
+                                 <el-checkbox v-model="checkboxData.isSputum">吸痰</el-checkbox>
+                                 <el-checkbox v-model="checkboxData.isAtomization">雾化</el-checkbox>
+                                 <el-checkbox v-model="checkboxData.isBreath">气道护理</el-checkbox>
+                                 <el-checkbox v-model="checkboxData.isMouthpiece">口腔护理</el-checkbox>
+                                 <el-checkbox v-model="checkboxData.isHuiyin">会阴护理</el-checkbox>
+                                 <el-checkbox v-model="checkboxData.isBed">床上擦浴</el-checkbox>
+                                 <el-checkbox v-model="checkboxData.isAV">A-V护理</el-checkbox>
+                             </el-col>
+                         </el-row>
+                        <div style="width: 100%;text-align: right">
+                            <el-button size="small"  @click="saveOtherInfoModel">存模板</el-button>
+                            <el-button size="small"  @click="openOtherInfoModel">取模板</el-button>
+                        </div>
+                    <el-row>
+                        <el-input :rows="4" style="width: 98%" type="textarea"
+                                  v-model="formData.otherInfo"/>
+                    </el-row>
+
+                    <el-row>
+                        <div style="margin-bottom: 20px">
+                            过敏信息填写
+                        <el-button  type="primary" @click="onAdd">+</el-button>
+                        <el-button  type="primary" @click="onReduce">-</el-button>
+                        </div>
+                        <div style="width: 100%">
+                            <el-input v-for="(item,i) of formData.gmItems" v-model="formData.gmItems[i]" :key="i" clearable style="width: 150px"  placeholder=""></el-input>
+                        </div>
+                    </el-row>
+                </el-tab-pane>
+                <el-tab-pane label="医嘱" name="second">
+                    <YzTable :patientInfo="nursingRecordData">
+                    </YzTable>
+                </el-tab-pane>
+
+            </el-tabs>
+        </el-main>
+    </el-container>
+    <el-dialog v-model="hlmbFlag"  title="护理模板" destroy-on-close="true"   style="width:60%;height: 80%">
+        <el-container>
+            <el-header>
+                <div style="width:100%;text-align: right;">
+                <el-button size="small" type="success" @click="delhlmb">删除</el-button>
+                <el-button size="small" type="success" @click="queRenHlmb">确认</el-button>
+                <el-button size="small" type="success" @click="hlmbFlag=false">退出</el-button>
+                </div>
+            </el-header>
+            <el-container>
+                <el-aside>
+                    <el-table :height="588" highlight-current-row :data="hlmbData" @row-click="selectOneHlmb">
+                        <el-table-column property="hlName" label="模板名称" width="240" />
+                        <el-table-column property="opName" label="创建人" width="80" />
+                    </el-table>
+                </el-aside>
+                <el-main>
+                    <el-input :rows="6" style="width: 98%" type="textarea" :disabled="true"
+                              v-model="hlmbText"/>
+                </el-main>
+            </el-container>
+        </el-container>
+
+    </el-dialog>
+
+</template>
+
+<script setup name='firstHuLiDan'>
+import {onMounted,computed,ref} from "vue"
+import {stringNotBlank} from "@/utils/blank-utils"
+import { getFormatDatetime } from "@/utils/date"
+import {getAllWards} from "@/api/zhu-yuan-yi-sheng/resident-doctor";
+import {queryNursingRecord,queryOrderTime,queyGm,deleteYzTemperature,saveYzTemperature,
+    queryScdYzTemperature,calInputOutSum,queryyzHlMb,saveHlMb,delHlMb
+} from "@/api/medical-advice/nursing-manage";
+import {ElMessageBox,ElMessage} from "element-plus";
+import YzTable from "@/components/medical-advice/YzTable";
+import {getEmrUrl,getInEmrUrl,emrStateEnum} from '@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init';
+//刷新
+const emit = defineEmits(['refreshHuLidan','closeHld']);
+
+const props = defineProps({
+    nursingRecordData: {
+        type: Object,
+        default:{}
+    },
+
+})
+
+
+const checkboxData = ref({
+    isEyes:false,
+    isMouthpiece:false,
+    bellybuttonFlag:false,
+    buttocksFlag:false,
+    showerFlag:false,
+    spongeBathFlag:false,
+
+    isSputum:false,
+    isAtomization:false,
+    isBreath:false,
+    isMouthpiece:false,
+    isHuiyin:false,
+    isBed:false,
+    isAV:false,
+
+
+    inZongJie24:false,
+    outZongJie24:false,
+})
+
+
+const formData = ref({
+    inpatientNo:'',
+    admissTimes:null,
+    toStringRecDate:getFormatDatetime(new Date(),'YYYY-MM-DD'),
+    recTime:'',
+    faceColour:'',
+    patientState:'',
+    temperature1:'',
+    temperature1Type:'x',
+    breath:'',
+    skinColour:'',
+    skinStatus:'',
+    intakeBreastMilk:null,
+    intakeMilk:null,
+    intakeWater:null,
+    urineQuan:null,
+    shit:null,
+    heart:null,
+    bodyWeight:null,
+    pulse1:null,
+    breathe1:null,
+    pressure1Am:null,
+    pressure1Pm:null,
+    map:null,
+    spo2:null,
+    cvp:null,
+    etcho2:null,
+    gcs:null,
+    rass:null,
+    othJc:null,
+    mind:'',
+    position:'',
+    pupilr:'',
+    pupil:'',
+    pupilbj:'',
+    rpupil:'',
+    lpupil:'',
+    outputDblood:null,
+    outputOther:null,
+    fheartSoundStr:'',
+    fheartSound:'',
+    fetalBreak:'',
+    uterineOpen:'',
+    uterineStatus:'',
+    outBlood:'',
+    redHurt:'',
+    col1Name:'',
+    col1Am:null,
+    col2Name:'',
+    col2Am:null,
+    urineColor:'',
+    shitShape:'',
+    skin:'',
+    tubesName:'',
+    tubesStatus:'',
+    anusAir:'',
+    suckleFun:'',
+    uterineHigh:'',
+    uterineMove:'',
+    otherInfo:'',
+    glu:null,
+    shitUnit:'',
+    shitOther:'',
+    shitQuan:'',
+    urineQuanAm:'',
+    ward:'',
+
+    boxTemp:'',
+    boxHumi:'',
+    decubitus:'',
+    isEyes:null,
+    isMouthpiece:null,
+    bellybuttonFlag:null,
+    buttocksFlag:null,
+    showerFlag:null,
+    spongeBathFlag:null,
+    infoCry:'',
+    infoSuck:'',
+    infoSleep:'',
+    infoActivity:'',
+    acraStatus:'',
+    isSputum:null,
+    isAtomization:null,
+    isBreath:null,
+    isMouthpiece:null,
+    isHuiyin:null,
+    isBed:null,
+    isAV:null,
+    intakeFlag:null,
+    outtakeFlag:null,
+    inputOutSum:null,
+
+
+    gmItems:[]
+})
+
+const temperatureType=ref('x')
+
+const isMouthpiece = ref(false)
+//保存体温类型
+const saveType = ()=>{
+
+}
+//关闭窗口
+const closeHld =()=>{
+    emit('closeHld')
+}
+
+//保存护理单
+const saveHuLiDan=(val)=>{
+    setFormData(formData.value)
+    saveYzTemperature(formData.value).then((res)=>{
+        if(val != 1){
+            //保存
+            emit('refreshHuLidan')
+        }
+    })
+}
+
+//跳转电子病历
+const queryDianZiBinLi=()=>{
+    window.open(getEmrUrl(formData.value.inpatientNo,formData.value.admissTimes,emrStateEnum.在院只读),'_blank')
+}
+
+
+
+
+
+
+const setFormData=(val)=>{
+    formData.value.recTime =getFormatDatetime(formData.value.recTime,'YYYY-MM-DD HH:mm:ss')
+    if(checkboxData.value.isEyes){
+        formData.value.isEyes=1
+    }
+    if(checkboxData.value.isMouthpiece){
+        formData.value.isMouthpiece=1
+    }
+    if(checkboxData.value.bellybuttonFlag){
+        formData.value.bellybuttonFlag=1
+    }
+    if(checkboxData.value.buttocksFlag){
+        formData.value.buttocksFlag=1
+    }
+    if(checkboxData.value.showerFlag){
+        formData.value.showerFlag=1
+    }
+    if(checkboxData.value.spongeBathFlag){
+        formData.value.spongeBathFlag=1
+    }
+
+    if(checkboxData.value.isSputum){
+        formData.value.isSputum=1
+    }
+    if(checkboxData.value.isAtomization){
+        formData.value.isAtomization=1
+    }
+    if(checkboxData.value.isBreath){
+        formData.value.isBreath=1
+    }
+    if(checkboxData.value.isMouthpiece){
+        formData.value.isMouthpiece=1
+    }
+    if(checkboxData.value.isHuiyin){
+        formData.value.isHuiyin=1
+    }
+    if(checkboxData.value.isBed){
+        formData.value.isBed=1
+    }
+    if(checkboxData.value.isAV){
+        formData.value.isAV=1
+    }
+
+    if(checkboxData.value.inZongJie24){
+        formData.value.intakeFlag='1'
+    }
+    if(checkboxData.value.outZongJie24){
+        formData.value.outtakeFlag='1'
+    }
+
+}
+
+//获取三测单信息
+const  queryScd = ()=>{
+    setFormData(formData.value)
+    queryScdYzTemperature(formData.value).then((res)=>{
+        formData.value.temperature1 = res.temperature1
+        formData.value.pulse1 = res.pulse1
+        formData.value.breathe1 = res.breathe1
+        formData.value.heart = res.heart
+        formData.value.pressure1Am = res.pressure1Am
+        formData.value.pressure1Pm = res.pressure1Pm
+    })
+}
+
+//入出量求和 1入量 2出量
+const inputOutSum=(type)=>{
+    setFormData(formData.value)
+    formData.value['inputOutSum']=type
+    calInputOutSum(formData.value).then((res)=>{
+        console.log('res.col2Am',res.col2Am)
+        console.log('props.nursingRecordData.hldType',props.nursingRecordData.hldType)
+        if(type==1){
+            formData.value.col1Am = res.col1Am
+        }else {
+            if(props.nursingRecordData.hldType=='1' || props.nursingRecordData.hldType=='5' || props.nursingRecordData.hldType=='6'){
+                formData.value.col2Am = res.col2Am
+            }else if(props.nursingRecordData.hldType=='2'){
+                formData.value.urineQuanAm =res.urineQuanAm
+            }else if(props.nursingRecordData.hldType=='3'){
+                formData.value.urineQuanAm =res.urineQuanAm
+                formData.value.outputDblood =res.outputDblood
+                formData.value.outputOther =res.outputOther
+            }
+        }
+    })
+}
+
+//存模板
+const saveOtherInfoModel=()=>{
+    ElMessageBox.prompt('请输入模板标题', '标题', {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+    })
+        .then(({ value }) => {
+            if(stringNotBlank(value)){
+                let params = {
+                    hlName:value,
+                    hlText:formData.value.otherInfo,
+                    deptCode:formData.value.ward
+                }
+                saveHlMb(params).then((res)=>{
+                })
+            }else {
+                ElMessage.error('模板标题不能为空')
+            }
+        })
+        .catch(() => {
+
+        })
+}
+
+
+
+
+//护理模板
+const hlmbFlag = ref(false)
+//取魔板
+const openOtherInfoModel = ()=>{
+    hlmbText.value = ''
+    let params = {
+        deptCode:formData.value.ward
+    }
+    queryyzHlMb(params).then((res)=>{
+        hlmbData.value =res
+        hlmbFlag.value = true
+    })
+}
+
+const selectionHlmb = ref({})
+//选中一条护理魔板
+const selectOneHlmb = (row)=>{
+    selectionHlmb.value = row
+    hlmbText.value = row.hlText
+}
+//确认选中模板
+const  queRenHlmb=()=>{
+    formData.value.otherInfo =hlmbText.value
+    hlmbFlag.value = false
+}
+
+
+//删除护理模板
+const delhlmb =()=>{
+    let param = []
+    param.push(selectionHlmb.value)
+    delHlMb(param).then((res)=>{
+        openOtherInfoModel()
+    })
+}
+
+
+const  hlmbData = ref([]);
+
+const hlmbText = ref('')
+
+
+
+const activeName = ref('first')
+
+
+
+const onAdd = ()=>{
+    formData.value.gmItems.push('')
+}
+
+const onReduce = ()=>{
+    formData.value.gmItems.pop()
+}
+
+onMounted(()=>{
+    console.log('props.value',props)
+
+    if(props.nursingRecordData.detailNo){
+        formData.value = props.nursingRecordData
+        setCheckBoxData(props.nursingRecordData)
+    }else {
+        formData.value.inpatientNo =  props.nursingRecordData.inpatientNo
+        formData.value.admissTimes =  props.nursingRecordData.admissTimes
+        formData.value.ward =  props.nursingRecordData.ward
+    }
+    queyGm(formData.value).then((res) => {
+        formData.value.gmItems = res
+    })
+
+})
+
+
+const setCheckBoxData=(val)=>{
+
+  checkboxData.value.isEyes = (val.isEyes==1)
+  checkboxData.value.isMouthpiece = (val.isMouthpiece==1)
+  checkboxData.value.bellybuttonFlag = (val.bellybuttonFlag==1)
+  checkboxData.value.buttocksFlag = (val.buttocksFlag==1)
+  checkboxData.value.showerFlag = (val.showerFlag==1)
+  checkboxData.value.spongeBathFlag = (val.spongeBathFlag==1)
+
+  checkboxData.value.isSputum = (val.isSputum==1)
+  checkboxData.value.isAtomization = (val.isAtomization==1)
+  checkboxData.value.isBreath = (val.isBreath==1)
+  checkboxData.value.isMouthpiece = (val.isMouthpiece==1)
+  checkboxData.value.isHuiyin = (val.isHuiyin==1)
+  checkboxData.value.isBed = (val.isBed==1)
+  checkboxData.value.isAV = (val.isAV==1)
+
+  checkboxData.value.inZongJie24 =  (val.intakeFlag=='1')
+  checkboxData.value.outZongJie24 =  (val.outtakeFlag=='1')
+
+}
+
+</script>
+
+<style scoped>
+.el-row {
+    margin-bottom: 20px;
+
+}
+/*.el-col{*/
+/*    padding-left: 15px;*/
+/*}*/
+.row-title-sty {
+    text-align: center;
+    width: 100%;font-size: 18px;
+    color: #1294fb;
+    border-top: 1px solid black;
+    margin-bottom: 10px;
+}
+
+</style>

+ 706 - 0
src/views/medical-advice/nursing-manage/NursingRecord.vue

@@ -0,0 +1,706 @@
+<template>
+    <el-container>
+        <el-aside width="280px">
+          <PatientBaseList  @selectPatientInfo="selectPatientInfo"></PatientBaseList>
+        </el-aside>
+        <el-container>
+            <el-header style="height: 200px">
+                <PatientInfo :patientInfo="patientInfo"></PatientInfo>
+            </el-header>
+            <div>
+                <div style="width: 100%;height: 30px;padding-left: 10px;" >
+                    <el-button icon="Search" type="primary" @click="queryInfo">查询</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>
+                    <el-button icon="Search" type="primary" @click="bingAnShouYe">病案首页信息</el-button>
+                </div>
+                <div style="width: 100%;height: 70px;padding-left: 10px; ">
+                    <div style="float: left;margin-right: 10px;padding-top: 15px">
+                        录入日期:
+                        <el-date-picker
+                                v-model="queryParam.recDateStr"
+                                type="date"
+                                size="small"
+                                :clearable="clearable"
+                                format="YYYY-MM-DD" value-format="YYYY-MM-DD"
+                        ></el-date-picker>
+                            <el-select v-model="queryParam.type" style="width: 100px;" @change="selectTongKong" size="small">
+                                <el-option
+                                        key="0"
+                                        label="普通"
+                                        value="0"
+                                />
+                                <el-option
+                                        key="1"
+                                        label="瞳孔"
+                                        value="1"
+                                />
+                            </el-select>
+                            护理单类型:
+                            <el-select  filterable v-model="queryParam.hldType" style="width: 200px;" size="small" @change="selectHlType">
+                                <el-option v-for="item in hldTypeList" :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>
+            <el-main>
+            <div id="cqYz">
+                <h1 style="text-align: center;">{{hldTableTitle}}</h1>
+                <div style="height: 60px;margin-bottom: 2px;">
+                    <div  style="float: left;width: 58%;padding-top: 20px;">
+                                    <ul class="nav" >
+                                        <li>姓名:{{patientInfo.name}}</li>
+                                        <li>科室:{{patientInfo.admissWardName}}</li>
+                                        <li>床号:{{patientInfo.bedNo}}</li>
+                                        <li>住院病历号: {{patientInfo.inpatientNo}}</li>
+                                        <li>入院时间:{{getFormatDatetime(patientInfo.admissDate,'yyyy-MM-DD')}}</li>
+                                    </ul>
+                    </div>
+                    <div style="float: right;width: 35%;height:38px; margin-top: 10px;">
+                        {{titleNameTiShi}}
+                    </div>
+                </div>
+                    <div style="width: 100%;height: 400px;margin-bottom: 20px" >
+                        <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="380"   :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="patientState" label="病情" width="25" />
+                            <el-table-column  label="体温" width="40" >
+                                <el-table-column prop="temperature1Str" label="℃" width="55" />
+                            </el-table-column>
+                            <el-table-column  label="次/min">
+                            <el-table-column prop="heart" label="心率" width="40" />
+                            <el-table-column prop="pulse1" label="脉搏" width="40" />
+                            </el-table-column>
+                            <el-table-column prop="breathe1" label="呼吸" width="40" />
+                            <el-table-column  label="血压"  >
+                                <el-table-column prop="pressureAmPm" label="mmHg" width="50" />
+                            </el-table-column>
+                            <el-table-column  label="SpO2"  >
+                                <el-table-column prop="spo2" label="%" width="50" />
+                            </el-table-column>
+                            <el-table-column v-if="queryParam.hldType=='5'"  prop="mind"  label="神志" width="50"  />
+                            <el-table-column v-else  prop="mind"  label="意识" width="50"  />
+                            <el-table-column  label="瞳孔" v-if="tongKongFlag && queryParam.hldType !='5'" width="50"  >
+                                <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}}
+                                            </span>
+                                </template>
+                            </el-table-column>
+                            <el-table-column v-if="queryParam.hldType=='5'"  label="阴道流血">
+                                <el-table-column prop="outputDblood" label="ml" width="40" >
+                                    <template #default="scope">
+                                        {{getOutputDbloodName(scope.row.outputDblood)}}
+                                    </template>
+                                </el-table-column>
+                            </el-table-column>
+                            <el-table-column  label="入量">
+                                <el-table-column prop="col1Name" label="名称" width="90" />
+                                <el-table-column prop="col1Am" label="ml" width="30" />
+                            </el-table-column>
+                            <el-table-column  label="出量"  >
+                                <el-table-column prop="col2Name" label="名称" width="80" />
+                                <el-table-column prop="col2Am" label="ml"  width="30" />
+                                <el-table-column  prop="urineColor" label="颜色"  width="40" />
+                                <el-table-column  prop="shitShape" label="性状"  width="40" />
+                            </el-table-column>
+                            <el-table-column  prop="skin"  label="皮肤情况" width="60" >
+                            </el-table-column>
+                            <el-table-column  label="管道">
+                                <el-table-column prop="tubesName" label="名称" width="80" />
+                                <el-table-column prop="tubesStatus" label="情况" width="40" />
+                            </el-table-column>
+                            <el-table-column v-if="queryParam.hldType=='1'"  prop="glu"  label="血糖" width="40" />
+                            <el-table-column  prop="otherInfo"  label="病情观察、护理措施及效果" width="280" class-name="text-left" >
+                            </el-table-column>
+                            <el-table-column  prop="useridName"  label="护士签名" width="55" >
+                            </el-table-column>
+                        </el-table>
+
+                        <el-table v-if="queryParam.hldType=='2'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
+                                  height="380" @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="boxTemp" label="箱(室)温" width="40" />
+                            <el-table-column prop="boxHumi" label="湿度" width="25" />
+                            <el-table-column prop="temperature1Str" label="T" width="35" />
+                            <el-table-column prop="urineQuanAm" label="HR" width="25" />
+                            <el-table-column prop="breathe1" label="R" width="25" />
+                            <el-table-column prop="pressureAmPm" label="BP" width="50" />
+                            <el-table-column prop="spo2" label="Spo2" width="25" />
+
+                            <el-table-column  label="入量(ml)">
+                                <el-table-column prop="col1Name" label="项目" width="75" />
+                                <el-table-column prop="col1Am" label="量" width="30" />
+                            </el-table-column>
+                            <el-table-column  label="出量(ml)"  >
+                                <el-table-column prop="col2Name" label="项目" width="75" />
+                                <el-table-column prop="urineQuanAm" label="量"  width="40" />
+                                <el-table-column  prop="urineColor" label="色"  width="40" />
+                                <el-table-column prop="shitOther" label="项目" width="70" />
+                                <el-table-column prop="shitQuan" label="次" width="30" />
+                                <el-table-column  prop="shitShape" label="性状"  width="40" />
+                            </el-table-column>
+                            <el-table-column  label="护理">
+                                <el-table-column prop="isEyes" label="眼" width="25" >
+                                    <template #default="scope">
+                                       {{isForXuanZhong(scope.row.isEyes)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isMouthpiece" label="口" width="25" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isMouthpiece)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="bellybuttonFlag" label="脐" width="25" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.bellybuttonFlag)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="buttocksFlag" label="臀" width="25" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.buttocksFlag)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="showerFlag" label="沐浴" width="25" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.showerFlag)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="spongeBathFlag" label="擦澡" width="25" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.spongeBathFlag)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="decubitus" label="体位" width="25" >
+                                </el-table-column>
+                            </el-table-column>
+                            <el-table-column  label="病情观察"  >
+                                <el-table-column prop="skin" label="皮肤" width="40" />
+                                <el-table-column prop="infoCry" label="哭声"  width="25" />
+                                <el-table-column  prop="infoSuck" label="吸吮"  width="25" />
+                                <el-table-column prop="infoSleep" label="睡眠" width="25" />
+                                <el-table-column prop="infoActivity" label="自主活动" width="25" />
+                                <el-table-column  prop="acraStatus" label="肢端"  width="25" />
+                            </el-table-column>
+                            <el-table-column  prop="otherInfo"  label="病情观察、护理措施及效果" class-name="text-left" >
+                            </el-table-column>
+                            <el-table-column  prop="useridName"  label="护士签名" width="50" >
+                            </el-table-column>
+                        </el-table>
+
+                        <el-table v-if="queryParam.hldType=='3'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
+                                  height="380"  @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"  />
+                            <el-table-column  label="生命体征" >
+                                <el-table-column prop="temperature1Str" label="体温" width="40" />
+                                <el-table-column prop="pulse1" label="脉搏" width="40" />
+                                <el-table-column prop="breathe1" label="呼吸" width="40" />
+                                <el-table-column prop="pressureAmPm" label="血压" width="50" />
+                            </el-table-column>
+                            <el-table-column prop="spo2" label="Spo2" width="40" />
+                            <el-table-column  label="入量(ml)">
+                                <el-table-column prop="col1Name" label="项目" width="75" />
+                                <el-table-column prop="col1Am" label="量" width="30" />
+                            </el-table-column>
+                            <el-table-column  label="出量(ml)"  >
+                                <el-table-column prop="outputDblood" label="阴道流血" width="40" >
+                                    <template #default="scope">
+                                        {{getOutputDbloodName(scope.row.outputDblood)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="urineQuanAm" label="尿液"  width="40" />
+                                <el-table-column  prop="outputOther" label="其他"  width="40" />
+                            </el-table-column>
+                            <el-table-column  label="各种管道">
+                                <el-table-column prop="tubesName" label="名称" width="75" />
+                                <el-table-column prop="tubesStatus" label="情况" width="35" />
+                            </el-table-column>
+                            <el-table-column  prop="fheartSoundStr"  label="胎心音(次/min)" width="50" >
+                                <template #default="scope">
+                                    {{scope.row.fheartSoundStr}} {{scope.row.fheartSound}}
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="fetalBreak" label="胎膜破否" width="35" >
+                                <template #default="scope">
+                                    {{taimopofor(scope.row.fetalBreak)}}
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="uterineOpen" label="宫口开大(cm)" width="35" />
+                            <el-table-column prop="uterineStatus" label="宫缩状况(秒/分)" width="40" />
+                            <el-table-column prop="uterineHigh" label="宫底高度脐下(指)" width="35" />
+                            <el-table-column prop="uterineMove" label="子宫收缩状态" width="35" />
+
+                            <el-table-column label="伤口">
+                                <el-table-column prop="outBlood" label="渗血" width="35" />
+                                <el-table-column prop="redHurt" label="红肿" width="35" />
+                            </el-table-column>
+                            <el-table-column prop="anusAir" label="肛门排气" width="35" />
+                            <el-table-column prop="suckleFun" label="喂哺技巧知道" width="45" />
+                            <el-table-column  prop="otherInfo"  label="病情观察、护理措施及效果" class-name="text-left" >
+                            </el-table-column>
+                            <el-table-column  prop="useridName"  label="护士签名" width="50" >
+                            </el-table-column>
+                        </el-table>
+
+                        <el-table v-if="queryParam.hldType=='4'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
+                                  height="380"  @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="faceColour"  label="面色" width="40"  />
+                            <el-table-column  label="体温" >
+                                <el-table-column prop="temperature1Str" label="℃" width="40" />
+                            </el-table-column>
+                            <el-table-column prop="breath" label="呼吸状况" width="40" />
+                            <el-table-column prop="bodyWeight" label="体重(kg)" width="40" />
+                            <el-table-column  label="皮肤">
+                                <el-table-column prop="skinColour" label="颜色" width="35" />
+                                <el-table-column prop="skinStatus" label="状况" width="35" />
+                            </el-table-column>
+                            <el-table-column  label="脐部情况">
+                                <el-table-column prop="outBlood" label="渗血" width="35" />
+                                <el-table-column prop="redHurt" label="红肿" width="35" />
+                            </el-table-column>
+                            <el-table-column  label="喂养情况">
+                                <el-table-column prop="intakeBreastMilk" label="母乳(次数)" width="65" />
+                                <el-table-column prop="intakeMilk" label="配方奶(ml)" width="70" />
+                                <el-table-column prop="intakeWater" label="糖水(ml)" width="55" />
+                            </el-table-column>
+                            <el-table-column prop="shit" label="大便次数" width="40" />
+                            <el-table-column prop="urineQuan" label="小便次数"  width="40" />
+                            <el-table-column prop="spo2" label="Spo2" width="40" />
+                            <el-table-column  prop="glu"  label="血糖" width="40" />
+                            <el-table-column  prop="otherInfo"  label="病情观察、护理措施及效果" class-name="text-left"  >
+                            </el-table-column>
+                            <el-table-column  prop="useridName"  label="护士签名" width="50" >
+                            </el-table-column>
+                        </el-table>
+
+                        <el-table v-if="queryParam.hldType=='6'" :data="hldDataList" highlight-current-row stripe border :header-cell-style="{'text-align':'center'}"
+                                  height="380" @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="体温" >
+                                <el-table-column prop="temperature1Str" label="℃" width="40" />
+                            </el-table-column>
+                            <el-table-column  label="生命体征" >
+                                <el-table-column label="体温" >
+                                    <el-table-column prop="temperature1Str" label="℃" width="40" />
+                                </el-table-column>
+                                <el-table-column label="次/min" >
+                                    <el-table-column prop="heart" label="心率" width="40" />
+                                    <el-table-column prop="breathe1" label="呼吸" width="40" />
+                                </el-table-column>
+                                <el-table-column label="mmHg">
+                                    <el-table-column prop="pressureAmPm" label="血压" width="50" />
+                                    <el-table-column prop="map" label="MAP" width="40" />
+                                </el-table-column>
+                                <el-table-column   prop="mind"  label="神志" width="50"  />
+                                <el-table-column label="瞳孔">
+                                    <el-table-column prop="pupil" label="mm" 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}}
+                                            </span>
+                                        </template>
+                                    </el-table-column>
+                                </el-table-column>
+                            </el-table-column>
+                            <el-table-column  label="入量">
+                                <el-table-column  label="项目" width="90" >
+                                    <el-table-column prop="col1Name" label="ml.g" width="30" />
+                                </el-table-column>
+                                <el-table-column  label="量" width="90" >
+                                    <el-table-column prop="col1Am" label="ml" width="30" />
+                                </el-table-column>
+                            </el-table-column>
+                            <el-table-column  label="出量"  >
+                                <el-table-column prop="col2Name" label="项目"  width="50" />
+                                <el-table-column label="量"  width="30" >
+                                    <el-table-column  prop="col2Am" label="ml"  width="40" />
+                                </el-table-column>
+                            </el-table-column>
+                            <el-table-column  label="监测项目" >
+                                <el-table-column prop="spo2" label="Spo2" width="40" />
+                                <el-table-column prop="cvp" label="CVP" width="40" />
+                                <el-table-column prop="etcho2" label="ETCO2" width="40" />
+                                <el-table-column prop="gcs" label="GCS" width="40" />
+                                <el-table-column prop="rass" label="RASS" width="40" />
+                                <el-table-column prop="glu"  label="血糖" width="40" />
+                                <el-table-column prop="othJc"  label="其他" width="40" />
+                            </el-table-column>
+                            <el-table-column   label="病情观察、护理措施及效果"  >
+                                <el-table-column prop="position" label="体位" width="30" />
+                                <el-table-column prop="isSputum" label="吸痰" width="30" >
+                                    <template #default="scope">
+                                           {{isForXuanZhong(scope.row.isSputum)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isAtomization" label="雾化" width="30" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isAtomization)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isBreath" label="气道护理" width="30" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isBreath)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isMouthpiece" label="口腔护理" width="30" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isMouthpiece)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isHuiyin" label="会阴护理" width="30" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isHuiyin)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isBed" label="床上擦浴" width="30" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isBed)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="isAV" label="A-V护理" width="35" >
+                                    <template #default="scope">
+                                        {{isForXuanZhong(scope.row.isAV)}}
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="otherInfo" label="其他" class-name="text-left" />
+                            </el-table-column>
+                            <el-table-column  prop="useridName"  label="护士签名" width="50" >
+                            </el-table-column>
+                        </el-table>
+                    </div>
+            </div>
+        </el-main>
+        </el-container>
+    </el-container>
+    <el-dialog v-model="hulidanDialogFlag"  title="编辑护理记录" destroy-on-close="true"   style="width:60%;height: 95%">
+        <FirstHuLiDan @refreshHuLidan="refreshHuLidan" :nursingRecordData="nursingRecordData" @closeHld="closeHld" ></FirstHuLiDan>
+    </el-dialog>
+</template>
+
+<script setup name='nursingRecord'>
+import PatientInfo from "@/components/medical-advice/PatientInfo.vue"
+import FirstHuLiDan from "@/components/medical-advice/nursing-manage/FirstHuLiDan.vue"
+import PatientBaseList from "@/components/medical-advice/PatientBaseList.vue"
+import {getLodop, initLodop} from '@/utils/c-lodop'
+import {onMounted,computed,ref} from "vue"
+import {stringNotBlank} from "@/utils/blank-utils"
+import { getFormatDatetime } from "@/utils/date"
+import {getAllWards} from "@/api/zhu-yuan-yi-sheng/resident-doctor";
+import {queryNursingRecord,queryOrderTime,queyGm,deleteYzTemperature} from "@/api/medical-advice/nursing-manage";
+import {ElMessageBox,ElMessage} from "element-plus";
+import router from "@/router";
+import Sleep from "@/utils/sleep";
+const queryParam =ref({
+    recDateStr:getFormatDatetime(new Date(),'YYYY-MM-DD'),
+    orderStartTime:'',
+    orderEndTime:'',
+    hldType:'1',
+    type:'0',
+    ward:'',
+    bedNo:'',
+})
+//护理单数据
+const hldDataList = ref([])
+
+const ward = ref([
+    {code:'8000002',name:'二病室'},
+    {code:'8000003',name:'三病室'},
+    ])
+const hldTypeList = ref([
+    {code:'1',name:'普通护理单'},
+    {code:'2',name:'新生儿护理单'},
+    {code:'3',name:'产科护理单'},
+    {code:'4',name:'产科新生儿护理单'},
+    {code:'5',name:'妇科护理单'},
+    {code:'6',name:'重症监护护理单'},
+    ])
+
+// 基本信息
+const patientInfo = ref({})
+const orderTimeList = ref([])
+const hldTableTitle = computed(() => {
+    for (let i = 0; i < huTypeNameList.value.length; i++) {
+        if(queryParam.value.hldType==(i+1)+''){
+             return  '长沙泰和医院' +huTypeNameList.value[i]
+        }
+    }
+    return ''
+})
+const huTypeNameList = ref([
+    '护理记录',
+    '新生儿患者护理记录',
+    '产科护理记录',
+    '产科(新生儿)护理记录',
+    '妇科护理记录',
+    '重症患者监护记录'
+])
+
+const columnShowFlag = ref({
+    urineColor:false ,
+    shitShape:false
+})
+
+const titleNameTiShiList =ref([
+    '注意:体温单位为℃,脉搏单位为"次/min",血压单位为"mmHg",Sp02单位为"%",体重单位为"kg",呼吸单位为"次/min",血糖单位"mmol/l"',
+    '注意:箱温、体温单位为"℃,心率、呼吸单位为"次/min",血压单位为"mmHg",湿度、血氧饱和和单位为"%"',
+    '注意:体温单位为℃,脉搏单位为"次/min",血压单位为"mmHg",Sp02单位为"%",体重单位为"kg"',
+    '注意:体温单位为℃,脉搏单位为"次/min",血压单位为"mmHg",Sp02单位为"%",体重单位为"kg",呼吸单位为"次/min"',
+    '注意:体温单位为℃,脉搏单位为"次/min",血压单位为"mmHg",Sp02单位为"%",体重单位为"kg",呼吸单位为"次/min",血糖单位"mmol/l",CV单位为"cmH2O",ETCO2单位"mmHg",GCS为Glasgow昏迷评分,单位为"分",RASS为镇静评分,单位为"分"'
+]);
+
+const titleNameTiShi = ref('注意:体温单位为℃,脉搏单位为"次/min",血压单位为"mmHg",Sp02单位为"%",体重单位为"kg",呼吸单位为"次/min",血糖单位"mmol/l"')
+
+const selectOneData = ref({})
+
+//编辑
+const dbClick = (row)=>{
+    nursingRecordData.value=row
+    nursingRecordData.value['hldType']=queryParam.value.hldType
+    hulidanDialogFlag.value =true
+    console.log('nursingRecordData.value',nursingRecordData.value)
+}
+
+const nursingRecordData=ref({})
+
+//选中一条
+const selectOne =(row)=>{
+    selectOneData.value = row
+}
+
+//删除
+const delInfo = ()=>{
+    if(!selectOneData.value.detailNo){
+       return ElMessage.error('请选择一条数据')
+    }
+    ElMessageBox.confirm('请确认是否删除', {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+    })
+        .then(() => {
+            deleteYzTemperature(selectOneData.value).then((res) => {
+                let index;
+                for (let i = 0; i < hldDataList.value.length; i++) {
+                    if(selectOneData.value.detailNo ==hldDataList.value[i].detailNo){
+                        index = i;
+                        break
+                    }
+                }
+                hldDataList.value.splice(index,1)
+            })
+        })
+        .catch(() => {
+        })
+}
+
+
+//病案首页
+const bingAnShouYe=() =>{
+   console.log('patientInfo.value',patientInfo.value)
+    router.push({
+        name: 'fillCaseFrontSheet',
+        query: {
+            patNo: patientInfo.value.inpatientNo,
+            deptCode: patientInfo.value.smallDept,
+        }
+    })
+}
+
+
+const hulidanDialogFlag=ref(false)
+//刷新护理单关闭窗口
+const refreshHuLidan =async ()=>{
+     queryInfo()
+    hulidanDialogFlag.value = false
+}
+
+const closeHld =()=>{
+    hulidanDialogFlag.value = false
+}
+
+
+//选择护理类型改变列
+const selectHlType = (val) =>{
+    if(val==='1' || val==='6'){
+        titleNameTiShi.value = titleNameTiShiList.value[0]
+    }else if(val==='2'){
+        titleNameTiShi.value = titleNameTiShiList.value[1]
+    }else if(val==='3' || val==='4'){
+        titleNameTiShi.value = titleNameTiShiList.value[2]
+    }else if(val==='5'){
+        titleNameTiShi.value = titleNameTiShiList.value[3]
+    }else if(val==='6'){
+        titleNameTiShi.value = titleNameTiShiList.value[4]
+    }
+}
+
+const getOutputDbloodName = (val) =>{
+    switch (val) {
+        case 0:
+            return '无'
+        case 1:
+            return '有'
+        default:
+            return ''
+    }
+}
+
+
+const tongKongFlag = ref(false)
+
+const selectTongKong = (val) =>{
+    if(val==='0'){
+        tongKongFlag.value = false
+    }else {
+        tongKongFlag.value = true
+    }
+}
+
+const companyFunc = (val, company) => {
+    if (stringNotBlank(val)) {
+        return val + company
+    } else {
+        return ''
+    }
+}
+
+const isForXuanZhong = (val) => {
+    if (stringNotBlank(val) && (val == '1' || val==1)) {
+        return "√"
+    }
+    else  {
+        return ''
+    }
+}
+
+const taimopofor = (val) => {
+    if (stringNotBlank(val) && val == '1') {
+        return "已"
+    } else if (stringNotBlank(val) && val == '0') {
+        return "未"
+    }
+    else {
+        return ''
+    }
+}
+
+
+
+//新增
+const addHlInfo = () =>{
+    if(patientInfo.value.inpatientNo){
+            nursingRecordData.value={}
+            nursingRecordData.value['inpatientNo']=patientInfo.value.inpatientNo
+            nursingRecordData.value['admissTimes']=patientInfo.value.admissTimes
+            nursingRecordData.value['ward']=patientInfo.value.admissWard
+            nursingRecordData.value['hldType']=queryParam.value.hldType
+            hulidanDialogFlag.value =true
+          console.log('nursingRecordData.value',nursingRecordData.value)
+    }else {
+        return ElMessage.error('请选择一个病人')
+    }
+
+
+}
+
+
+
+
+const yzPrintCss=`
+*{font-size:12px !important; margin: 0;
+            padding: 0;} .nav{margin: 0 auto;width: 100%;}ul{list-style: none;width: 100%;}.nav li{float: left;margin-left: 15px;}table{border:1px solid black;border-collapse:collapse;width:100%} th{border:1px solid black;text-align:center} td{border:1px solid black;text-align:center} tr{height:27px;line-height:27px} .text-left{text-align:left; line-height: 13px;}
+`
+
+const selectPatientInfo=(val)=>{
+    patientInfo.value =  val.patientInfo
+    queryInfo()
+}
+
+const queryInfo=()=>{
+    if(patientInfo.value.inpatientNo){
+        queryNursingRecord({inpatientNo:patientInfo.value.inpatientNo,admissTimes:patientInfo.value.admissTimes}).then((res) =>{
+            hldDataList.value = res
+        })
+    }else {
+        return ElMessage.error('请选择一个病人')
+    }
+
+
+}
+
+
+
+onMounted(() => {
+    initLodop()
+
+    getAllWards().then((res) =>{
+        ward.value = res
+    })
+
+})
+const daYingClick = () => {
+    let LODOP = getLodop()
+    LODOP.PRINT_INIT('护理记录') // 初始化打印机 名字
+    LODOP.SET_PRINT_PAGESIZE(2, 0, 0, 'A4')
+    LODOP.SET_PRINT_MODE('RESELECT_PRINTER', true)
+    LODOP.SET_PRINT_MODE('PRINT_PAGE_PERCENT', 'Full-Width')
+    LODOP.ADD_PRINT_HTM('10mm', '5mm', '280mm', '180mm', '<style>' + yzPrintCss + '</style>' + '<body>' + document.getElementById('cqYz').innerHTML + '</body>') //要打印的内容
+    LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1)
+    LODOP.ADD_PRINT_TEXT("185mm","200mm","150mm","5mm","以上确认并签名:______________________________");
+    LODOP.SET_PRINT_STYLEA(0,"PageIndex","Last");
+    LODOP.PREVIEW() // 关闭
+}
+
+
+</script>
+
+<style scoped>
+.nav{
+    margin: 0 auto;
+    width: 100%;
+}
+ul{
+    list-style: none;
+    width: 100%;
+}
+.nav li{
+    float: left;
+    margin-left: 15px;
+
+}
+#cqYz {
+    width: 100%;
+    padding: 0 0px;
+}
+
+.text-left{
+    text-align:left;
+    line-height: 13px;
+}
+/*.el-table {*/
+/*    border: 1px solid black;*/
+/*    margin: 0 auto;*/
+/*}*/
+/*::v-deep.el-table th {*/
+/*    border: 1px solid black !important;*/
+/*    !*border-right: none !important;*!*/
+/*}*/
+
+/*::v-deep.el-table td {*/
+/*    border: 1px solid black;*/
+/*    !*border-right: none !important;*!*/
+/*}*/
+
+</style>

+ 150 - 0
src/views/medical-advice/nursing-manage/PsInfo.vue

@@ -0,0 +1,150 @@
+<template>
+        <el-container>
+            <el-header>
+                床位范围:<el-select v-model="queryParam.startBedNo"
+                                :clearable="wardsClearable"
+                                style="width: 110px"
+            >
+                <el-option v-for="item in props.patintList"
+                           :key="item.bedNo"
+                           :label="item.bedNo"
+                           :value="item.bedNo">
+                    <span>{{ item.bedNo }}</span>
+                    <el-divider direction="vertical"></el-divider>
+                    <span>{{ item.inpatientNo }}</span>
+                    <el-divider direction="vertical"></el-divider>
+                    <span>{{ item.name }}</span>
+                </el-option>
+
+            </el-select>
+                至
+                <el-select v-model="queryParam.endBedNo"
+                           style="width: 110px"
+                >
+                    <el-option v-for="item in reverPatintList"
+                               :key="item.bedNo"
+                               :label="item.bedNo"
+                               :value="item.bedNo">
+                        <span>{{ item.bedNo }}</span>
+                        <el-divider direction="vertical"></el-divider>
+                        <span>{{ item.inpatientNo }}</span>
+                        <el-divider direction="vertical"></el-divider>
+                        <span>{{ item.name }}</span>
+                    </el-option>
+                </el-select>
+                执行时间:
+                <el-time-picker v-model="excuTime" style="width: 110px" format="HH:mm" value-format="HH:mm"   />
+                    <el-radio-group v-model="queryParam.confirmFlag">
+                        <el-radio label="0" size="small">未确认</el-radio>
+                        <el-radio label="1" size="small">已确认</el-radio>
+                    </el-radio-group>
+                <el-button icon="Search" type="primary" @click="queryInfo">查询</el-button>
+                <el-button type="success" @click="savePsInfo">保存</el-button>
+            </el-header>
+            <el-main>
+                <div style="width: 100%;height: 60%">
+                <el-table :data="psInfo"  highlight-current-row stripe border show-overflow-tooltip style="width: 100%;height: 100%">
+                    <el-table-column label="排序" type="index" width="40" />
+                    <el-table-column prop="bedNo" label="床号" width="40" />
+                    <el-table-column prop="inpatientNo" label="住院号"/>
+                    <el-table-column prop="name" label="病人姓名"/>
+                    <el-table-column prop="actOrderNo" label="医嘱号"/>
+                    <el-table-column prop="orderName" label="医嘱名称" min-width="120" />
+                    <el-table-column prop="orderTime" label="医嘱时间" min-width="125"/>
+                    <el-table-column prop="dose" label="剂量" width="40"/>
+                    <el-table-column prop="doseUnit" label="剂量单位" width="80"/>
+                    <el-table-column prop="supplyName" label="给药方式" min-width="100"/>
+                    <el-table-column prop="psStatus" label="皮试结果" min-width="140">
+                        <template #default="scope">
+                            <el-radio-group v-model="scope.row.psStatus">
+                                <el-radio label="0" size="small">阴性</el-radio>
+                                <el-radio label="1" size="small">阳性</el-radio>
+                            </el-radio-group>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="psOper" label="皮试执行人" min-width="140">
+                        <template #default="scope">
+                            <SelectStaffCode v-model="scope.row" :name="['psOper', 'psOperName']"></SelectStaffCode>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="psResultTime" label="皮试结果时间" min-width="150">
+                        <template #default="scope">
+                        <el-date-picker
+                                v-model="scope.row.psResultTime"
+                                type="datetime"
+                                format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
+                                style="width: 130px;"
+                        />
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="enterTime" label="录入时间" min-width="125"/>
+                </el-table>
+                </div>
+            </el-main>
+        </el-container>
+</template>
+<script setup name='PsInfo'>
+import {queryPsInfo,updatePsInfo,selectEmpInfo} from "@/api/medical-advice/nursing-manage";
+import { getFormatDatetime } from "@/utils/date";
+import {onMounted,computed} from "vue";
+import {stringNotBlank} from "@/utils/blank-utils";
+import {ElMessage, ElMessageBox} from 'element-plus'
+import SelectStaffCode from '@/components/SelectStaffCode.vue'
+
+const props = defineProps({
+    patintList: {
+        type: Array,
+        default:[]
+    },
+})
+
+const  queryInfo = ()=>{
+    queryPsInfo(queryParam.value).then((res)=>{
+        psInfo.value = res
+    })
+}
+
+const  savePsInfo = ()=>{
+    ElMessageBox.confirm('请确认是否保存', {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+    })
+        .then(() => {
+            updatePsInfo(psInfo.value).then((res)=>{
+            })
+        })
+        .catch(() => {
+        })
+}
+
+const psInfo = ref([])
+
+
+const reverPatintList = computed(() => reverseArray(props.patintList))
+
+
+function reverseArray(arr) {
+    let newArr = [];
+    arr.forEach(element => {
+        // unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
+        newArr.unshift(element);
+    });
+    return newArr;
+}
+const queryParam = ref({
+    startBedNo: '',
+    endBedNo: '',
+    confirmFlag:'0'
+})
+
+const excuTime = ref(getFormatDatetime(new Date(),'HH:mm'))
+
+
+
+
+onMounted(() => {
+    queryParam.value.startBedNo = props.patintList[0].bedNo ? props.patintList[0].bedNo:''
+    queryParam.value.endBedNo = reverPatintList.value[0].bedNo ? reverPatintList.value[0].bedNo : ''
+})
+
+</script>

+ 575 - 0
src/views/medical-advice/nursing-manage/ThreeTestList.vue

@@ -0,0 +1,575 @@
+<template>
+    <el-container>
+        <el-aside width="280px">
+          <PatientBaseList  :selectFlag="selectFlag" @allPatientList="selectAllPatientList"   @selectPatientInfo="selectPatientInfo" ></PatientBaseList>
+        </el-aside>
+        <el-container>
+            <el-header style="height: 10%">
+                录入日期
+                    <el-date-picker
+                            v-model="queryParam.recDateStr"
+                            type="date"
+                            size="small"
+                            :clearable="clearable"
+                            format="YYYY-MM-DD" value-format="YYYY-MM-DD"
+                    ></el-date-picker>
+                时间
+                <el-select v-model="queryParam.recTimeStr"  style="width: 100px">
+                    <el-option v-for="item in recTimeStrList" :key="item.code" :label="item.name" :value="item.code">
+                        <span>{{ item.name }}</span>
+                    </el-option>
+                </el-select>
+                <el-select v-model="queryParam.temperatureType"  style="width: 100px">
+                    <el-option v-for="item in temperatureTypeList" :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 type="success" @click="saveThreeTestInfo">保存</el-button>
+                <el-button icon="Search" type="primary" @click="openPsInfo">皮试信息</el-button>
+            </el-header>
+            <el-main>
+                    <el-tabs
+                            v-model="activeName"
+                            type="card"
+                            class="demo-tabs"
+                            @tab-click="handleClick"
+                    >
+                        <el-tab-pane label="图表数据" name="first">
+                            <div class="height670">
+                            <el-table :data="yzTemperatureVOS"  highlight-current-row stripe border show-overflow-tooltip   style="width: 100%;height: 100%">
+                                <el-table-column label="排序" type="index" width="40" />
+                                <el-table-column prop="recDateStr" label="日期"/>
+                                <el-table-column prop="inpatientNo" label="住院号"/>
+                                <el-table-column prop="admissTimes" label="住院次数" width="80"/>
+                                <el-table-column prop="name" label="病人姓名"/>
+                                <el-table-column prop="sex" label="性别" width="40"/>
+                                <el-table-column prop="bedNo" label="床号" width="40" />
+                                <el-table-column prop="toStringRecTime" label="时间"/>
+                                <el-table-column prop="temperatureType" label="类型" min-width="130">
+                                    <template #default="scope">
+                                        <el-select v-model="scope.row.temperatureType" style="width: 100px">
+                                            <el-option v-for="item in temperatureTypeList" :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>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="temperature" label="体温℃">
+                                    <template #default="scope">
+                                        <el-input v-model="scope.row.temperature"></el-input>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="physicalMethodFlag" label="降温">
+                                    <template #default="scope">
+                                        <span>x</span>
+                                        <el-switch v-model="scope.row.physicalMethodFlag" active-value="1" inactive-value="0"  style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" />
+                                        <span>√</span>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="temperatureCool" label="降温后">
+                                    <template #default="scope">
+                                        <el-input v-model="scope.row.temperatureCool"></el-input>
+                                    </template>
+                                </el-table-column>
+
+                                <el-table-column prop="breathe" label="呼吸">
+                                    <template #default="scope">
+                                        <el-input v-model="scope.row.breathe"></el-input>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="breatheMachine" label="呼吸机">
+                                    <template #default="scope">
+                                        <el-select v-model="scope.row.breatheMachine" style="width: 100px">
+                                            <el-option v-for="item in breatheMachineList" :key="item.code" :label="item.name" :value="item.code">
+
+                                            </el-option>
+                                        </el-select>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="pulse" label="脉搏">
+                                    <template #default="scope">
+                                        <el-input v-model="scope.row.pulse"></el-input>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="heart" label="心率">
+                                    <template #default="scope">
+                                        <el-input v-model="scope.row.heart"></el-input>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="scdSpecialtext" label="特殊标注"  min-width="100">
+                                    <template #default="scope">
+                                        <el-select v-model="scope.row.scdSpecialtext">
+                                            <el-option v-for="item in scdSpecialtextList" :key="item.code" :label="item.name" :value="item.code">
+
+                                            </el-option>
+                                        </el-select>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="specialtextTimeStr" label="标注时间"  min-width="130">
+                                    <template #default="scope">
+                                        <el-time-picker v-model="scope.row.specialtextTimeStr" style="width: 110px" format="HH:mm" value-format="HH:mm"   />
+                                    </template>
+                                </el-table-column>
+                                <el-table-column prop="userName" label="录入人"/>
+                                <el-table-column prop="painLvl" label="疼痛强度"  min-width="130">
+                                    <template #default="scope">
+                                        <el-select v-model="scope.row.painLvl" style="width: 100px">
+                                            <el-option v-for="item in painLvlList" :key="item.code" :label="item.name" :value="item.code">
+
+                                            </el-option>
+                                        </el-select>
+                                    </template>
+                                </el-table-column>
+                                <el-table-column label="操作">
+                                    <template #default="scope">
+                                        <el-button type="danger" @click="delYzTemperature(scope.row,scope.$index)">删除</el-button>
+                                    </template>
+                                </el-table-column>
+                            </el-table>
+                            </div>
+                        </el-tab-pane>
+                        <el-tab-pane label="出入总量" name="second">
+                            <div class="height670">
+                                <el-table :data="yzTemperatureSums"  highlight-current-row stripe border show-overflow-tooltip   style="width: 100%;height: 100%">
+                                    <el-table-column label="排序" type="index" width="40" />
+                                    <el-table-column prop="recDateStr" label="日期"/>
+                                    <el-table-column prop="inpatientNo" label="住院号"/>
+                                    <el-table-column prop="admissTimes" label="住院次数" width="80"/>
+                                    <el-table-column prop="name" label="病人姓名"/>
+                                    <el-table-column prop="sex" label="性别" width="40"/>
+                                    <el-table-column prop="bedNo" label="床号" width="40" />
+                                    <el-table-column prop="pressureAm" style="color: red" label="血压(上午)">
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.pressureAm"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="pressurePm" style="color: red" label="血压(下午)" min-width="130">
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.pressurePm"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="intake" label="总入液量(ml)">
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.intake"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="intakeInfo" label="入量(特殊)" width="120">
+                                        <template #default="scope">
+                                            <el-select v-model="scope.row.intakeInfo" >
+                                                <el-option  key="24小时入量" label="24小时入量" value="24小时入量">
+                                                </el-option>
+                                            </el-select>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="shitOther" label="大便(次)">
+                                        <template #default="scope">
+                                            <el-select v-model="scope.row.shitOther" >
+                                                <el-option v-for="item in shitOtherList" :key="item.code" :label="item.name" :value="item.code">
+                                                </el-option>
+                                            </el-select>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="urineQuanInfo" label="尿量(ml)" >
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.urineQuanInfo"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="urineInfo" label="尿量(特殊)" width="120">
+                                        <template #default="scope">
+                                            <el-select v-model="scope.row.urineInfo" >
+                                                <el-option v-for="item in urineInfoList" :key="item.code" :label="item.name" :value="item.code">
+
+                                                </el-option>
+                                            </el-select>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="outputOther" label="出量">
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.outputOther"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="outputInfo" label="出量(特殊)" width="120">
+                                        <template #default="scope">
+                                            <el-select v-model="scope.row.outputInfo" >
+                                                <el-option  key="24小时出量" label="24小时出量" value="24小时出量">
+                                                </el-option>
+                                            </el-select>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="bodyWeight" label="体重">
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.bodyWeight"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="bodyLength" label="身高">
+                                        <template #default="scope">
+                                            <el-input v-model="scope.row.bodyLength"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="bodyWeightInfo" label="体重(特殊)" width="100px">
+                                        <template #default="scope">
+                                            <el-select v-model="scope.row.bodyWeightInfo" style="width: 80px">
+                                                <el-option v-for="item in bodyWeightInfoList" :key="item.code" :label="item.name" :value="item.code">
+
+                                                </el-option>
+                                            </el-select>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column label="操作">
+                                        <template #default="scope">
+                                            <el-button type="danger" @click="delYzTemperatureSum(scope.row,scope.$index)">删除</el-button>
+                                        </template>
+                                    </el-table-column>
+                                </el-table>
+                            </div>
+                        </el-tab-pane>
+                        <el-tab-pane label="过敏药物" name="third">
+                            <div style="margin-bottom: 20px">
+                                <el-button  type="primary" @click="onAdd">+</el-button>
+                                <el-button  type="primary" @click="onReduce">-</el-button>
+                                <el-button  icon="Search" type="primary" @click="queryGmInfo">查询过敏信息</el-button>
+                                <el-button  type="success" @click="saveGmInfo">保存过敏信息</el-button>
+                            </div>
+                            <div >
+                                <el-input v-for="(item,i) of items" v-model="items[i]" :key="i" clearable style="width: 150px"  placeholder=""></el-input>
+                            </div>
+                        </el-tab-pane>
+                    </el-tabs>
+            </el-main>
+        </el-container>
+    </el-container>
+    <el-dialog v-model="psDialogFlag"  title="皮试信息" destroy-on-close="true" style="width:75%;height:75% ">
+        <PsInfo :patintList="allPatientList"></PsInfo>
+    </el-dialog>
+</template>
+
+<script setup name='ThreeTestList'>
+import PatientBaseList from "@/components/medical-advice/PatientBaseList.vue"
+import PsInfo from "@/views/medical-advice/nursing-manage/PsInfo.vue"
+import {queryThreeTestList,saveThreeTest,queyGm,saveGm,deleteYzTemperature,deleteYzTemperatureSum} from "@/api/medical-advice/nursing-manage";
+import { getFormatDatetime } from "@/utils/date";
+import {onMounted} from "vue";
+import {stringNotBlank} from "@/utils/blank-utils";
+import {ElMessage, ElMessageBox} from 'element-plus'
+const selectFlag = ref(true)
+const clearable = ref(false)
+//图表数据
+const yzTemperatureVOS = ref([])
+//总量数据
+const yzTemperatureSums = ref([])
+const allPatientList = ref([])
+//过敏信息
+
+const psDialogFlag = ref(false)
+const queryParam = ref({
+    recDateStr:getFormatDatetime(new Date(),'YYYY-MM-DD'),
+    recTimeStr:'0',
+    temperatureType:'2',
+    visitIds:[],
+    patientInfoList:[]
+})
+
+const openPsInfo = ()=>{
+    psDialogFlag.value = true
+}
+//过敏药物
+const items = ref([])
+const onAdd = ()=>{
+    items.value.push('')
+}
+
+const onReduce = ()=>{
+    items.value.pop()
+}
+
+const outputInfo = ref('24小时出量')
+
+const painLvlList = ref([])
+
+const bodyWeightInfoList = ref([
+    {
+        code:'',
+        name:'',
+    },{
+        code:'卧床',
+        name:'卧床',
+    },{
+        code:'平车',
+        name:'平车',
+    }
+])
+
+const urineInfoList = ref([
+    {
+        code:'0',
+        name:'0',
+    },{
+        code:'+',
+        name:'+',
+    },{
+        code:'24小时尿量',
+        name:'24小时尿量',
+    },{
+        code:'*',
+        name:'*',
+    }
+])
+
+const shitOtherList = ref([
+    {
+        code:'☆',
+        name:'☆',
+    },{
+        code:'0/E',
+        name:'0/E',
+    },{
+        code:'1/E',
+        name:'1/E',
+    },{
+        code:'2/E',
+        name:'2/E',
+    },{
+        code:'*/E',
+        name:'*/E',
+    },{
+        code:'1 1/E',
+        name:'1 1/E',
+    },{
+        code:'1,2/E',
+        name:'1,2/E',
+    },{
+        code:'2/2E',
+        name:'2/2E',
+    }
+])
+
+const scdSpecialtextList = ref([
+    {
+        code:'',
+        name:'',
+    },{
+        code:'外出',
+        name:'外出',
+    },{
+        code:'转入',
+        name:'转入',
+    },{
+        code:'死亡',
+        name:'死亡',
+    },{
+        code:'手术',
+        name:'手术',
+    },{
+        code:'分娩',
+        name:'分娩',
+    },{
+        code:'出生',
+        name:'出生',
+    },{
+        code:'转科',
+        name:'转科',
+    }
+])
+
+const breatheMachineList = ref([
+    {
+        code:'A',
+        name:'A',
+    },{
+        code:'R',
+        name:'R',
+    }
+])
+
+const temperatureTypeList=ref([{
+    code:'1',
+    name:'口表',
+},{
+    code:'2',
+    name:'腋表',
+},{
+    code:'3',
+    name:'肛表',
+}])
+const recTimeStrList=ref([{
+    code:'0',
+    name:'全部',
+},{
+    code:'3',
+    name:'3',
+},{
+    code:'7',
+    name:'7',
+},{
+    code:'11',
+    name:'11',
+},{
+    code:'15',
+    name:'15',
+},{
+    code:'19',
+    name:'19',
+},{
+    code:'23',
+    name:'23',
+}])
+
+const companyFunc = (val, company) => {
+    if (stringNotBlank(val)) {
+        return val + company
+    } else {
+        return ''
+    }
+}
+const queryInfo=()=>{
+    if(queryParam.value.visitIds.length === 0){
+        return ElMessage.error('选中要查询的病人')
+    }
+    queryThreeTestList(queryParam.value).then((res) => {
+        yzTemperatureVOS.value = res.yzTemperatureVOS
+        yzTemperatureSums.value = res.yzTemperatureSums
+    })
+}
+
+const delYzTemperature=(row,index)=>{
+    ElMessageBox.confirm('请确认是否删除', {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+    })
+        .then(() => {
+            deleteYzTemperature(row).then((res) => {
+                yzTemperatureVOS.value.splice(index,1)
+            })
+        })
+        .catch(() => {
+        })
+
+
+}
+
+
+const delYzTemperatureSum = (row,index)=>{
+    ElMessageBox.confirm('请确认是否删除', {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+    })
+        .then(() => {
+            deleteYzTemperatureSum(row).then((res) => {
+                yzTemperatureSums.value.splice(index,1)
+            })
+        })
+        .catch(() => {
+        })
+
+
+
+}
+
+//保存过敏信息
+const saveGmInfo =()=>{
+    for (let i = 0; i < items.value.length; i++) {
+        if(!stringNotBlank(items.value[i])){
+          return   ElMessage.error('要保存的过敏药物不能为空')
+        }
+    }
+    ElMessageBox.confirm('请确认是否保存', {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+    })
+        .then(() => {
+            let saveData = {
+                visitIds:queryParam.value.visitIds,
+                gmItems:items.value
+            }
+            saveGm(saveData).then(() => {
+            })
+        })
+        .catch(() => {
+        })
+
+}
+//查询过敏信息
+const queryGmInfo=()=>{
+    if(queryParam.value.visitIds.length != 1){
+        return ElMessage.error('请选择一个病人')
+    }
+    queyGm(queryParam.value).then((res) => {
+        items.value = res
+    })
+
+}
+const selectAllPatientList = (val)=>{
+    allPatientList.value=val
+}
+
+const selectPatientInfo=(val)=>{
+    queryParam.value.patientInfoList = val
+    let tempVisitIds = []
+    for (let i = 0; i < val.length; i++) {
+        let visitId = val[i].inpatientNo + '_' + val[i].admissTimes
+        tempVisitIds.push(visitId)
+    }
+    queryParam.value.visitIds= tempVisitIds;
+}
+
+const activeName = ref('first')
+//保存数据
+const saveThreeTestInfo = () =>{
+    ElMessageBox.confirm('请确认是否保存', {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+    })
+        .then(() => {
+            let saveData = {
+                yzTemperatureVOS: yzTemperatureVOS.value,
+                yzTemperatureSums: yzTemperatureSums.value,
+            }
+            saveThreeTest(saveData).then((res) => {
+
+            })
+        })
+        .catch(() => {
+        })
+
+}
+
+const handleClick = (tab,event) => {
+    console.log(tab, event)
+}
+
+onMounted(() => {
+    let items = []
+    items.push({ code:'',
+        name:'空',})
+    for (let i = 0; i < 12; i++) {
+        let item = {
+            code: i+'',name:i+''
+        }
+        items.push(item)
+    }
+    painLvlList.value = items
+    console.log('painLvlList',items)
+})
+</script>
+
+<style scoped>
+.status_color {
+    width: 10px;
+    height: 10px;
+}
+.demo-tabs > .el-tabs__content {
+    padding: 32px;
+    color: #6b778c;
+    font-size: 32px;
+    font-weight: 600;
+}
+.height670{
+   height: 670px;
+}
+
+</style>