提交
This commit is contained in:
parent
27a7b2352e
commit
0f97c99a52
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user