This commit is contained in:
kmd 2025-10-13 15:47:19 +08:00
parent 27a7b2352e
commit 0f97c99a52

View File

@ -42,21 +42,14 @@
:data="data1"
show-summary
max-height="650"
default-expand-all
row-key="orgname"
:tree-props="{ children: 'children' }"
:default-sort="{ prop: 'sum', order: 'descending' }"
>
<el-table-column label="卫生院" align="left" min-width="180">
<template #default="{ row }">
<span v-if="row.children">{{ row.orgname || '未知' }}</span>
</template>
</el-table-column>
<el-table-column label="详细地址" align="center" min-width="160">
<template #default="{ row }">
<span v-if="!row.children">{{ row.districtname || '未知' }}</span>
<span>{{ row.orgname || '未知' }}</span>
</template>
</el-table-column>
<el-table-column label="体检数" align="center">
<el-table-column label="老年人" align="center" prop="oldmanflag" min-width="80" />
<el-table-column label="高血压" align="center" prop="htnflag" min-width="80" />
@ -66,7 +59,7 @@
<el-table-column label="总人数" align="center" prop="sum" min-width="80" />
<el-table-column label="操作" align="center" width="120">
<template #default="{ row }">
<el-button v-if="!row.children" link type="primary" @click="handleDetail(row)">
<el-button link type="primary" @click="handleDetail(row)">
详情
</el-button>
</template>
@ -232,39 +225,8 @@ const getList = async () => {
* @param data 需要处理的统计数据
*/
const dataProcessing = (data) => {
const result = data.reduce((acc, current) => {
const key = current.orgname
//
if (!acc[key]) {
acc[key] = {
orgname: key,
oldmanflag: 0,
htnflag: 0,
diaflag: 0,
smiflag: 0,
pulflag: 0,
sum: 0,
children: []
}
}
//
acc[key].oldmanflag += current.oldmanflag
acc[key].htnflag += current.htnflag
acc[key].diaflag += current.diaflag
acc[key].smiflag += current.smiflag
acc[key].pulflag += current.pulflag
acc[key].sum += current.sum
// children orgname
const child = { ...current }
delete child.orgname
acc[key].children.push(child)
acc[key].children.sort((a, b) => b.sum - a.sum)
return acc
}, {})
let value = Object.values(result)
value.sort((a, b) => b.sum - a.sum)
return value
//
return data.sort((a, b) => b.sum - a.sum)
}
const exportLoading = ref(false) //
const exportExcel = async () => {
@ -382,19 +344,11 @@ const printData = () => {
*/
const handleDetail = async (row) => {
try {
if (row.districtname == null) {
row.districtname='未知'
}
//
const parentNode = data1.value.find(item =>
item.children && item.children.some(child => child.districtname === row.districtname)
)
const params = {
stadate: time.value[0],
enddate: time.value[1],
addname: row.districtname,
orgname: parentNode ? parentNode.orgname : row.orgname,
addname: row.districtname || '未知',
orgname: row.orgname,
orgid: userInfo.value.deptId
}
const res = await PatientApi.getPatientDetails(params)