统计切换为树形结构
This commit is contained in:
parent
f0518795da
commit
1bc38d1884
@ -18,27 +18,19 @@
|
||||
size="big"
|
||||
@change="changeDatePick"
|
||||
/>
|
||||
<el-button type="primary" @click="getList" style="margin-left: 20px;">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</ContentWrap>
|
||||
<ContentWrap>
|
||||
<el-table :data="data1" show-summary max-height="650">
|
||||
<el-table :data="data1" show-summary max-height="650"
|
||||
default-expand-all
|
||||
row-key="orgname"
|
||||
:tree-props="{ children: 'children' }">
|
||||
<el-table-column label="卫生院" align="center" prop="orgname" width="200"/>
|
||||
<el-table-column type="expand" label="展开行政村" align="center" width="200">
|
||||
<template #default="scope">
|
||||
<el-table :data="scope.row.list" style="margin-left: 200px;">
|
||||
<el-table-column label="行政村" align="center" prop="districtname" width="200"/>
|
||||
<el-table-column label="体检数" align="center" >
|
||||
<el-table-column label="老年人" align="center" prop="oldmanflag" width="210" />
|
||||
<el-table-column label="高血压" align="center" prop="htnflag" width="210"/>
|
||||
<el-table-column label="糖尿病" align="center" prop="diaflag" width="210"/>
|
||||
<el-table-column label="精神病" align="center" prop="smiflag" width="210"/>
|
||||
<el-table-column label="肺结核" align="center" prop="pulflag" width="210"/>
|
||||
<el-table-column label="总数" align="center" prop="sum" sortable width="210"/>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="行政村" align="center" prop="districtname" width="200"/>
|
||||
<el-table-column label="体检数" align="center" >
|
||||
<el-table-column label="老年人" align="center" prop="oldmanflag" width="210"/>
|
||||
<el-table-column label="高血压" align="center" prop="htnflag" width="210"/>
|
||||
@ -86,7 +78,6 @@ const data = ref([
|
||||
])*/
|
||||
const data1 = ref([])
|
||||
const radioSelector = ref([
|
||||
{value:1,label:'全部'},
|
||||
{value:2,label:'今天'},
|
||||
{value:3,label:'最近一周'},
|
||||
{value:4,label:'最近一个月'},
|
||||
@ -129,7 +120,6 @@ const changeRadio = (e) => {
|
||||
let start = new Date()
|
||||
let date = null
|
||||
switch (e){
|
||||
case 1 : date = [];break
|
||||
case 2 : break
|
||||
case 3 : start.setDate(start.getDate() - 7);break
|
||||
case 4 : start.setMonth(start.getMonth() - 1);break
|
||||
@ -137,11 +127,11 @@ const changeRadio = (e) => {
|
||||
}
|
||||
console.log(time.value)
|
||||
time.value = [formatDate(start,'YYYY-MM-DD'),formatDate(end,'YYYY-MM-DD')]
|
||||
getList()
|
||||
// getList()
|
||||
}
|
||||
const changeDatePick = () => {
|
||||
radioType.value = null
|
||||
getList()
|
||||
// getList()
|
||||
}
|
||||
/**
|
||||
* 获取统计数据
|
||||
@ -155,6 +145,7 @@ const getList = async ()=>{
|
||||
}
|
||||
let resp = await PatientApi.getData(params)
|
||||
data1.value = dataProcessing(resp)
|
||||
console.log(data1.value)
|
||||
}
|
||||
/**
|
||||
* 统计数据处理
|
||||
@ -173,7 +164,7 @@ const dataProcessing = (data) => {
|
||||
smiflag: 0,
|
||||
pulflag: 0,
|
||||
sum: 0,
|
||||
list: []
|
||||
children: []
|
||||
};
|
||||
}
|
||||
// 累加各字段值
|
||||
@ -184,15 +175,17 @@ const dataProcessing = (data) => {
|
||||
acc[key].pulflag += current.pulflag;
|
||||
acc[key].sum += current.sum;
|
||||
// 将当前对象添加到 list 中(避免引用问题需深拷贝)
|
||||
acc[key].list.push({ ...current });
|
||||
let cObj = Object.assign(current,{})
|
||||
delete cObj.orgname
|
||||
acc[key].children.push({ ...cObj });
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
return Object.values(result);
|
||||
}
|
||||
onMounted(()=>{
|
||||
getList()
|
||||
changeRadio(3)
|
||||
getList()
|
||||
})
|
||||
</script>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user