Browse Source

门诊诊疗信息

lihong 4 months ago
parent
commit
bffcd8e3a4
2 changed files with 755 additions and 0 deletions
  1. 49 0
      src/api/mz-medical/mz-medical.js
  2. 706 0
      src/views/clinic/mz-medical/MzMedicalMain.vue

+ 49 - 0
src/api/mz-medical/mz-medical.js

@@ -0,0 +1,49 @@
+import request from '../../utils/request'
+
+export function queryMzMedicalField() {
+    return request({
+        url: '/mzMedicalMain/queryMzMedicalField',
+        method: 'get',
+    })
+}
+
+export function queryMzMedicalZd() {
+    return request({
+        url: '/mzMedicalMain/queryMzMedicalZd',
+        method: 'get',
+    })
+}
+
+
+
+export function updateDelFlag(data) {
+    return request({
+        url: '/mzMedicalMain/updateDelFlag',
+        method: 'post',
+        data,
+    })
+}
+
+export function queryMzMedicalMainPage(data) {
+    return request({
+        url: '/mzMedicalMain/queryMzMedicalMainPage',
+        method: 'post',
+        data,
+    })
+}
+
+export function generateMzMedicalMainByMoth(data) {
+    return request({
+        url: '/mzMedicalMain/generateMzMedicalMainByMoth',
+        method: 'post',
+        data,
+    })
+}
+
+
+
+
+
+
+
+

+ 706 - 0
src/views/clinic/mz-medical/MzMedicalMain.vue

@@ -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">出生日期:&nbsp;&nbsp;&nbsp; {{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">证件号码: &nbsp;&nbsp;&nbsp;{{mzMedecialInfo.socialNo}}</td>
+            </tr>
+            <tr>
+              <td colspan="7">
+                现住址: &nbsp;&nbsp;&nbsp; {{mzMedecialInfo.adress}}
+              </td>
+            </tr>
+            <tr>
+              <td colspan="7">联系电话: &nbsp;&nbsp;&nbsp;{{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>
+                &nbsp;{{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>
+                &nbsp;{{mzMedecialInfo.qtgmy}}
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="7">
+          <table class="nested-table">
+            <tr>
+              <td colspan="7">挂号时间:&nbsp;&nbsp;&nbsp; {{getFormatDatetime(mzMedecialInfo.ghDate,'YYYY年MM月DD日HH时mm分')}}</td>
+            </tr>
+            <tr>
+              <td colspan="7">报到时间:&nbsp;&nbsp;&nbsp; {{getFormatDatetime(mzMedecialInfo.bdDate,'YYYY年MM月DD日HH时mm分')}}</td>
+            </tr>
+            <tr>
+              <td colspan="7">就诊时间:&nbsp;&nbsp;&nbsp; {{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">住院证开具时间:&nbsp;&nbsp;&nbsp; {{getFormatDatetime(mzMedecialInfo.zyzDate,'YYYY年MM月DD日HH时mm分')}}</td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td>患者主诉:</td>
+        <td colspan="6">&nbsp;&nbsp;&nbsp;{{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>