فهرست منبع

Merge branch 'master' of https://172.16.32.165/lighter/vue-intergration-platform

xiaochan 1 سال پیش
والد
کامیت
c7881d80f6

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

@@ -74,6 +74,15 @@ export function queryYz(data) {
         data,
     })
 }
+
+export function queryYzCheckData(data) {
+    return request({
+        url: '/medicalAdvice/medicaManagement/queryYzCheckData',
+        method: 'post',
+        data,
+    })
+}
+
 export function getPatientBaseInfo(data) {
     return request({
         url: '/medicalAdvice/medicaManagement/getPatientBaseInfo',

+ 5 - 1
src/components/medical-advice/PatientBaseList.vue

@@ -124,7 +124,11 @@ const handleClickOverview = (row) => {
     let params = {inpatientNo:row.inpatientNo,
       admissTimes:row.admissTimes,inOutStatusFlag:inOutStatusFlag}
     getPatientBaseInfo(params).then((res) => {
-      let  val = {patientInfo:res,inOutStatusFlag:inOutStatusFlag}
+      let  val = {
+        patientInfo:res,
+        inOutStatusFlag:inOutStatusFlag,
+        wardCode:currentWard.value
+      }
       emit('selectPatientInfo',val)
     })
   }

+ 4 - 0
src/router/modules/dashboard.js

@@ -1043,6 +1043,10 @@ const route = [
                 path: 'executeItem/psInfo',
                 component: createNameComponent(() => import('@/views/medical-advice/nursing-manage/PsInfo.vue')),
                 meta: {title: '皮试结果确认'},
+            }, {
+                path: 'medicaManagement/yzCheck',
+                component: createNameComponent(() => import('@/views/medical-advice/advice-management/YzCheck.vue')),
+                meta: {title: '医嘱核对'},
             },
         ],
     },

+ 215 - 0
src/views/medical-advice/advice-management/YzCheck.vue

@@ -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">起&nbsp;&nbsp;&nbsp;始</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">停&nbsp;&nbsp;&nbsp;止</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}}&nbsp;&nbsp;{{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>

+ 17 - 4
src/views/medical-advice/drug-manage/DrugSubmit.vue

@@ -258,18 +258,31 @@
                                         <tfoot>
                                             <tr>
                                                 <td colspan="6" style="border: none;text-align: left">
-                                                    共&nbsp;&nbsp;<span style="font-weight: bold">{{cyDetailVo.orderJs}}</span>&nbsp;&nbsp;剂,{{cyDetailVo.orderJe}}元/剂,院内代煎&nbsp;&nbsp;{{cyDetailVo.orderJsDj}}&nbsp;&nbsp;剂&nbsp;&nbsp;药费总金额:{{cyDetailVo.orderJs*cyDetailVo.orderJe}}&nbsp;&nbsp;&nbsp;代煎费:{{cyDetailVo.orderJeDj*cyDetailVo.orderJsDj}}
+                                                    共&nbsp;&nbsp;<span style="font-weight: bold">{{cyDetailVo.orderJs}}</span>&nbsp;&nbsp;剂,{{cyDetailVo.orderJe}}元/剂
+                                                  <span v-if="headerParam.groupNo !=='83'">,院内代煎&nbsp;&nbsp;{{cyDetailVo.orderJsDj}}&nbsp;&nbsp;剂&nbsp;&nbsp;</span>
+                                                  药费总金额:{{cyDetailVo.orderJs*cyDetailVo.orderJe}}&nbsp;&nbsp;&nbsp;
+                                                  <span  v-if="headerParam.groupNo !=='83'">代煎费:{{cyDetailVo.orderJeDj*cyDetailVo.orderJsDj}}</span>
                                                 </td>
                                             </tr>
                                             <tr>
                                                 <td colspan="6" style="border: none;text-align: left">
-                                                    每天<span style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyMtjs}}&nbsp;&nbsp;</span>剂,<span style="border-bottom:1px solid black">&nbsp;{{cyDetailVo.cyJssm}}&nbsp;</span>&nbsp;&nbsp;<span style="border-bottom:1px solid black">{{cyDetailVo.cyJsl}}</span>
-                                                    &nbsp;ml,&nbsp;煮取<span style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyZql}}&nbsp;&nbsp;</span>ml,复煎<span style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyFj}}&nbsp;&nbsp;</span>次:分<span style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyFfcs}}&nbsp;&nbsp;</span>次,<span style="border-bottom:1px solid black">{{cyDetailVo.fyName}}&nbsp;&nbsp;</span>
+                                                    每天<span style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyMtjs}}&nbsp;&nbsp;</span>剂,<span style="border-bottom:1px solid black">&nbsp;{{cyDetailVo.cyJssm}}&nbsp;</span>&nbsp;&nbsp;
+                                                  <span style="border-bottom:1px solid black">{{cyDetailVo.cyJsl}}</span>
+                                                    &nbsp;ml
+                                                   <span  v-if="headerParam.groupNo !=='83'">,</span>
+                                                  <span  v-if="headerParam.groupNo !=='83'">煮取</span>
+                                                  <span  v-if="headerParam.groupNo !=='83'" style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyZql}}&nbsp;&nbsp;</span>
+                                                  <span  v-if="headerParam.groupNo !=='83'" >ml</span>
+                                                  <span  v-if="headerParam.groupNo !=='83'" >,复煎</span>
+                                                  <span  v-if="headerParam.groupNo !=='83'" style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyFj}}&nbsp;&nbsp;</span>
+                                                  <span  v-if="headerParam.groupNo !=='83'" >次</span>
+                                                  <span >;分</span>
+                                                  <span style="border-bottom:1px solid black">&nbsp;&nbsp;{{cyDetailVo.cyFfcs}}&nbsp;&nbsp;</span>次,<span style="border-bottom:1px solid black">{{cyDetailVo.fyName}}&nbsp;&nbsp;</span>
                                                 </td>
                                             </tr>
                                             <tr>
                                                 <td colspan="6" style="border: none;text-align: left">
-                                                    主诊医生:<span >______</span>
+                                                    主诊医生:<span style="border-bottom: 1px black solid">{{cyDetailVo.doctorCode}}&nbsp;</span>
                                                     病房盖章:<span >______</span>
                                                     配药人:<span >______</span>
                                                     核对人:<span >______</span>