|
@@ -0,0 +1,706 @@
|
|
|
+<template>
|
|
|
+ <div class="layout_container">
|
|
|
+ <header>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="queryParam.yearMoth"
|
|
|
+ :clearable="false"
|
|
|
+ placeholder="就诊日期"
|
|
|
+ style="width: 110px"
|
|
|
+ type="month"
|
|
|
+ format="YYYY-MM"
|
|
|
+ value-format="YYYY-MM"
|
|
|
+ ></el-date-picker>
|
|
|
+ <el-input v-model="queryParam.keyWard" style="width: 140px" clearable placeholder="支持门诊号/姓名查询"></el-input>
|
|
|
+ <el-select style="width: 80px"
|
|
|
+ v-model="queryParam.delFlag">
|
|
|
+ <el-option label="已生效" :value="0"></el-option>
|
|
|
+ <el-option label="已删除" :value="1"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <el-button type="primary" icon="Search" @click="queryTableData">查询</el-button>
|
|
|
+ <el-divider direction="vertical" />
|
|
|
+ <el-button type="primary" icon="Download" @click="exportExcel">导出csv</el-button>
|
|
|
+ <el-divider direction="vertical" />
|
|
|
+ <el-select style="width: 120px"
|
|
|
+ v-model="queryParam.overFlag">
|
|
|
+ <el-option label="不覆盖已有数据" :value="0"></el-option>
|
|
|
+ <el-option label="覆盖已有数据" :value="1"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-button type="success" icon="CircleCheckFilled" @click="tongBuData">同步数据</el-button>
|
|
|
+ </header>
|
|
|
+ <div class="layout_main layout_el-table">
|
|
|
+ <el-table :data="tableData" stripe border highlight-current-row>
|
|
|
+ <el-table-column align="center" label="操作" width="130">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="primary"
|
|
|
+ @click="queryDetail(scope.row)"
|
|
|
+ >明细</el-button>
|
|
|
+ <el-button v-if="scope.row.delFlag===1"
|
|
|
+ size="small"
|
|
|
+ type="success"
|
|
|
+ @click="updateRowDelFlag(scope.row,0)"
|
|
|
+ >启用</el-button>
|
|
|
+ <el-button v-if="scope.row.delFlag !==1"
|
|
|
+ size="small"
|
|
|
+ type="danger"
|
|
|
+ @click="updateRowDelFlag(scope.row,1)"
|
|
|
+ >删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="patientId" label="门诊号" width="120"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="times" label="次数" width="50"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="name" label="姓名" width="100"></el-table-column>
|
|
|
+ <el-table-column align="center" label="性别" width="50">
|
|
|
+ <template #default="scope">
|
|
|
+ {{scope.row.sex ===1 ? '男' : '女'}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="visitDate" label="就诊时间"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="doctorName" label="接诊医生"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="deptCode" label="就诊科室"></el-table-column>
|
|
|
+ <el-table-column align="center" prop="totalFee" label="总费用"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-pagination
|
|
|
+ :current-page="queryParam.currentPage"
|
|
|
+ :page-size="queryParam.pageSize"
|
|
|
+ :page-sizes="[10, 30, 50, 100]"
|
|
|
+ :total="queryParam.total"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ ></el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-dialog
|
|
|
+ v-model="centerDialogVisible"
|
|
|
+ title="诊疗信息页"
|
|
|
+ align-center
|
|
|
+ overflow
|
|
|
+ width="800"
|
|
|
+ >
|
|
|
+ <div style="width: 100%;height: 30px">
|
|
|
+ <el-button @click="centerDialogVisible = false">关闭</el-button>
|
|
|
+ <el-button type="primary" icon="Printer" v-print="'#print_div'">打印</el-button>
|
|
|
+ </div>
|
|
|
+ <el-scrollbar height="600px">
|
|
|
+ <div id="print_div" class="medical-box">
|
|
|
+ <div class="medical-header">
|
|
|
+ <div class="hospital-info">
|
|
|
+ {{mzMedecialInfo.hospitalName}} <span class="underline">(统一社会信用代码:{{mzMedecialInfo.socialCreditCode}} )</span>
|
|
|
+ </div>
|
|
|
+ <div class="form-title">门(急)诊 诊 疗 信 息 页</div>
|
|
|
+ <div>就诊卡号/病案号:{{mzMedecialInfo.patientId}}</div>
|
|
|
+ </div>
|
|
|
+ <table>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ <table class="nested-table">
|
|
|
+ <tr>
|
|
|
+ <td style="width: 15%">姓名</td>
|
|
|
+ <td style="width: 15%">{{mzMedecialInfo.name}}</td>
|
|
|
+ <td style="width: 10%">性别</td>
|
|
|
+ <td colspan="4" >
|
|
|
+ <label class="checkbox-label"><input type="checkbox" v-model="checkboxData.sex" class="checkbox" :value="1">1.男</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" v-model="checkboxData.sex" class="checkbox" :value="2">2.女</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" v-model="checkboxData.sex" class="checkbox" :value="3">3.其他</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">出生日期: {{getFormatDatetime(mzMedecialInfo.birthDay,'YYYY年MM月DD日')}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 婚姻状态:
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.marryCode" value="1">1.未婚</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.marryCode" value="2">2.已婚</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.marryCode" value="3">3.丧偶</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.marryCode" value="4">4.离婚</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.marryCode" value="9">9.其他</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>国籍</td>
|
|
|
+ <td>{{mzMedecialInfo.country}}</td>
|
|
|
+ <td>民族</td>
|
|
|
+ <td>{{mzMedecialInfo.nation == null || mzMedecialInfo.nation==='1' ? '汉族' : '其他'}}</td>
|
|
|
+ <td>证件类型</td>
|
|
|
+ <td colspan="2">{{getZjLxName(mzMedecialInfo.certificateType)}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">证件号码: {{mzMedecialInfo.socialNo}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 现住址: {{mzMedecialInfo.adress}}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">联系电话: {{mzMedecialInfo.phoneNo}} </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 药物或其他过敏史:
|
|
|
+ 药物 <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.gms" value="1">1.无</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.gms" value="2">2.有</label>
|
|
|
+ {{mzMedecialInfo.allergenName}}
|
|
|
+ ;其他 <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.qtgms" value="1">1.无</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.qtgms" value="2">2.有</label>
|
|
|
+ {{mzMedecialInfo.qtgmy}}
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ <table class="nested-table">
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">挂号时间: {{getFormatDatetime(mzMedecialInfo.ghDate,'YYYY年MM月DD日HH时mm分')}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">报到时间: {{getFormatDatetime(mzMedecialInfo.bdDate,'YYYY年MM月DD日HH时mm分')}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">就诊时间: {{getFormatDatetime(mzMedecialInfo.visitDate,'YYYY年MM月DD日HH时mm分')}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>就诊科室</td>
|
|
|
+ <td colspan="2">{{mzMedecialInfo.deptCode}}</td>
|
|
|
+ <td>接诊医师</td>
|
|
|
+ <td>{{mzMedecialInfo.doctorName}}</td>
|
|
|
+ <td>接诊医师职称</td>
|
|
|
+ <td >{{getDoctorZcName(mzMedecialInfo.doctorZc)}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 就诊类型:
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.visitType" value="1">1.急诊</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.visitType" value="2">2.普通门诊</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.visitType" value="3">3.特需门诊</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.visitType" value="4">4.互联网诊疗</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.visitType" value="5">5.MDT门诊</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.visitType" value="9">9.其他</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 是否复诊:
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.firstOrNot" value="1">1.是</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.firstOrNot" value="2">2.否</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 是否输液:
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.syOrNot" value="1">1.是</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.syOrNot" value="2">2.否</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 是否为门诊慢特病患者:
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.mzMtb" value="1">1.是</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.mzMtb" value="2">2.否</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 急诊患者分级:
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.mzHzFj" value="1">1.I级</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.mzHzFj" value="2">2.II级</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.mzHzFj" value="3">3.III级</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.mzHzFj" value="4">4.IV级</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ 急诊患者去向:
|
|
|
+ </td>
|
|
|
+ <td colspan="6">
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="1">1.医嘱离院</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="2">2.医嘱转院</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="3">3.医嘱转社区卫生服务机构/乡镇卫生院</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="4">4.非医嘱离院</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="5">5.死亡</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="6">6.急诊留观</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="7">7.急诊转入院</label>
|
|
|
+ <label class="checkbox-label"><input type="checkbox" class="checkbox" v-model="checkboxData.jzHzQx" value="9">9.其他</label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">住院证开具时间: {{getFormatDatetime(mzMedecialInfo.zyzDate,'YYYY年MM月DD日HH时mm分')}}</td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>患者主诉:</td>
|
|
|
+ <td colspan="6"> {{mzMedecialInfo.emrChiefComplaint}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="3" style="text-align: center">
|
|
|
+ 门(急)诊诊断
|
|
|
+ </td>
|
|
|
+ <td colspan="4" style="text-align: center">
|
|
|
+ 疾病编码
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="section-title" v-for="(item, index) in icdArr">
|
|
|
+ <td v-if="index ===0" style="height: 6mm">主要诊断:</td>
|
|
|
+ <td v-else-if="index ===1" >其他诊断:</td>
|
|
|
+ <td v-else ></td>
|
|
|
+ <td colspan="2">{{item.icdName}}</td>
|
|
|
+ <td colspan="4">{{item.icdCode}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td >手术及操作日期</td>
|
|
|
+ <td >手术及操作名称</td>
|
|
|
+ <td >手术及操作编码</td>
|
|
|
+ <td >手术及操作者</td>
|
|
|
+ <td >麻醉方式</td>
|
|
|
+ <td >麻醉医师</td>
|
|
|
+ <td >手术分级管理级别</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item, index) in oprArr">
|
|
|
+ <td >{{getFormatDatetime(item.oprDate)}}</td>
|
|
|
+ <td>{{item.oprName}}</td>
|
|
|
+ <td>{{item.oprCode}}</td>
|
|
|
+ <td>{{item.oprDoctor}}</td>
|
|
|
+ <td>{{item.mzfs}}</td>
|
|
|
+ <td>{{item.mzDoctor}}</td>
|
|
|
+ <td>{{item.oprScale}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-if="oprArr.length ===0">
|
|
|
+ <td style="height: 6mm"></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr class="section-title">
|
|
|
+ <td colspan="7">门(急)诊费用(元):总费用<span class="fee-xhx">{{mzMedecialInfo.totalFee}}</span>(自付金额:<span class="fee-xhx"></span>)</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 1.综合医疗服务类: <div style="display: inline-block">(1)一般医疗服务费:<span class="fee-xhx">{{mzMedecialInfo.fee1}}</span>
|
|
|
+ (2)一般治疗操作费:<span class="fee-xhx">{{mzMedecialInfo.fee2}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="indent-15 mar-top">
|
|
|
+ (3)护理费:<span class="fee-xhx">{{mzMedecialInfo.fee3}}</span> (4)其他费用:<span class="fee-xhx">{{mzMedecialInfo.fee4}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 2.诊断类:
|
|
|
+ <div class="inline-b" >(5)病理诊断费:<span class="fee-xhx">{{mzMedecialInfo.fee5}}</span>
|
|
|
+ (6)实验室诊断费:<span class="fee-xhx">{{mzMedecialInfo.fee6}}</span>
|
|
|
+ (7)影像学诊断费:<span class="fee-xhx">{{mzMedecialInfo.fee7}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="indent-15 mar-top">
|
|
|
+ (8)临床诊断项目费:<span class="fee-xhx">{{mzMedecialInfo.fee8}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 3.治疗类:
|
|
|
+ <div class="inline-b">(9)非手术治疗项目费:<span class="fee-xhx">{{mzMedecialInfo.fee901}}</span>(临床物理治疗费:<span class="fee-xhx">{{mzMedecialInfo.fee902}}</span>)
|
|
|
+ </div>
|
|
|
+ <div class="indent mar-top">
|
|
|
+ (10)手术治疗费:<span class="fee-xhx">{{mzMedecialInfo.fee1001}}</span>(麻醉费:<span class="fee-xhx">{{mzMedecialInfo.fee1002}}</span>手术费:<span class="fee-xhx">{{mzMedecialInfo.fee1003}}</span>)
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 4.康复类:
|
|
|
+ <div class="inline-b">
|
|
|
+ (11)康复费:<span class="fee-xhx">{{mzMedecialInfo.fee11}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 5.中医类:
|
|
|
+ <div class="inline-b">
|
|
|
+ (12)中医治疗费:<span class="fee-xhx">{{mzMedecialInfo.fee12}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 6.西药类:
|
|
|
+ <div class="inline-b">
|
|
|
+ (13)西药费:<span class="fee-xhx">{{mzMedecialInfo.fee13}}</span>(抗菌药物费用:<span class="fee-xhx">{{mzMedecialInfo.fee25}}</span> )
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 7.中药类:
|
|
|
+ <div class="inline-b">
|
|
|
+ (14)中成药费:<span class="fee-xhx">{{mzMedecialInfo.fee14}}</span>
|
|
|
+ (15)中草药费:<span class="fee-xhx">{{mzMedecialInfo.fee15}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 8.血液和血液制品类:
|
|
|
+ <div class="inline-b">
|
|
|
+ (16)血费:<span class="fee-xhx">{{mzMedecialInfo.fee16}}</span>
|
|
|
+ (17)白蛋白类制品费:<span class="fee-xhx">{{mzMedecialInfo.fee17}}</span>
|
|
|
+ (18)球蛋白类制品费:<span class="fee-xhx">{{mzMedecialInfo.fee18}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="mar-top">(19)凝血因子类制品费:<span class="fee-xhx">{{mzMedecialInfo.fee19}}</span>
|
|
|
+ (20) 细胞因子类制品费:<span class="fee-xhx">{{mzMedecialInfo.fee20}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 9.耗材类:
|
|
|
+ <div class="inline-b">
|
|
|
+ (21)检查用一次性医用材料费:<span class="fee-xhx">{{mzMedecialInfo.fee21}}</span>
|
|
|
+ (22)治疗用一次性医用材料费:<span class="fee-xhx">{{mzMedecialInfo.fee22}}</span>
|
|
|
+ </div>
|
|
|
+ <div class="inline-b mar-top">
|
|
|
+ (23)手术用一次性医用材料费:<span class="fee-xhx">{{mzMedecialInfo.fee23}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="7">
|
|
|
+ 10.其他类:
|
|
|
+ <div class="inline-b" >
|
|
|
+ (24)其他费用:<span class="fee-xhx">{{mzMedecialInfo.fee24}}</span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+<script setup >
|
|
|
+import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
+import {formatMonth, getFormatDatetime, getLastMonth} from '@/utils/date'
|
|
|
+import {queryMzMedicalField,
|
|
|
+ updateDelFlag,
|
|
|
+ queryMzMedicalMainPage,
|
|
|
+ generateMzMedicalMainByMoth,
|
|
|
+ queryMzMedicalZd
|
|
|
+} from '@/api/mz-medical/mz-medical'
|
|
|
+import {exportCSV} from "@/utils/ExportCVS";
|
|
|
+import {stringNotBlank} from "@/utils/blank-utils.js";
|
|
|
+import {nextTick, onMounted} from "vue";
|
|
|
+const queryParam = ref({
|
|
|
+ yearMoth:getLastMonth(),
|
|
|
+ keyWard:'',
|
|
|
+ currentPage:1,
|
|
|
+ pageSize:30,
|
|
|
+ total:0,
|
|
|
+ delFlag:0,
|
|
|
+ overFlag:0
|
|
|
+})
|
|
|
+
|
|
|
+const centerDialogVisible =ref(false)
|
|
|
+const tableData = ref([])
|
|
|
+
|
|
|
+
|
|
|
+const icdArr = ref([])
|
|
|
+
|
|
|
+const oprArr = ref([])
|
|
|
+
|
|
|
+const handleSizeChange = (val) => {
|
|
|
+ queryParam.value.pageSize = val
|
|
|
+}
|
|
|
+const handleCurrentChange = (val) => {
|
|
|
+ queryParam.value.currentPage = val
|
|
|
+}
|
|
|
+
|
|
|
+const queryTableData=()=>{
|
|
|
+ tableData.value = []
|
|
|
+ queryMzMedicalMainPage(queryParam.value).then(res=>{
|
|
|
+ tableData.value = res.data
|
|
|
+ queryParam.value.total = res.total
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const mzfsArr = ref([])
|
|
|
+const ssJbArr = ref([])
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ queryMzMedicalZd().then(res=>{
|
|
|
+ mzfsArr.value = res.mzfs
|
|
|
+ ssJbArr.value = res.sfjb
|
|
|
+ })
|
|
|
+});
|
|
|
+
|
|
|
+
|
|
|
+const exportExcel = ()=>{
|
|
|
+ queryMzMedicalMainPage({yearMoth:queryParam.value.yearMoth,
|
|
|
+ keyWard:queryParam.value.keyWard,
|
|
|
+ currentPage:1,
|
|
|
+ pageSize:100000,
|
|
|
+ delFlag:0}).then(res=>{
|
|
|
+ const fileName = `430000150806_长沙泰和医院_${queryParam.value.yearMoth}}.csv`
|
|
|
+ let title = {}
|
|
|
+ queryMzMedicalField().then(re=>{
|
|
|
+ for (let i = 0; i < re.length ; i++) {
|
|
|
+ title[`${re[i].medicalCode}`]=re[i].code
|
|
|
+ }
|
|
|
+ exportCSV(res.data,title,fileName,",")
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+const queryDetail = (row)=>{
|
|
|
+ centerDialogVisible.value =true
|
|
|
+ mzMedecialInfo.value = row
|
|
|
+ checkboxData.value.sex = []
|
|
|
+ checkboxData.value.sex.push(row.sex)
|
|
|
+ checkboxData.value.marryCode = []
|
|
|
+ checkboxData.value.marryCode.push(row.marryCode)
|
|
|
+ checkboxData.value.gms = []
|
|
|
+ checkboxData.value.gms.push(row.gms)
|
|
|
+ checkboxData.value.qtgms = []
|
|
|
+ checkboxData.value.qtgms.push(row.qtgms)
|
|
|
+ checkboxData.value.visitType = []
|
|
|
+ checkboxData.value.visitType.push(row.visitType)
|
|
|
+ checkboxData.value.syOrNot = []
|
|
|
+ checkboxData.value.syOrNot.push(row.syOrNot)
|
|
|
+ checkboxData.value.firstOrNot = []
|
|
|
+ checkboxData.value.firstOrNot.push(row.firstOrNot)
|
|
|
+ checkboxData.value.mzMtb = []
|
|
|
+ checkboxData.value.mzMtb.push(row.mzMtb)
|
|
|
+ checkboxData.value.mzHzFj = []
|
|
|
+ checkboxData.value.mzHzFj.push(row.mzHzFj)
|
|
|
+ setIcdArrAndOprArr(row)
|
|
|
+}
|
|
|
+
|
|
|
+const setIcdArrAndOprArr = (row)=>{
|
|
|
+ icdArr.value = []
|
|
|
+ let objIcd = {
|
|
|
+ icdCode : row.icdCode,
|
|
|
+ icdName : row.icdName
|
|
|
+ }
|
|
|
+ icdArr.value.push(objIcd)
|
|
|
+ for (let i = 1; i <= 10; i++) {
|
|
|
+ if(stringNotBlank(row[`icdCode${i}`])){
|
|
|
+ let tempIcd= {
|
|
|
+ icdCode : row[`icdCode${i}`],
|
|
|
+ icdName : row[`icdName${i}`]
|
|
|
+ }
|
|
|
+ icdArr.value.push(tempIcd)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ oprArr.value = []
|
|
|
+ for (let i = 1; i <= 5; i++) {
|
|
|
+ if(stringNotBlank(row[`oprCode${i}`])){
|
|
|
+ let tempOpr = {
|
|
|
+ oprDate:row[`oprDate${i}`],
|
|
|
+ oprName:row[`oprName${i}`],
|
|
|
+ oprCode:row[`oprCode${i}`],
|
|
|
+ oprDoctor:row[`oprDoctor${i}`],
|
|
|
+ mzfs:getMzfsName(row[`mzfs${i}`]),
|
|
|
+ mzDoctor:row[`mzDoctor${i}`],
|
|
|
+ oprScale:getssJbName(row[`oprScale${i}`])
|
|
|
+ }
|
|
|
+ oprArr.value.push(tempOpr)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const getMzfsName =(code)=>{
|
|
|
+ return mzfsArr.value.filter(item=>item.code ===code)[0].name
|
|
|
+}
|
|
|
+
|
|
|
+const getssJbName =(code)=>{
|
|
|
+ return ssJbArr.value.filter(item=>item.code ===code)[0].name
|
|
|
+}
|
|
|
+
|
|
|
+const checkboxData = ref({
|
|
|
+ sex :[] ,
|
|
|
+ marryCode :[] ,
|
|
|
+ gms:[],
|
|
|
+ qtgms:[],
|
|
|
+ visitType:[],
|
|
|
+ firstOrNot:[],
|
|
|
+ syOrNot:[],
|
|
|
+ mzMtb:[],
|
|
|
+ mzHzFj:[],
|
|
|
+ jzHzQx:[],
|
|
|
+})
|
|
|
+
|
|
|
+const mzMedecialInfo = ref({
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+const tongBuData = ()=>{
|
|
|
+ ElMessageBox.confirm("请确认是否同步 "+queryParam.value.yearMoth+"月数据", {
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ generateMzMedicalMainByMoth(queryParam.value).then(res=>{
|
|
|
+ queryTableData()
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const getDoctorZcName = (code)=>{
|
|
|
+ if(code ==='1'){
|
|
|
+ return '主任医师'
|
|
|
+ }
|
|
|
+ if(code ==='2'){
|
|
|
+ return '副主任医师'
|
|
|
+ }
|
|
|
+ if(code ==='3'){
|
|
|
+ return '主治(主管)医师'
|
|
|
+ }
|
|
|
+ if(code ==='4'){
|
|
|
+ return '医师'
|
|
|
+ }
|
|
|
+ if(code ==='5'){
|
|
|
+ return '医士'
|
|
|
+ }
|
|
|
+ return ''
|
|
|
+}
|
|
|
+
|
|
|
+const getZjLxName = (code)=>{
|
|
|
+ if(code ==='1'){
|
|
|
+ return '居民身份证'
|
|
|
+ }
|
|
|
+ if(code ==='2'){
|
|
|
+ return '中国人民解放军军人身份证件'
|
|
|
+ }
|
|
|
+ if(code ==='3'){
|
|
|
+ return '中国人民武装警察身份证件'
|
|
|
+ }
|
|
|
+ if(code ==='4'){
|
|
|
+ return '港澳居民来往内地通行证'
|
|
|
+ }
|
|
|
+ if(code ==='5'){
|
|
|
+ return '台湾居民来往大陆通行证'
|
|
|
+ }
|
|
|
+
|
|
|
+ if(code ==='6'){
|
|
|
+ return '护照'
|
|
|
+ }
|
|
|
+
|
|
|
+ if(code ==='7'){
|
|
|
+ return '外国人永久居住证'
|
|
|
+ }
|
|
|
+
|
|
|
+ if(code ==='9'){
|
|
|
+ return '其他'
|
|
|
+ }
|
|
|
+ return ''
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+const updateRowDelFlag = (row,delFlag)=>{
|
|
|
+ updateDelFlag({
|
|
|
+ patientId:row.patientId,
|
|
|
+ times:row.times,
|
|
|
+ delFlag:delFlag,
|
|
|
+ }).then(res=>{
|
|
|
+ queryTableData()
|
|
|
+ })
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style scoped lang="scss">
|
|
|
+.medical-box{
|
|
|
+ font-family: Arial, sans-serif;
|
|
|
+ margin: 0;
|
|
|
+ padding: 15mm;
|
|
|
+ width: 210mm;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.medical-header {
|
|
|
+ text-align: center;
|
|
|
+ margin-bottom: 5mm;
|
|
|
+}
|
|
|
+.hospital-info {
|
|
|
+ margin-bottom: 2mm;
|
|
|
+}
|
|
|
+.form-title {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+ text-align: center;
|
|
|
+ margin-bottom: 5mm;
|
|
|
+}
|
|
|
+#print_div table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse;
|
|
|
+ margin-bottom: 3mm;
|
|
|
+ table-layout: fixed;
|
|
|
+}
|
|
|
+#print_div th, td {
|
|
|
+ border: 1px solid #000;
|
|
|
+ padding: 2mm;
|
|
|
+ text-align: left;
|
|
|
+ font-size: 12px;
|
|
|
+ word-wrap: break-word;
|
|
|
+}
|
|
|
+#print_div th {
|
|
|
+ background-color: #f2f2f2;
|
|
|
+}
|
|
|
+.underline {
|
|
|
+ text-decoration: underline;
|
|
|
+}
|
|
|
+.checkbox {
|
|
|
+ width: 4mm;
|
|
|
+ height: 4mm;
|
|
|
+ margin-right: 1mm;
|
|
|
+ vertical-align: middle;
|
|
|
+}
|
|
|
+.section-title {
|
|
|
+ font-weight: bold;
|
|
|
+ background-color: #f2f2f2;
|
|
|
+}
|
|
|
+.indent {
|
|
|
+ margin-left: 10mm;
|
|
|
+}
|
|
|
+.indent-15 {
|
|
|
+ margin-left: 29mm;
|
|
|
+}
|
|
|
+.inline-b{
|
|
|
+ display: inline-block;
|
|
|
+}
|
|
|
+
|
|
|
+.nested-table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse;
|
|
|
+ margin: 0;
|
|
|
+}
|
|
|
+.nested-table td {
|
|
|
+ padding: 1mm;
|
|
|
+}
|
|
|
+.checkbox-label {
|
|
|
+ white-space: nowrap;
|
|
|
+ margin-right: 2mm;
|
|
|
+}
|
|
|
+.fee-xhx{
|
|
|
+ border-bottom: 1px black solid;
|
|
|
+ display: inline-block;
|
|
|
+ width: 20mm;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+.mar-top{
|
|
|
+ margin-top: 3px;
|
|
|
+}
|
|
|
+</style>
|