打印工作量表单
This commit is contained in:
parent
20d91d0fc9
commit
fe1065a11b
@ -102,7 +102,7 @@
|
||||
@click.stop="resetPatientStatus(patient)"
|
||||
class="reset-status-btn"
|
||||
>
|
||||
打回
|
||||
撤回
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -55,7 +55,7 @@
|
||||
<el-table-column label="糖尿病" align="center" prop="diaflag" min-width="80" />
|
||||
<el-table-column label="精神病" align="center" prop="smiflag" min-width="80" />
|
||||
<el-table-column label="肺结核" align="center" prop="pulflag" min-width="80" />
|
||||
<el-table-column label="总数" align="center" prop="sum" min-width="80" />
|
||||
<el-table-column label="总人数" align="center" prop="sum" min-width="80" />
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</ContentWrap>
|
||||
|
@ -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 {
|
||||
|
@ -204,7 +204,7 @@ export default {
|
||||
},
|
||||
{
|
||||
width: 40,
|
||||
title: "<b>总数</b>",
|
||||
title: "<b>总人数</b>",
|
||||
field: "sum",
|
||||
checked: true,
|
||||
columnId: "sum",
|
||||
|
Loading…
Reference in New Issue
Block a user