10 changed files with 1193 additions and 194 deletions
-
23src/views/customerReport/combinationDetails.vue
-
19src/views/customerReport/detailedIitems.vue
-
17src/views/diagnosis/diagnosis.vue
-
454src/views/diagnosis/diagnosisSug.vue
-
773src/views/doctorCheck/unitphysicalexamination.vue
-
15src/views/fee-settings/Asbitem.vue
-
74src/views/fee-settings/Item.vue
-
4src/views/workload/individualfeedetails.vue
-
4src/views/workload/peispersontime.vue
-
4src/views/workload/tollcollector.vue
@ -1,3 +1,772 @@ |
|||||
<template> |
<template> |
||||
<div>单位体检报表</div> |
|
||||
</template> |
|
||||
|
<div class="box"> |
||||
|
<div> |
||||
|
<div class="middlebox"> |
||||
|
<div class="contenttitle"> |
||||
|
客户报表 / |
||||
|
<span class="contenttitleBold">单位体检报表</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div :style="'display: block;'"> |
||||
|
<div |
||||
|
style=" |
||||
|
background-color: #fff; |
||||
|
padding: 15px; |
||||
|
border-radius: 8px; |
||||
|
display: flex; |
||||
|
flex-wrap: wrap; |
||||
|
margin-bottom: 10px; |
||||
|
height: 35px; |
||||
|
margin-top: 7px; |
||||
|
" |
||||
|
> |
||||
|
<div class="query"> |
||||
|
<span>体检单位:</span> |
||||
|
<el-input |
||||
|
placeholder="请选择体检单位" |
||||
|
v-model="patientRegister.query.cusOrgOCX" |
||||
|
style="width: 300px" |
||||
|
size="small" |
||||
|
disabled |
||||
|
> |
||||
|
<el-button |
||||
|
slot="append" |
||||
|
icon="el-icon-search" |
||||
|
@click="report.dialogCusOrgOCX = true" |
||||
|
style="font-size: 20px" |
||||
|
></el-button> |
||||
|
</el-input> |
||||
|
</div> |
||||
|
<div class="query"> |
||||
|
<span>报表格式:</span> |
||||
|
<el-select |
||||
|
v-model="format" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
style="width: 80px" |
||||
|
size="small" |
||||
|
> |
||||
|
<el-option label="标准格式" value="0" /> |
||||
|
<el-option label="精简格式" value="1" /> |
||||
|
<el-option label="Word格式" value="2" /> |
||||
|
</el-select> |
||||
|
</div> |
||||
|
<div class="query"> |
||||
|
<el-button @click="btnQuery" size="small" class="commonbutton" |
||||
|
>查询</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<div class="query"> |
||||
|
<el-button |
||||
|
size="small" |
||||
|
class="commonbutton" |
||||
|
:disabled="format == 2" |
||||
|
@click="handleExport" |
||||
|
>导出excel</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<div class="query"> |
||||
|
<el-button |
||||
|
size="small" |
||||
|
class="commonbutton" |
||||
|
:disabled="format == 2" |
||||
|
@click="onPrint" |
||||
|
>打印</el-button |
||||
|
> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div v-show="format == 0" ref="imageDom0"> |
||||
|
<div |
||||
|
style="background-color: #fff; padding: 15px; border-radius: 8px" |
||||
|
> |
||||
|
<el-table |
||||
|
border |
||||
|
:height=" |
||||
|
flag |
||||
|
? window.pageHeight < 600 |
||||
|
? 415 |
||||
|
: 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> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div v-show="format == 1" 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=" |
||||
|
'单位:' + |
||||
|
reducecustomerOrgName + |
||||
|
'体检次数' + |
||||
|
reducemedicalTimes + |
||||
|
'开始月份:' + |
||||
|
reducestartMonth + |
||||
|
'结束月份:' + |
||||
|
reduceendMonth |
||||
|
" |
||||
|
> |
||||
|
<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 == 2" ref="imageDom2"> |
||||
|
<div |
||||
|
style="background-color: #fff; padding: 15px; border-radius: 8px" |
||||
|
></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!--通用选单位、体检次数、分组的控件--> |
||||
|
<el-dialog |
||||
|
title="体检单位选择" |
||||
|
:visible.sync="report.dialogCusOrgOCX" |
||||
|
:close-on-click-modal="false" |
||||
|
width="840px" |
||||
|
height="600px" |
||||
|
> |
||||
|
<CusOrgOCX /> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import moment from "moment"; |
||||
|
import { mapState, mapActions } from "vuex"; |
||||
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
||||
|
import { |
||||
|
dddw, |
||||
|
objCopy, |
||||
|
arrayReduce, |
||||
|
arrayExistObj, |
||||
|
tcdate, |
||||
|
} from "@/utlis/proFunc"; |
||||
|
import CusOrgOCX from "../../components/report/CusOrgOCX.vue"; |
||||
|
import { exportToExcel } from "../../utlis/Export2Excel"; |
||||
|
import html2canvas from "html2canvas"; |
||||
|
import printJs from "print-js"; |
||||
|
export default { |
||||
|
components: { |
||||
|
CusOrgOCX, |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
format: "0", |
||||
|
flag: true, |
||||
|
tableData: [], |
||||
|
reducetableData: [], |
||||
|
reportTitle: "", |
||||
|
customerOrgName: "", |
||||
|
medicalTimes: null, |
||||
|
startMonth: "", |
||||
|
endMonth: "", |
||||
|
startDate: "", |
||||
|
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, |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
// this.dictInit(); |
||||
|
}, |
||||
|
|
||||
|
//挂载完成 |
||||
|
mounted() { |
||||
|
// this.btnQuery(); |
||||
|
}, |
||||
|
|
||||
|
computed: { |
||||
|
...mapState(["window", "dict", "patientRegister", "report"]), |
||||
|
}, |
||||
|
methods: { |
||||
|
btnQuery() { |
||||
|
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; |
||||
|
|
||||
|
if (this.format == 0) { |
||||
|
postapi( |
||||
|
"/api/customerreport/getunitphysicalexaminationreportstandard", |
||||
|
body |
||||
|
).then((res) => { |
||||
|
if (res.code != -1) { |
||||
|
this.tableData = []; |
||||
|
this.tableData.push(res.data); |
||||
|
this.reportTitle = res.data.reportTitle; |
||||
|
this.customerOrgName = res.data.customerOrgName; |
||||
|
this.medicalTimes = res.data.medicalTimes; |
||||
|
this.startMonth = res.data.startMonth; |
||||
|
this.endMonth = res.data.endMonth; |
||||
|
this.startDate = res.data.startDate; |
||||
|
this.endDate = res.data.endDate; |
||||
|
this.sumMedicalNumber = res.data.sumMedicalNumber; |
||||
|
this.maleMedicalNumber = res.data.maleMedicalNumber; |
||||
|
this.femaleMedicalNumber = res.data.femaleMedicalNumber; |
||||
|
this.otherMedicalNumber = res.data.otherMedicalNumber; |
||||
|
} |
||||
|
}); |
||||
|
} else if (this.format == 1) { |
||||
|
postapi( |
||||
|
"/api/customerreport/getunitphysicalexaminationreportreduce", |
||||
|
body |
||||
|
).then((res) => { |
||||
|
if (res.code != -1) { |
||||
|
this.reducetableData = []; |
||||
|
this.reducetableData.push(res.data); |
||||
|
this.reducereportTitle = res.data.reportTitle; |
||||
|
this.reducecustomerOrgName = res.data.customerOrgName; |
||||
|
this.reducemedicalTimes = res.data.medicalTimes; |
||||
|
this.reducestartMonth = res.data.startMonth; |
||||
|
this.reduceendMonth = res.data.endMonth; |
||||
|
this.reducestartDate = res.data.startDate; |
||||
|
this.reduceendDate = res.data.endDate; |
||||
|
this.reducesumMedicalNumber = res.data.sumMedicalNumber; |
||||
|
this.reducemaleMedicalNumber = res.data.maleMedicalNumber; |
||||
|
this.reducefemaleMedicalNumber = res.data.femaleMedicalNumber; |
||||
|
this.reduceotherMedicalNumber = res.data.otherMedicalNumber; |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
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"; |
||||
|
} |
||||
|
}, |
||||
|
handleExport() { |
||||
|
if (this.format == 0) { |
||||
|
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", |
||||
|
"收费员支付方式统计报表", |
||||
|
true, |
||||
|
list |
||||
|
); |
||||
|
} else if (this.format == 1) { |
||||
|
let index = 4; |
||||
|
let list = []; |
||||
|
list.push(index); |
||||
|
// for (let i = 0; i < this.tableData.length - 1; i++) { |
||||
|
// index += this.tableData[i].children.length + 3; |
||||
|
// list.push(index); |
||||
|
// } |
||||
|
exportToExcel("#tableData", "收费员发票类型统计报表", true, list); |
||||
|
} else { |
||||
|
let index = 3; |
||||
|
let list = []; |
||||
|
list.push(index); |
||||
|
for (let i = 0; i < this.projectTableData.length - 1; i++) { |
||||
|
index += this.projectTableData[i].details.length + 4; |
||||
|
list.push(index); |
||||
|
} |
||||
|
exportToExcel( |
||||
|
"#projectTableData", |
||||
|
"收费员组合项目统计报表", |
||||
|
true, |
||||
|
list |
||||
|
); |
||||
|
} |
||||
|
}, |
||||
|
onPrint() { |
||||
|
this.flag = false; |
||||
|
let index = ""; |
||||
|
if (this.format == 0) { |
||||
|
index = "imageDom0"; |
||||
|
} else if (this.format == 1) { |
||||
|
index = "imageDom1"; |
||||
|
} else { |
||||
|
index = "imageDom2"; |
||||
|
} |
||||
|
this.$nextTick(() => { |
||||
|
let width = this.$refs[index].style.width; |
||||
|
let cloneDom = this.$refs[index].cloneNode(true); |
||||
|
let imageDom = this.$refs[index]; |
||||
|
cloneDom.style.position = "absolute"; |
||||
|
cloneDom.style.top = "0px"; |
||||
|
cloneDom.style.zIndex = "-1"; |
||||
|
cloneDom.style.width = width; |
||||
|
console.log(cloneDom); |
||||
|
imageDom.appendChild(cloneDom); |
||||
|
html2canvas(cloneDom).then((canvas) => { |
||||
|
// 转成图片,生成图片地址 |
||||
|
const url = canvas.toDataURL("image/png"); |
||||
|
printJs({ |
||||
|
printable: url, |
||||
|
type: "image", |
||||
|
documentTitle: "", // 标题 |
||||
|
style: `@media print { @page {size: auto; margin: 0 0 0 0; } body{margin:0 5px}canvas{page-break-after: always;page-break-inside: avoid; |
||||
|
page-break-after: avoid; |
||||
|
page-break-before: avoid;}}`, // 去除页眉页脚 |
||||
|
}); |
||||
|
}); |
||||
|
cloneDom.style.display = "none"; |
||||
|
this.flag = true; |
||||
|
}); |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
@import "../../assets/css/global_button.css"; |
||||
|
@import "../../assets/css/global_dialog.css"; |
||||
|
@import "../../assets/css/global_table.css"; |
||||
|
@import "../../assets/css/global_form.css"; |
||||
|
@import "../../assets/css/global_input.css"; |
||||
|
@import "../../assets/css/global.css"; |
||||
|
.query { |
||||
|
margin-right: 15px; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
font-size: 14px; |
||||
|
color: #232748; |
||||
|
font-size: 400; |
||||
|
font-family: "NotoSansSC-Regular"; |
||||
|
} |
||||
|
.box { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
} |
||||
|
::v-deep .el-table__header-wrapper th.backcolor { |
||||
|
background-color: #f5f7fa; |
||||
|
} |
||||
|
:deep .left-align .cell { |
||||
|
text-align: left !important; |
||||
|
} |
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue