From fe1065a11b18a236f81c3d8e4469977207886520 Mon Sep 17 00:00:00 2001 From: Euni4U <958079825@qq.com> Date: Fri, 25 Apr 2025 16:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=B7=A5=E4=BD=9C=E9=87=8F?= =?UTF-8?q?=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Medical-examination-vehicle.vue | 2 +- src/views/sta/index.vue | 2 +- src/views/sta/printHelper.js | 48 ++++++++++++------- src/views/sta/workload.js | 2 +- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/views/Department-entry/Medical-examination-vehicle.vue b/src/views/Department-entry/Medical-examination-vehicle.vue index f1ad633..37bf438 100644 --- a/src/views/Department-entry/Medical-examination-vehicle.vue +++ b/src/views/Department-entry/Medical-examination-vehicle.vue @@ -102,7 +102,7 @@ @click.stop="resetPatientStatus(patient)" class="reset-status-btn" > - 打回 + 撤回 diff --git a/src/views/sta/index.vue b/src/views/sta/index.vue index ea82adb..81cfd05 100644 --- a/src/views/sta/index.vue +++ b/src/views/sta/index.vue @@ -55,7 +55,7 @@ - + diff --git a/src/views/sta/printHelper.js b/src/views/sta/printHelper.js index 5fc70d1..f297ae1 100644 --- a/src/views/sta/printHelper.js +++ b/src/views/sta/printHelper.js @@ -57,6 +57,14 @@ export function preparePrintData(data, timeRange) { // 将树形结构展平为表格结构 const flattenedData = []; + // 用于计算合计的变量 + let totalOldmanflag = 0; + let totalHtnflag = 0; + let totalDiaflag = 0; + let totalSmiflag = 0; + let totalPulflag = 0; + let totalSum = 0; + // 处理每个卫生院及其下属的行政村 data.forEach(org => { if (!org || typeof org !== 'object') return; // 跳过无效数据 @@ -64,23 +72,6 @@ export function preparePrintData(data, timeRange) { // 确保orgname存在 const orgname = org.orgname || '未知卫生院'; - // 计算该卫生院下的行政村数量 - const villageCount = org.children ? org.children.length : 0; - - // 添加卫生院汇总行 - flattenedData.push({ - orgname: orgname, - districtname: '汇总', - oldmanflag: org.oldmanflag || 0, - htnflag: org.htnflag || 0, - diaflag: org.diaflag || 0, - smiflag: org.smiflag || 0, - pulflag: org.pulflag || 0, - sum: org.sum || 0, - rowspan: villageCount + 1, // 包括汇总行 - isFirstRow: true - }); - // 添加该卫生院下的所有行政村 if (org.children && Array.isArray(org.children) && org.children.length > 0) { // 先对子项进行排序,保持数据一致性 @@ -89,8 +80,16 @@ export function preparePrintData(data, timeRange) { .sort((a, b) => (b.sum || 0) - (a.sum || 0)); sortedChildren.forEach((village, index) => { + // 累加各项数据 + totalOldmanflag += village.oldmanflag || 0; + totalHtnflag += village.htnflag || 0; + totalDiaflag += village.diaflag || 0; + totalSmiflag += village.smiflag || 0; + totalPulflag += village.pulflag || 0; + totalSum += village.sum || 0; + flattenedData.push({ - orgname: '', // 空字符串,不显示卫生院名称 + orgname: index === 0 ? orgname : '', // 只在第一行显示卫生院名称 districtname: village.districtname || '未知行政村', oldmanflag: village.oldmanflag || 0, htnflag: village.htnflag || 0, @@ -104,6 +103,19 @@ export function preparePrintData(data, timeRange) { } }); + // 添加合计行 + flattenedData.push({ + orgname: '合计', + districtname: '', + oldmanflag: totalOldmanflag, + htnflag: totalHtnflag, + diaflag: totalDiaflag, + smiflag: totalSmiflag, + pulflag: totalPulflag, + sum: totalSum, + isTotal: true + }); + console.log('处理后的打印数据:', flattenedData); return { diff --git a/src/views/sta/workload.js b/src/views/sta/workload.js index 276bfe5..6dbb777 100644 --- a/src/views/sta/workload.js +++ b/src/views/sta/workload.js @@ -204,7 +204,7 @@ export default { }, { width: 40, - title: "总数", + title: "总人数", field: "sum", checked: true, columnId: "sum",