Browse Source

Merge branch 'master' into 'master'

增加门诊病历查询

See merge request lighter/vue-intergration-platform!17
huangshuhua 2 years ago
parent
commit
0496b7965e

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

@@ -55,3 +55,11 @@ export function selectSetlPrescription(mdtrtId) {
     params: { mdtrtId }
   })
 }
+
+export function queryBlInfo(patNo, times) {
+  return request({
+    url: '/siManage/selectMzBl',
+    method: 'get',
+    params: { patNo, times }
+  })
+}

+ 106 - 17
src/views/medical-insurance/allpatient/SetllistReconciliation.vue

@@ -26,23 +26,11 @@
       <el-button type="primary" icon="DataAnalysis" @click="setlDtlCheck">明细对账</el-button>
     </el-header>
     <el-main>
-      <el-table
-        :data="cptSetlinfos.slice(pageSize * (currentPage - 1), pageSize * currentPage)"
-        stripe
-        :height="tableHeight"
-        highlight-current-row
-        @row-dblclick="selectSetlDetail"
-      >
+      <el-table :data="cptSetlinfos.slice(pageSize * (currentPage - 1), pageSize * currentPage)" stripe :height="tableHeight" highlight-current-row>
         <el-table-column type="index" label="序号"></el-table-column>
         <el-table-column prop="patNo" label="住院号/门诊号"></el-table-column>
         <el-table-column prop="times" label="次数"></el-table-column>
-        <el-table-column prop="psnName" label="姓名">
-          <template #default="scope">
-            <el-button text @click="setlListInfo(scope.row)" type="primary">
-              {{ scope.row.psnName }}
-            </el-button>
-          </template>
-        </el-table-column>
+        <el-table-column prop="psnName" label="姓名"> </el-table-column>
         <el-table-column prop="gendName" label="性别"></el-table-column>
         <el-table-column prop="brdy" label="出生日期"></el-table-column>
         <el-table-column prop="insutypeName" label="险种类型"></el-table-column>
@@ -56,6 +44,13 @@
         <el-table-column prop="acctPay" label="个人账户支出"></el-table-column>
         <el-table-column prop="psnCashPay" label="个人现金支出"></el-table-column>
         <el-table-column prop="clrOptinsName" label="清算机构"></el-table-column>
+        <el-table-column fixed="right" label="操作" :width="ldWidth" header-align="center">
+          <template #default="scope">
+            <el-button type="primary" size="small" @click="setlListInfo(scope.row)">结算单</el-button>
+            <el-button type="primary" size="small" @click="selectSetlDetail(scope.row)">结算明细</el-button>
+            <el-button v-if="mzFlag === '11'" type="primary" size="small" @click="selectBlInfo(scope.row)">门诊病历</el-button>
+          </template>
+        </el-table-column>
       </el-table>
       <el-pagination
         @size-change="handleSizeChange"
@@ -116,6 +111,64 @@
           <EmployeeOutpatientSetlList v-if="settleType === '11' && isEmployeeOutpatient" :setlinfo="setlListDetail" />
         </div>
       </el-dialog>
+      <el-dialog v-model="showBl" title="病历详情" :close-on-click-modal="false" width="70%">
+        <div id="reportDetail" style="width: 100%; height: 100%; padding: 0 2px">
+          <el-row :gutter="6">
+            <el-col :span="6">门诊号:{{ blInfoList.patientId }}</el-col>
+            <el-col :span="6">次数:{{ blInfoList.times }}</el-col>
+            <el-col :span="6">病历号:{{ blInfoList.emrNo }}</el-col>
+            <el-col :span="6">就诊时间:{{ blInfoList.visitDate }}</el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="24">主诉:{{ blInfoList.emrCC }}</el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="24">现病史:{{ blInfoList.emrHpi }}</el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="24">既往史:{{ blInfoList.emrPs }}</el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="24">体格检查:{{ blInfoList.emrPe }}</el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="24">辅助检查:{{ blInfoList.emrFzjc }}</el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="24"
+              >治疗过程:
+              <p v-html="blInfoList.emrProcess"></p
+            ></el-col>
+          </el-row>
+          <div style="margin: 5px 0; border-top: 1px solid gray"></div>
+          <el-row :gutter="6">
+            <el-col :span="6">科室:{{ blInfoList.deptName }}</el-col>
+            <el-col :span="6">医生:{{ blInfoList.doctorName }}</el-col>
+            <el-col :span="12">初步诊断:{{ blInfoList.tentativeDiagnosis }}</el-col>
+          </el-row>
+        </div>
+        <!-- <el-table :data="blInfoList" stripe :height="500" highlight-current-row>
+          <el-table-column type="index" label="序号" fixed="left"></el-table-column>
+          <el-table-column prop="patientId" label="门诊号" fixed="left"></el-table-column>
+          <el-table-column prop="times" label="次数" width="80" fixed="left"></el-table-column>
+          <el-table-column prop="emrNo" label="病历号" fixed="left"></el-table-column>
+          <el-table-column prop="visitDate" label="就诊时间" width="120"></el-table-column>
+          <el-table-column prop="emrCC" label="主诉" align="left" width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="emrHpi" label="现病史" align="left" width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="emrPs" label="既往史" align="left" width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="emrPe" label="体格检查" align="left" width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="emrFzjc" label="辅助检查" align="left" width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="emrProcess" label="病程记录" align="left" width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="deptName" label="科室"></el-table-column>
+          <el-table-column prop="doctorName" label="医生"></el-table-column>
+        </el-table> -->
+      </el-dialog>
     </el-main>
   </el-container>
 </template>
