|
|
@ -31,226 +31,48 @@ |
|
|
<el-select v-model="format" placeholder="请选择" style="width: 80px" @change="changeValue" size="small"> |
|
|
<el-select v-model="format" placeholder="请选择" style="width: 80px" @change="changeValue" size="small"> |
|
|
<el-option label="疾控汇报" value="0" /> |
|
|
<el-option label="疾控汇报" value="0" /> |
|
|
<el-option label="单位格式" value="1" /> |
|
|
<el-option label="单位格式" value="1" /> |
|
|
|
|
|
<el-option label="导出excel" value="2" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</div> |
|
|
</div> |
|
|
<div class="query"> |
|
|
<div class="query"> |
|
|
<el-button @click="btnQuery(true)" size="small" class="commonbutton">预览</el-button> |
|
|
|
|
|
<el-button @click="btnQuery(false)" size="small" class="commonbutton">打印</el-button> |
|
|
|
|
|
|
|
|
<el-button @click="btnQuery(true)" size="small" class="commonbutton" :disabled="format == 2">预览</el-button> |
|
|
|
|
|
<el-button @click="btnQuery(false)" size="small" class="commonbutton" :disabled="format == 2">打印</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<!-- |
|
|
|
|
|
<div class="query"> |
|
|
<div class="query"> |
|
|
<el-button size="small" class="commonbutton" :disabled="format == 2" @click="handleExport">导出excel</el-button> |
|
|
|
|
|
|
|
|
<el-button size="small" class="commonbutton" :disabled="format != 2" @click="query">查询</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div class="query"> |
|
|
<div class="query"> |
|
|
<el-button size="small" class="commonbutton" :disabled="format == 2" @click="onPrint">打印</el-button> |
|
|
|
|
|
|
|
|
<el-button size="small" class="commonbutton" :disabled="format != 2" @click="handleExport">导出excel</el-button> |
|
|
</div> |
|
|
</div> |
|
|
--> |
|
|
|
|
|
|
|
|
<!-- <div class="query"> |
|
|
|
|
|
<el-button size="small" class="commonbutton" :disabled="format != 2" @click="onPrint">打印</el-button> |
|
|
|
|
|
</div> --> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div v-show="format == 3" ref="imageDom0"> |
|
|
|
|
|
|
|
|
<div v-show="format == 2" ref="imageDom2"> |
|
|
<div style="background-color: #fff; padding: 15px; border-radius: 8px"> |
|
|
<div style="background-color: #fff; padding: 15px; border-radius: 8px"> |
|
|
<el-table border :height="flag |
|
|
<el-table border :height="flag |
|
|
? window.pageHeight < 600 |
|
|
? window.pageHeight < 600 |
|
|
? 415 |
|
|
? 415 |
|
|
: window.pageHeight - 185 - 20 |
|
|
: window.pageHeight - 185 - 20 |
|
|
: '' |
|
|
: '' |
|
|
" :data="tableData" id="standardTableData" ref="standardTableData" style="width: 100%" |
|
|
|
|
|
:header-cell-class-name="headerStyle"> |
|
|
|
|
|
<el-table-column :label="reportTitle"> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
:label="`单位: ${customerOrgName || ''} 体检次数 ${medicalTimes || ''} 开始月份: ${startMonth || ''} 结束月份: ${endMonth || ''}`"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<el-table :data="scope.row.patientRegisterPositiveReports" border show-summary |
|
|
|
|
|
:summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle"> |
|
|
|
|
|
<el-table-column label="人员阳性结果清单"> |
|
|
|
|
|
<el-table-column :label="`${startDate || ''} |
|
|
|
|
|
至 |
|
|
|
|
|
${endDate || ''} |
|
|
|
|
|
体检人员共计: |
|
|
|
|
|
${sumMedicalNumber || ''} |
|
|
|
|
|
其中男: |
|
|
|
|
|
${maleMedicalNumber || ''} |
|
|
|
|
|
女: |
|
|
|
|
|
${femaleMedicalNumber || ''} |
|
|
|
|
|
其他: |
|
|
|
|
|
${otherMedicalNumber || ''} |
|
|
|
|
|
`"> |
|
|
|
|
|
<el-table-column prop="patientNo" label="档案号" width="120" /> |
|
|
|
|
|
<el-table-column prop="patientName" label="姓名" width="120" /> |
|
|
|
|
|
<el-table-column prop="sexName" label="性别" width="50" /> |
|
|
|
|
|
<el-table-column prop="age" label="年龄" width="80" /> |
|
|
|
|
|
<el-table-column prop="medicalTimes" label="次数" width="50" /> |
|
|
|
|
|
<el-table-column prop="mobileTelephone" label="手机号码" width="120" /> |
|
|
|
|
|
<el-table-column prop="diagnosisNames" label="诊断名称" /> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
<el-table :data="scope.row.positivePatientRegisterReportStandards" border |
|
|
|
|
|
:header-cell-class-name="headerStyle" style="margin-top: 15px"> |
|
|
|
|
|
<el-table-column label="阳性结果人员清单"> |
|
|
|
|
|
<el-table-column :label="`${startDate || ''} |
|
|
|
|
|
至 |
|
|
|
|
|
${endDate || ''} |
|
|
|
|
|
体检人员共计: |
|
|
|
|
|
${sumMedicalNumber || ''} |
|
|
|
|
|
其中男: |
|
|
|
|
|
${maleMedicalNumber || ''} |
|
|
|
|
|
女: |
|
|
|
|
|
${femaleMedicalNumber || ''} |
|
|
|
|
|
其他: |
|
|
|
|
|
${otherMedicalNumber || ''} |
|
|
|
|
|
`"> |
|
|
|
|
|
<template slot-scope="scopes"> |
|
|
|
|
|
<el-table :data="scopes.row.patientRegisters" border show-summary |
|
|
|
|
|
:summary-method="summarizeRegisterCounts"> |
|
|
|
|
|
<el-table-column :label="scopes.row.diagnosisName"> |
|
|
|
|
|
<el-table-column label="部门名称" prop="departmentName"></el-table-column> |
|
|
|
|
|
<el-table-column label="姓名" prop="patientName"></el-table-column> |
|
|
|
|
|
<el-table-column label="性别" prop="sexName"></el-table-column> |
|
|
|
|
|
<el-table-column prop="age" label="年龄"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="patientRegisterNo" label="条码号"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="patientNo" label="档案号"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="medicalTimes" label="体检次数"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="telephone" label="电话"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="mobileTelephone" label="手机号"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
<el-table :data="scope.row.diseaseCountStatisticsReports" border |
|
|
|
|
|
:header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount" |
|
|
|
|
|
style="margin-top: 15px"> |
|
|
|
|
|
<el-table-column label="疾病人数统计"> |
|
|
|
|
|
<el-table-column :label="`${startDate || ''} |
|
|
|
|
|
至 |
|
|
|
|
|
${endDate || ''} |
|
|
|
|
|
体检人员共计: |
|
|
|
|
|
${sumMedicalNumber || ''} |
|
|
|
|
|
其中男: |
|
|
|
|
|
${maleMedicalNumber || ''} |
|
|
|
|
|
女: |
|
|
|
|
|
${femaleMedicalNumber || ''} |
|
|
|
|
|
其他: |
|
|
|
|
|
${otherMedicalNumber || ''} |
|
|
|
|
|
`"> |
|
|
|
|
|
<el-table-column label="序号" type="index"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="diagnosisName" label="疾病" /> |
|
|
|
|
|
<el-table-column prop="patientCount" label="人数" /> |
|
|
|
|
|
<el-table-column prop="percentage" label="占总检人员百分比" /> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
|
" :data="tableData" id="standardTableData" ref="standardTableData" style="width: 100%"> |
|
|
|
|
|
<el-table-column type="index" label="序号" width="40" align="center"/> |
|
|
|
|
|
<el-table-column prop="patientRegisterNo" label="人员条码号"/> |
|
|
|
|
|
<el-table-column prop="patientName" label="姓名"/> |
|
|
|
|
|
<el-table-column prop="jobType" label="工种"/> |
|
|
|
|
|
<el-table-column prop="poisonWorkTime" label="接害工龄"/> |
|
|
|
|
|
<el-table-column prop="poisonNames" label="毒害因素"/> |
|
|
|
|
|
<el-table-column prop="anomalyIndex" label="异常指标"/> |
|
|
|
|
|
<el-table-column prop="handlingSuggestions" label="处理意见"/> |
|
|
|
|
|
<el-table-column prop="medicalConclusion" label="体检结论"/> |
|
|
|
|
|
<el-table-column prop="ocCheckTypeName" label="职业病检查类别"/> |
|
|
|
|
|
<el-table-column prop="medicalStartDate" label="体检日期"/> |
|
|
|
|
|
<el-table-column prop="summaryDoctorName" label="总检医生"/> |
|
|
</el-table> |
|
|
</el-table> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div v-show="format == 4" ref="imageDom1"> |
|
|
|
|
|
<div style="background-color: #fff; padding: 15px; border-radius: 8px"> |
|
|
|
|
|
<el-table border :height="flag |
|
|
|
|
|
? window.pageHeight < 600 |
|
|
|
|
|
? 415 |
|
|
|
|
|
: window.pageHeight - 185 - 20 |
|
|
|
|
|
: '' |
|
|
|
|
|
" :data="reducetableData" id="reducetableData" ref="reducetableData" style="width: 100%" |
|
|
|
|
|
:header-cell-class-name="headerStyle"> |
|
|
|
|
|
<el-table-column :label="reducereportTitle"> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
:label="`单位: ${customerOrgName || ''} 体检次数 ${medicalTimes || ''} 开始月份: ${startMonth || ''} 结束月份: ${endMonth || ''}`"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<el-table :data="scope.row.patientRegisterPositiveReports" border show-summary |
|
|
|
|
|
:summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle"> |
|
|
|
|
|
<el-table-column label="人员阳性结果清单"> |
|
|
|
|
|
<el-table-column :label="`${reducestartDate || ''} |
|
|
|
|
|
至 |
|
|
|
|
|
${reduceendDate || ''} |
|
|
|
|
|
体检人员共计: |
|
|
|
|
|
${reducesumMedicalNumber || ''} |
|
|
|
|
|
其中男: |
|
|
|
|
|
${reducemaleMedicalNumber || ''} |
|
|
|
|
|
女: |
|
|
|
|
|
${reducefemaleMedicalNumber || ''} |
|
|
|
|
|
其他: |
|
|
|
|
|
${reduceotherMedicalNumber || ''} |
|
|
|
|
|
`"> |
|
|
|
|
|
<el-table-column prop="patientNo" label="档案号" width="120" /> |
|
|
|
|
|
<el-table-column prop="patientName" label="姓名" width="120" /> |
|
|
|
|
|
<el-table-column prop="sexName" label="性别" width="50" /> |
|
|
|
|
|
<el-table-column prop="age" label="年龄" width="80" /> |
|
|
|
|
|
<el-table-column prop="medicalTimes" label="次数" width="50" /> |
|
|
|
|
|
<el-table-column prop="mobileTelephone" label="手机号码" width="120" /> |
|
|
|
|
|
<el-table-column prop="diagnosisNames" label="诊断名称" /> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
<el-table :data="scope.row.positivePatientRegisterReportReduces" border |
|
|
|
|
|
:header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount" |
|
|
|
|
|
style="margin-top: 15px"> |
|
|
|
|
|
<el-table-column label="阳性结果人员清单"> |
|
|
|
|
|
<el-table-column :label="`${reducestartDate || ''} |
|
|
|
|
|
至 |
|
|
|
|
|
${reduceendDate || ''} |
|
|
|
|
|
体检人员共计: |
|
|
|
|
|
${reducesumMedicalNumber || ''} |
|
|
|
|
|
其中男: |
|
|
|
|
|
${reducemaleMedicalNumber || ''} |
|
|
|
|
|
女: |
|
|
|
|
|
${reducefemaleMedicalNumber || ''} |
|
|
|
|
|
其他: |
|
|
|
|
|
${reduceotherMedicalNumber || ''} |
|
|
|
|
|
`"> |
|
|
|
|
|
<el-table-column label="序号" type="index"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="diagnosisName" label="诊断" /> |
|
|
|
|
|
<el-table-column prop="patientCount" label="人数" /> |
|
|
|
|
|
<el-table-column prop="percentage" label="占总检人员百分比" /> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
<el-table :data="scope.row.diseaseCountStatisticsReports" border |
|
|
|
|
|
:header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount" |
|
|
|
|
|
style="margin-top: 15px"> |
|
|
|
|
|
<el-table-column label="疾病人数统计"> |
|
|
|
|
|
<el-table-column :label="`${reducestartDate || ''} |
|
|
|
|
|
至 |
|
|
|
|
|
${reduceendDate || ''} |
|
|
|
|
|
体检人员共计: |
|
|
|
|
|
${reducesumMedicalNumber || ''} |
|
|
|
|
|
其中男: |
|
|
|
|
|
${reducemaleMedicalNumber || ''} |
|
|
|
|
|
女: |
|
|
|
|
|
${reducefemaleMedicalNumber || ''} |
|
|
|
|
|
其他: |
|
|
|
|
|
${reduceotherMedicalNumber || ''} |
|
|
|
|
|
`"> |
|
|
|
|
|
<el-table-column label="序号" type="index"> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="diagnosisName" label="疾病" /> |
|
|
|
|
|
<el-table-column prop="patientCount" label="人数" /> |
|
|
|
|
|
<el-table-column prop="percentage" label="占总检人员百分比" /> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div v-show="format == 0 || format == 1" ref="imageDom2"> |
|
|
|
|
|
|
|
|
<div v-show="format == 0 || format == 1"> |
|
|
<div style="background-color: #fff; padding: 15px; border-radius: 8px"> |
|
|
<div style="background-color: #fff; padding: 15px; border-radius: 8px"> |
|
|
<div :style="'display: flex;justify-content: center;align-items: center;height:' + |
|
|
<div :style="'display: flex;justify-content: center;align-items: center;height:' + |
|
|
(window.pageHeight < 600 ? 415 : window.pageHeight - 185 - 20) + |
|
|
(window.pageHeight < 600 ? 415 : window.pageHeight - 185 - 20) + |
|
|
@ -298,29 +120,8 @@ export default { |
|
|
format: "0", |
|
|
format: "0", |
|
|
flag: true, |
|
|
flag: true, |
|
|
tableData: [], |
|
|
tableData: [], |
|
|
reducetableData: [], |
|
|
|
|
|
reportTitle: "", |
|
|
|
|
|
customerOrgName: "", |
|
|
|
|
|
medicalTimes: null, |
|
|
|
|
|
startMonth: "", |
|
|
|
|
|
endMonth: "", |
|
|
|
|
|
startDate: "", |
|
|
startDate: "", |
|
|
endDate: "", |
|
|
endDate: "", |
|
|
sumMedicalNumber: null, |
|
|
|
|
|
maleMedicalNumber: null, |
|
|
|
|
|
femaleMedicalNumber: null, |
|
|
|
|
|
otherMedicalNumber: null, |
|
|
|
|
|
reducereportTitle: "", |
|
|
|
|
|
reducecustomerOrgName: "", |
|
|
|
|
|
reducemedicalTimes: null, |
|
|
|
|
|
reducestartMonth: "", |
|
|
|
|
|
reduceendMonth: "", |
|
|
|
|
|
reducestartDate: "", |
|
|
|
|
|
reduceendDate: "", |
|
|
|
|
|
reducesumMedicalNumber: null, |
|
|
|
|
|
reducemaleMedicalNumber: null, |
|
|
|
|
|
reducefemaleMedicalNumber: null, |
|
|
|
|
|
reduceotherMedicalNumber: null, |
|
|
|
|
|
reportUrl: "", |
|
|
reportUrl: "", |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
@ -337,6 +138,48 @@ export default { |
|
|
...mapState(["window", "dict", "patientRegister", "report"]), |
|
|
...mapState(["window", "dict", "patientRegister", "report"]), |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
query(){ |
|
|
|
|
|
let body = {}, |
|
|
|
|
|
customerOrgs = []; |
|
|
|
|
|
if (this.report.dataCusOrgOCX.length > 0) { |
|
|
|
|
|
this.report.dataCusOrgOCX.forEach((e) => { |
|
|
|
|
|
let rd = { |
|
|
|
|
|
startDate: moment(e.startDate).format("yyyy-MM-DD"), |
|
|
|
|
|
endDate: moment(e.endDate).format("yyyy-MM-DD"), |
|
|
|
|
|
dateType: |
|
|
|
|
|
e.dateType == "summaryDate" |
|
|
|
|
|
? "3" |
|
|
|
|
|
: e.dateType == "medicalStartDate" |
|
|
|
|
|
? "2" |
|
|
|
|
|
: "1", |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
if (e.customerOrgId) { |
|
|
|
|
|
rd.customerOrgId = e.customerOrgId; |
|
|
|
|
|
if (e.customerOrgId == this.dict.personOrgId) { |
|
|
|
|
|
rd.customerOrgRegisterId = null; |
|
|
|
|
|
rd.customerOrgGroupId = []; |
|
|
|
|
|
} else { |
|
|
|
|
|
rd.customerOrgRegisterId = e.customerOrgRegister.id; |
|
|
|
|
|
rd.customerOrgGroupId = e.customerOrgGroupIds; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
customerOrgs.push(rd); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
body.customerOrgs = customerOrgs; |
|
|
|
|
|
if (this.completeFlag) body.completeFlag = this.completeFlag; |
|
|
|
|
|
body.isAudit = this.classification; |
|
|
|
|
|
postapi( |
|
|
|
|
|
"/api/app/OccupationalDiseaseReport/GetCompanyOccupationalDiseaseDataExcel", |
|
|
|
|
|
body |
|
|
|
|
|
).then((res) => { |
|
|
|
|
|
if (res.code != -1) { |
|
|
|
|
|
this.tableData = res.data; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
btnQuery(isPreview) { |
|
|
btnQuery(isPreview) { |
|
|
let customerOrgs = []; |
|
|
let customerOrgs = []; |
|
|
if (this.report.dataCusOrgOCX.length > 0) { |
|
|
if (this.report.dataCusOrgOCX.length > 0) { |
|
|
@ -438,115 +281,27 @@ export default { |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
summarizeRegisterCounts(param) { |
|
|
|
|
|
const { columns, data } = param; |
|
|
|
|
|
const sums = []; |
|
|
|
|
|
columns.forEach((column, index) => { |
|
|
|
|
|
if (index === 0) { |
|
|
|
|
|
sums[index] = "合计"; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
if (index === 1) { |
|
|
|
|
|
sums[index] = data.length + "人"; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return sums; |
|
|
|
|
|
}, |
|
|
|
|
|
summarizeRegisterCount(param) { |
|
|
|
|
|
const { columns, data } = param; |
|
|
|
|
|
const sums = []; |
|
|
|
|
|
columns.forEach((column, index) => { |
|
|
|
|
|
if (index === 0) { |
|
|
|
|
|
sums[index] = "合计"; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
const values = data.map((item) => Number(item[column.property])); |
|
|
|
|
|
if (index === 2) { |
|
|
|
|
|
sums[index] = values.reduce((prev, curr) => { |
|
|
|
|
|
const value = Number(curr); |
|
|
|
|
|
if (!isNaN(value)) { |
|
|
|
|
|
return prev + curr; |
|
|
|
|
|
} else { |
|
|
|
|
|
return prev; |
|
|
|
|
|
} |
|
|
|
|
|
}, 0); |
|
|
|
|
|
sums[index] += " 人"; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return sums; |
|
|
|
|
|
}, |
|
|
|
|
|
headerStyle({ row, column, rowIndex, columnIndex }) { |
|
|
|
|
|
if (rowIndex === 1) { |
|
|
|
|
|
return "left-align"; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
changeValue(value) { |
|
|
changeValue(value) { |
|
|
if (value == 0) { |
|
|
|
|
|
|
|
|
if (value == 2) { |
|
|
this.$nextTick(() => { |
|
|
this.$nextTick(() => { |
|
|
this.$refs.standardTableData.doLayout(); |
|
|
this.$refs.standardTableData.doLayout(); |
|
|
}); |
|
|
}); |
|
|
} else if (value == 1) { |
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
this.$refs.reducetableData.doLayout(); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
handleExport() { |
|
|
handleExport() { |
|
|
if (this.format == 0) { |
|
|
|
|
|
let name = "北京神豚软件开发有限公司体检报告"; |
|
|
|
|
|
if (this.reportTitle != "") { |
|
|
|
|
|
name = this.reportTitle; |
|
|
|
|
|
} |
|
|
|
|
|
let index = 3; |
|
|
|
|
|
let list = []; |
|
|
|
|
|
list.push(index); |
|
|
|
|
|
index += this.tableData[0].patientRegisterPositiveReports.length + 7; |
|
|
|
|
|
list.push(index); |
|
|
|
|
|
for ( |
|
|
|
|
|
let i = 0; |
|
|
|
|
|
i < |
|
|
|
|
|
this.tableData[0].positivePatientRegisterReportStandards.length - 1; |
|
|
|
|
|
i++ |
|
|
|
|
|
) { |
|
|
|
|
|
index += |
|
|
|
|
|
this.tableData[0].positivePatientRegisterReportStandards[i] |
|
|
|
|
|
.patientRegisters.length + 4; |
|
|
|
|
|
list.push(index); |
|
|
|
|
|
} |
|
|
|
|
|
exportToExcel("#standardTableData", name, true, list); |
|
|
|
|
|
} else if (this.format == 1) { |
|
|
|
|
|
let name = "北京神豚软件开发有限公司体检报告"; |
|
|
|
|
|
if (this.reducereportTitle != "") { |
|
|
|
|
|
name = this.reducereportTitle; |
|
|
|
|
|
} |
|
|
|
|
|
let index = 3; |
|
|
|
|
|
let list = []; |
|
|
|
|
|
list.push(index); |
|
|
|
|
|
exportToExcel("#reducetableData", name, true, list); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
exportToExcel("#standardTableData", "单位职业病汇总", false); |
|
|
}, |
|
|
}, |
|
|
onPrint() { |
|
|
onPrint() { |
|
|
this.flag = false; |
|
|
this.flag = false; |
|
|
let index = ""; |
|
|
|
|
|
if (this.format == 0) { |
|
|
|
|
|
index = "imageDom0"; |
|
|
|
|
|
} else if (this.format == 1) { |
|
|
|
|
|
index = "imageDom1"; |
|
|
|
|
|
} else { |
|
|
|
|
|
index = "imageDom2"; |
|
|
|
|
|
} |
|
|
|
|
|
this.$nextTick(() => { |
|
|
this.$nextTick(() => { |
|
|
let width = this.$refs[index].style.width; |
|
|
|
|
|
let cloneDom = this.$refs[index].cloneNode(true); |
|
|
|
|
|
let imageDom = this.$refs[index]; |
|
|
|
|
|
|
|
|
let width = this.$refs.imageDom2.style.width; |
|
|
|
|
|
let cloneDom = this.$refs.imageDom2.cloneNode(true); |
|
|
|
|
|
let imageDom = this.$refs.imageDom2; |
|
|
cloneDom.style.position = "absolute"; |
|
|
cloneDom.style.position = "absolute"; |
|
|
cloneDom.style.top = "0px"; |
|
|
cloneDom.style.top = "0px"; |
|
|
cloneDom.style.zIndex = "-1"; |
|
|
cloneDom.style.zIndex = "-1"; |
|
|
cloneDom.style.width = width; |
|
|
cloneDom.style.width = width; |
|
|
|
|
|
console.log(cloneDom); |
|
|
imageDom.appendChild(cloneDom); |
|
|
imageDom.appendChild(cloneDom); |
|
|
html2canvas(cloneDom).then((canvas) => { |
|
|
html2canvas(cloneDom).then((canvas) => { |
|
|
// 转成图片,生成图片地址 |
|
|
// 转成图片,生成图片地址 |
|
|
|