|
@@ -0,0 +1,215 @@
|
|
|
+<template>
|
|
|
+ <el-container>
|
|
|
+ <el-aside width="210px">
|
|
|
+ <PatientBaseList @selectPatientInfo="selectPatientInfo" ></PatientBaseList>
|
|
|
+ </el-aside>
|
|
|
+ <el-container>
|
|
|
+ <el-header>
|
|
|
+ <div style="font-size: 18px;font-weight: bold;color: red;text-align: center;width: 100%">
|
|
|
+ 注意:核对医嘱前请先检查有无确认变更的医嘱!
|
|
|
+ </div>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-radio-group v-model="queryParam.yzType" @change="queryYzInfo">
|
|
|
+ <el-radio label="0">长期</el-radio>
|
|
|
+ <el-radio label="1">临时</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ 显示范围:
|
|
|
+ <el-select v-model="queryParam.queryRange"
|
|
|
+ @change="queryYzInfo" style="width: 90px"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in queryRangeList"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.code"/>
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-button icon="Search" type="primary" @click="queryYzInfo">查询</el-button>
|
|
|
+ <el-button icon="Printer" type="success" @click="printInfo">打印</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-scrollbar :height="(getWindowSize.h-100)+'px'">
|
|
|
+ <div id="cqYz">
|
|
|
+ <table id="pageTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td colspan="9" style="width: 100%; text-align: center; padding: 16px 0; border: none;font-size:23px;font-weight:bold">
|
|
|
+ {{queryParam.yzType==='0' ? '长期' : '临时'}}医嘱单
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="9" style="border: none">
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="width: 20%">姓名:{{patientInfo.name}}</div>
|
|
|
+ <div style="width: 20%">科室:{{patientInfo.admissWardName}}</div>
|
|
|
+ <div style="width: 20%">性别:{{patientInfo.sexName}}</div>
|
|
|
+ <div style="width: 20%">床号:{{patientInfo.bedNo}}</div>
|
|
|
+ <div>住院号:{{patientInfo.inpatientNo}}</div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="height: 30px" colspan="2">起 始</th>
|
|
|
+ <th rowspan="2">医嘱内容</th>
|
|
|
+ <th rowspan="2" style="width: 58px">医师姓名</th>
|
|
|
+ <th rowspan="2" style="width: 85px">护士姓名</th>
|
|
|
+ <th v-if="queryParam.yzType==='0'" colspan="4">停 止</th>
|
|
|
+ <th v-if="queryParam.yzType !=='0'" colspan="2">执行时间</th>
|
|
|
+ <th v-if="queryParam.yzType !=='0'" rowspan="2">执行者姓名</th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th style="width: 40px;height: 40px">日期</th>
|
|
|
+ <th style="width: 38px">时间</th>
|
|
|
+ <th >日期</th>
|
|
|
+ <th >时间</th>
|
|
|
+ <th v-if="queryParam.yzType==='0'">医师姓名</th>
|
|
|
+ <th v-if="queryParam.yzType==='0'">护士姓名</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr v-for="(item,index) in yzDataList">
|
|
|
+ <td style="width: 45px">{{getFormatDatetime(item.startTime,'MM-DD')}}</td>
|
|
|
+ <td style="width: 45px">{{getFormatDatetime(item.startTime,'HH:mm')}}</td>
|
|
|
+ <td style="width: 45%" >{{item.orderName}} {{stringNotBlank(item.orderGroup) ? item.orderGroup : '' }}</td>
|
|
|
+ <td >{{item.physician}}</td>
|
|
|
+ <td >{{item.executer1}}</td>
|
|
|
+ <td v-if="queryParam.yzType==='0'">{{getFormatDatetime(item.endTime,'MM-DD')}}</td>
|
|
|
+ <td v-if="queryParam.yzType==='0'">{{getFormatDatetime(item.endTime,'HH:mm')}}</td>
|
|
|
+ <td v-if="queryParam.yzType==='0'">{{item.modifier}}</td>
|
|
|
+ <td v-if="queryParam.yzType==='0'">{{item.executer2}}</td>
|
|
|
+ <td v-if="queryParam.yzType !=='0'">{{getFormatDatetime(item.execTime,'MM-DD')}}</td>
|
|
|
+ <td v-if="queryParam.yzType !=='0'">{{getFormatDatetime(item.execTime,'HH:mm')}}</td>
|
|
|
+ <td v-if="queryParam.yzType !=='0'">{{item.execId}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
+ </el-container>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup name='YzCheck'>
|
|
|
+import PatientBaseList from "@/components/medical-advice/PatientBaseList.vue"
|
|
|
+import {queryYzCheckData} from "@/api/medical-advice/medical-advice-management";
|
|
|
+import {onMounted} from "vue";
|
|
|
+import {stringNotBlank} from "@/utils/blank-utils";
|
|
|
+import {getFormatDatetime} from "../../../utils/date";
|
|
|
+import {getLodop, initLodop} from "@/utils/c-lodop";
|
|
|
+import {getWindowSize} from "@/utils/window-size";
|
|
|
+
|
|
|
+// 基本信息
|
|
|
+const patientInfo = ref({})
|
|
|
+
|
|
|
+const yzDataList = ref([])
|
|
|
+const queryParam = ref({
|
|
|
+ patNo:'',
|
|
|
+ times:null,
|
|
|
+ queryRange:'2',
|
|
|
+ wardCode:'',
|
|
|
+ yzType:'0',
|
|
|
+})
|
|
|
+const queryRangeList=ref([{
|
|
|
+ code:'0',
|
|
|
+ name:'全部',
|
|
|
+},{
|
|
|
+ code:'1',
|
|
|
+ name:'停止',
|
|
|
+},{
|
|
|
+ code:'2',
|
|
|
+ name:'当前',
|
|
|
+},{
|
|
|
+ code:'3',
|
|
|
+ name:'今天',
|
|
|
+}])
|
|
|
+
|
|
|
+
|
|
|
+const queryYzInfo=()=>{
|
|
|
+ queryYzCheckData(queryParam.value).then((res) => {
|
|
|
+ yzDataList.value = res
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const printInfo = ()=>{
|
|
|
+ let LODOP = getLodop()
|
|
|
+ LODOP.PRINT_INIT('长期医嘱单') // 初始化打印机 名字
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '') // 设置纸张大小 A4
|
|
|
+ LODOP.SET_PRINT_MODE('FULL_WIDTH_FOR_OVERFLOW', true) // 整宽不变形
|
|
|
+ LODOP.ADD_PRINT_TABLE('2mm', '5mm', '205mm', '220mm', '<style>' + yzPrintCss + '</style>' + '<body>' + document.getElementById('cqYz').innerHTML + '</body>') //要打印的内容
|
|
|
+ LODOP.PREVIEW() // 关闭
|
|
|
+}
|
|
|
+
|
|
|
+const yzPrintCss=`
|
|
|
+#pageTable tr td, #pageTable tr th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: left;
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+
|
|
|
+ #pageTable tr th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#pageTable {
|
|
|
+ border-collapse: collapse;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#pageTable tr td {
|
|
|
+ height: 27px;
|
|
|
+}
|
|
|
+
|
|
|
+`
|
|
|
+
|
|
|
+const selectPatientInfo=(val)=>{
|
|
|
+ patientInfo.value = val.patientInfo
|
|
|
+ queryParam.value.patNo = val.patientInfo.inpatientNo
|
|
|
+ queryParam.value.times = val.patientInfo.admissTimes
|
|
|
+ queryParam.value.wardCode = val.wardCode
|
|
|
+ queryYzInfo()
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ initLodop()
|
|
|
+})
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+
|
|
|
+#cqYz {
|
|
|
+ width: 753px;
|
|
|
+ padding: 0 0;
|
|
|
+}
|
|
|
+
|
|
|
+#pageTable tr td, #pageTable tr th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: left;
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+
|
|
|
+ #pageTable tr th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#pageTable {
|
|
|
+ border-collapse: collapse;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#pageTable tr td {
|
|
|
+ height: 27px;
|
|
|
+}
|
|
|
+</style>
|