This commit is contained in:
ljx
2025-09-12 23:26:37 +08:00
parent 010d3d8c3c
commit 5f0368dad2
4 changed files with 79 additions and 30 deletions

View File

@ -46,8 +46,10 @@ export let pieOption = {
label: {
alignTo: 'edge',
formatter: function (params) {
console.log(params, 3333333333);
// 只显示前三个数据项
return `{name|${params.data.name}}\n{percent|${params.data.completionRate}MW}`;
return `{name|${params.data.name}}\n{percent|${(params.data.completionRate / 100).toFixed(2)}%}`;
},
minMargin: 10,
edgeDistance: 20,

View File

@ -110,23 +110,23 @@ const getData = async () => {
if (res.code == 200) {
capacityData.value = res.data;
// processedDataList.value = res.data.projectProgressDetailList;
let totalCapacity = 0;
const processedData = res.data.projectProgressDetailList.map((item) => {
const capacity = parseInt(item.projectCapacity) || 0;
totalCapacity += capacity;
return {
name: item.projectName,
value: capacity,
completionRate: item.completionRate
};
});
// let totalCapacity = 0;
// const processedData = res.data.projectProgressDetailList.map((item) => {
// const capacity = parseInt(item.projectCapacity) || 0;
// totalCapacity += capacity;
// return {
// name: item.projectName,
// value: capacity,
// completionRate: item.completionRate
// };
// });
// 计算每个项目的百分比
processedData.forEach((item) => {
item.percentage = totalCapacity > 0 ? ((item.value / totalCapacity) * 100).toFixed(2) : '0%';
});
processedDataList.value = processedData;
initPieChart();
// // 计算每个项目的百分比
// processedData.forEach((item) => {
// item.percentage = totalCapacity > 0 ? ((item.value / totalCapacity) * 100).toFixed(2) : '0%';
// });
// processedDataList.value = processedData;
// initPieChart();
}
};
// 初始化饼图
@ -158,6 +158,25 @@ const getOutputData = async () => {
designAreaData.value = res.data.map((item: any) => Number((item.plannedCapacity * item.progressPercentage) / 100));
transferAreaData.value = res.data.map((item: any) => Number(item.plannedCapacity));
barNames.value = res.data.map((item: any) => item.projectName);
let totalCapacity = 0;
const processedData = res.data.map((item) => {
const capacity = item.plannedCapacity * item.progressPercentage || 0;
totalCapacity += capacity;
return {
name: item.projectName,
value: capacity,
completionRate: item.progressPercentage
};
});
// 计算每个项目的百分比
processedData.forEach((item) => {
item.percentage = totalCapacity > 0 ? ((item.value / totalCapacity) * 100).toFixed(2) : '0%';
});
console.log(processedData, 55555555);
processedDataList.value = processedData;
initPieChart();
initLineChart();
}
};