소스 검색

医保登记页面添加内容

lighter 1 년 전
부모
커밋
621ec71540
3개의 변경된 파일126개의 추가작업 그리고 21개의 파일을 삭제
  1. 8 0
      src/api/medical-insurance/si-outpatient.js
  2. 75 0
      src/components/outpatient/MzBlRecord.vue
  3. 43 21
      src/views/medical-insurance/outpatient/MzRegister.vue

+ 8 - 0
src/api/medical-insurance/si-outpatient.js

@@ -127,3 +127,11 @@ export function saveSiMzDiags(data) {
     data,
   })
 }
+
+export function getMzBlRecord(patientId, times) {
+  return request({
+    url: '/siMz/getMzBlRecord',
+    method: 'get',
+    params: { patientId, times }
+  })
+}

+ 75 - 0
src/components/outpatient/MzBlRecord.vue

@@ -0,0 +1,75 @@
+<template>
+<el-dialog title="门诊病历" v-model="show" @close="onCloseDialog">
+  <div>
+    <div>
+      <el-tag effect="plain">主诉:</el-tag>
+    </div>
+    <div class="bl-text">{{bl.emrChiefComplaint}}</div>
+  </div>
+  <div class="sub-title">
+    <div>
+      <el-tag effect="plain">现病史:</el-tag>
+    </div>
+    <div class="bl-text">{{bl.emrHpi}}</div>
+  </div>
+  <div class="sub-title">
+    <div>
+      <el-tag effect="plain">既往史:</el-tag>
+    </div>
+    <div class="bl-text">{{bl.emrPs}}</div>
+  </div>
+  <div class="sub-title">
+    <div>
+      <el-tag effect="plain">体格检查:</el-tag>
+    </div>
+    <div class="bl-text">{{bl.emrPe}}</div>
+  </div>
+  <div class="sub-title">
+    <div>
+      <el-tag effect="plain">辅助检查:</el-tag>
+    </div>
+    <div class="bl-text">{{bl.emrFzjc}}</div>
+  </div>
+</el-dialog>
+</template>
+
+<script setup>
+import {getMzBlRecord} from "@/api/medical-insurance/si-outpatient";
+
+const props = defineProps({
+  patientId: {
+    type: String,
+    required: true
+  },
+  times: {
+    type: Number,
+    required: true
+  }
+})
+
+const emits = defineEmits(['closed'])
+
+const show = ref(false)
+
+function onCloseDialog() {
+  emits('closed')
+}
+
+const bl = ref({})
+onMounted(() => {
+  getMzBlRecord(props.patientId, props.times).then(res => {
+    bl.value = res
+    show.value = true
+  })
+})
+
+</script>
+
+<style scoped>
+.sub-title {
+  margin-top: 16px;
+}
+.bl-text {
+  padding: 4px 0 0 8px;
+}
+</style>

+ 43 - 21
src/views/medical-insurance/outpatient/MzRegister.vue

@@ -64,7 +64,8 @@
           </el-dropdown-menu>
         </template>
       </el-dropdown>
-      <el-button type="danger" icon="Refresh" @click="clearinfo" style="margin-left: 8px"> 重置</el-button>
+      <el-button type="success" style="margin-left: 8px" @click="seeMzBlRecord">门诊病历</el-button>
+      <el-button type="danger" icon="Refresh" @click="clearinfo"> 重置</el-button>
     </template>
     <template #aside>
       <div style="display: flex">
@@ -129,24 +130,38 @@
           <div v-for="(item, index) in currentReceipts" :key="index">
             <div class="receipt-item">
               <div class="w75">
-                <el-checkbox v-model="item.checked"></el-checkbox>
-                {{ index + 1 }}){{ item.drugName }}&nbsp; (
-                <span v-if="item.specification">{{ item.specification }}</span>
-                <span v-else>{{ item.drugUnit }}</span>
-                )
+                <div style="font-size: 15px">
+                  <el-checkbox v-model="item.checked"></el-checkbox>
+                  <span style="font-weight: bold; color: black">
+                    &nbsp;{{ index + 1 }}){{ item.drugName }}&nbsp;
+                  </span>
+                  <span v-if="item.specification">({{ item.specification }})</span>
+                  <span v-else>({{ item.drugUnit }})</span>
+                </div>
+
+                <div>
+                  <div class="receipt-tips" style="color: purple;font-size: 12px">
+                    <span v-if="item.drugQuan">
+                      用法:{{ item.drugQuan }}{{ item.drugUnit }}/次
+                    </span>
+                    <span v-if="item.frequency"> {{ item.frequency }} </span>
+                    <span v-if="item.orderDays"> {{ item.orderDays }}天 </span>
+                    <span v-if="item.supplyCode"> {{ item.supplyCode }} </span>
+                    <span v-if="item.instructionText"> 备注:{{ item.instructionText }} </span>
+                  </div>
+                  <div :style="{fontSize: '12px', color: item.nationalCode ? 'green' : 'red', paddingLeft: '64px' }">
+                    医保码:{{ item.nationalCode || '未匹配' }}
+                  </div>
+                  <div v-if="item.ybComment" style="font-size: 12px; padding-left: 64px; color: gray">
+                    用药限制:{{item.ybComment}}
+                  </div>
+                  <div style="margin-bottom: 12px"></div>
+                </div>
+
               </div>
               <div class="w25">&times;&nbsp;&nbsp;&nbsp;{{ item.quantity }}</div>
             </div>
-            <div class="receipt-tips">
-              <span v-if="item.drugQuan"> 用法:{{ item.drugQuan }}{{ item.drugUnit }}/次 </span>
-              <span v-if="item.frequency"> {{ item.frequency }} </span>
-              <span v-if="item.orderDays"> {{ item.orderDays }}天 </span>
-              <span v-if="item.supplyCode"> {{ item.supplyCode }} </span>
-              <span v-if="item.instructionText"> 备注:{{ item.instructionText }} </span>
-            </div>
-            <div :style="{ color: item.nationalCode ? 'green' : 'red', fontWeight: 'bold', padding: '0 0 12px 64px' }">
-              医保码:{{ item.nationalCode || '未匹配' }}
-            </div>
+
           </div>
         </div>
         <el-divider></el-divider>
@@ -269,6 +284,8 @@
         </div>
       </el-dialog>
 
+      <mz-bl-record v-if="showMzBlRecord" :patient-id="patientId" :times="times" @closed="showMzBlRecord = false"></mz-bl-record>
+
     </template>
   </page-layer>
 </template>
@@ -306,6 +323,7 @@ import {
   injuryOutpatientRegister, injuryOutpatientSettlement, revokeInjuryOutpatientFee,
   revokeInjuryOutpatientRegistration, revokeInjuryOutpatientSettlement
 } from "@/api/medical-insurance/si-injury";
+import MzBlRecord from "@/components/outpatient/MzBlRecord.vue";
 
 const medType = ref(null)
 const admdvs = ref(null)
@@ -868,6 +886,15 @@ const handleAdmdvsChange = (val) => {
   admdvs.value = val ? val[1] : null;
 }
 
+const showMzBlRecord = ref(false)
+function seeMzBlRecord() {
+  if (nullTimes()) {
+    return
+  }
+  // alert('317452-0');
+  showMzBlRecord.value = true
+}
+
 onMounted(() => {
   getMedTypesByFlag('clinic').then((res) => {
     medTypes.value = res
@@ -910,11 +937,6 @@ onMounted(() => {
 
 .w75 {
   width: 70%;
-  font-size: 15px;
-}
-
-.w75 * {
-  font-size: 15px;
 }
 
 .w25 {