@@ -126,7 +179,7 @@ import store from '@/store'
 import { getClrTypes, getInsutypes } from '@/api/medical-insurance/si-dict'
 import { setlShtcuts } from '@/data/shortcuts'
 import { ElMessage, ElMessageBox } from 'element-plus'
-import { institutionSettlementDetailCheck, institutionSettlementLedgerCheck, selectSetlinfos, selectSetlPrescription } from '@/api/medical-insurance/si-manage'
+import { institutionSettlementDetailCheck, institutionSettlementLedgerCheck, selectSetlinfos, selectSetlPrescription, queryBlInfo } from '@/api/medical-insurance/si-manage'
 import { querySettlementInfo, querySiSetlList } from '@/api/medical-insurance/si-query'
 import { formatDate, getDate } from '@/utils/date'
 import Setlinfo from '../../../components/medical-insurance/setlinfo/Index.vue'
@@ -181,6 +234,8 @@ export default {
         return item.insutype === slctSetlPrm.insutype && item.clrOptins === slctSetlPrm.setlOptins
       })
     })
+    const mzFlag = ref('')
+    const ldWidth = ref(160)
     const getSetlInfos = () => {
       if (!slctSetlPrm.clrType) {
         ElMessage({
@@ -198,6 +253,16 @@ export default {
         })
         return
       }
+      if (slctSetlPrm.clrType === '11' || slctSetlPrm.clrType === '14' || slctSetlPrm.clrType === '53' || slctSetlPrm.clrType === '9901') {
+        mzFlag.value = '11'
+      } else {
+        mzFlag.value = '21'
+      }
+      if (mzFlag.value === '11') {
+        ldWidth.value = 240
+      } else {
+        ldWidth.value = 160
+      }
       slctSetlPrm.stmtBegndate = formatDate(dateRange.value[0])
       slctSetlPrm.stmtEnddate = formatDate(dateRange.value[1])
       selectSetlinfos(slctSetlPrm)
@@ -289,7 +354,7 @@ export default {
       })
     }
 
-    // -----------------------查询结算单住院/门诊诊断处方明细----------------------------
+    // -----------------------查询结算单明细----------------------------
     const setlDetails = ref([])
     const showSetlPrescription = ref(false)
 
@@ -304,7 +369,7 @@ export default {
         })
     }
 
-    // --------------------------跳转结算清单查询页-------------------------------------
+    // --------------------------查询结算清单-------------------------------------
     const showSetlList = ref(false)
     const isEmployeeOutpatient = ref(false)
     const isProvincial = ref(false)
@@ -335,6 +400,25 @@ export default {
       })
     }
 
+    // ---------------------------查询病历明细----------------------------------------------
+    const showBl = ref(false)
+    const blInfoList = ref({})
+    const selectBlInfo = (row) => {
+      queryBlInfo(row.patNo, row.times).then((res) => {
+        if (!res || res.length == 0) {
+          ElMessage({
+            message: '没有病历报告数据',
+            type: 'warning',
+            duration: 2000,
+            showClose: true,
+          })
+          return
+        }
+        blInfoList.value = res
+        showBl.value = true
+      })
+    }
+
     onMounted(() => {
       getInsutypes().then((res) => {
         insutypes.value = res
@@ -371,6 +455,11 @@ export default {
       isEmployeeOutpatient,
       settleType,
       setlListDetail,
+      mzFlag,
+      ldWidth,
+      showBl,
+      blInfoList,
+      selectBlInfo,
       handleCurrentChange,
       handleSizeChange,
       getSetlInfos,