pengjun 4 months ago
parent
commit
34ed3f3814
  1. 178
      src/views/customerReport/unitPersonInspected.vue

178
src/views/customerReport/unitPersonInspected.vue

@ -46,17 +46,17 @@
style="width: 380px"
size="small"
>
<el-option label="按实检组合项目" value="0" />
<el-option label="按实检人员(只检一项算则全部算已检)" value="1" />
<el-option label="按实检组合项目" value="1" />
<el-option label="按实检人员(只检一项算则全部算已检)" value="2" />
<el-option
label="按实检人员(只检一项算则全部算已检且仅单位支付)"
value="2"
value="3"
/>
<el-option
label="按实检人员(只检一项算则全部算已检且仅个人支付)"
value="3"
value="4"
/>
<el-option label="按已收费组合项目" value="4" />
<el-option label="按已收费组合项目" value="5" />
</el-select>
</div>
<div class="query">
@ -98,22 +98,67 @@
show-summary
:summary-method="getSummaries"
>
<el-table-column prop="patientNo" label="档案号" width="120" />
<el-table-column prop="medicalTimes" label="次数" width="50" />
<el-table-column prop="customerOrgParentName" label="单位" />
<el-table-column prop="customerOrgName" label="部门" width="200" />
<el-table-column prop="patientName" label="分组" width="200" />
<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="patientNo"
label="档案号"
width="120"
align="center"
/>
<el-table-column
prop="medicalTimes"
label="次数"
width="50"
align="center"
/>
<el-table-column
prop="customerOrgName"
label="单位"
align="center"
/>
<el-table-column
prop="departmentName"
label="部门"
width="200"
align="center"
/>
<el-table-column
prop="groupPackageName"
label="分组"
width="200"
align="center"
/>
<el-table-column
prop="patientName"
label="姓名"
width="100"
align="center"
/>
<el-table-column
prop="sexName"
label="性别"
width="50"
align="center"
/>
<el-table-column
prop="age"
label="年龄"
width="60"
align="center"
/>
<el-table-column
prop="mobileTelephone"
prop="idNo"
label="身份证号"
width="120"
width="160"
align="center"
/>
<el-table-column prop="checkedAsbitem" label="已检项目" />
<el-table-column
prop="asbitemPrice"
label="金额"
width="100"
align="center"
/>
<el-table-column prop="diagnosisNames" label="已检项目" />
<el-table-column prop="diagnosisNames" label="金额" width="120" />
</el-table>
</div>
</div>
@ -167,7 +212,7 @@ export default {
},
computed: {
...mapState(["window", "dict", "patientRegister", "diagnosis"]),
...mapState(["window", "dict", "patientRegister", "diagnosis", "report"]),
},
methods: {
@ -212,9 +257,81 @@ export default {
}
});
},
btnQuery() {},
handleExport() {},
onPrint() {},
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);
});
}
if (customerOrgs.length == 0) {
this.$message.warning({ showClose: true, message: "请选择单位" });
return;
}
body.customerOrgs = customerOrgs;
if (this.completeFlag) body.statisticsType = this.completeFlag;
postapi(
"/api/app/CustomerReport/GetCustomerOrPersonCheckedStatistics",
body
).then((res) => {
if (res.code != -1) {
this.dataList = res.data;
}
});
},
handleExport() {
exportToExcel("#table", "单位个人已检统计"+ moment(new Date()).format('yyyyMMDDHHmmss') ,false);
},
onPrint() {
this.flag = false;
this.$nextTick(() => {
let width = this.$refs.imageDom.style.width;
let cloneDom = this.$refs.imageDom.cloneNode(true);
let imageDom = this.$refs.imageDom;
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;
});
},
tableRowClassName({ row, rowIndex }) {
switch (row.isCharge) {
case "N":
@ -224,6 +341,9 @@ export default {
}
},
getSummaries(param) {
this.$nextTick(() => {
this.$refs.dataList.doLayout();
});
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
@ -234,6 +354,22 @@ export default {
if (index === 1) {
sums[index] = data.length + " 人";
}
const values = data.map(item => Number(item[column.property]));
if (column.label == "金额") {
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
// sums[index] += ' kg';
} else {
// sums[index] = 'N/A';
}
}
});
return sums;

Loading…
Cancel
Save