| | |
| | | const getBarChartData = value => { |
| | | gettaskOutcomApi(value).then(res => { |
| | | const list = res?.data?.data || []; |
| | | console.log('list',list); |
| | | |
| | | // 清空现有的eventTypeList值 |
| | | |
| | | eventTypeList.value.forEach(item => { |
| | | item.value = 0; |
| | | }); |
| | | |
| | | // 创建一个类型映射以便快速查找 |
| | | |
| | | const typeMap = new Map(); |
| | | eventTypeList.value.forEach(item => { |
| | | typeMap.set(item.type, item); |
| | | }); |
| | | |
| | | // 处理图表数据 - 确保每个月份都有所有类型的数据 |
| | | |
| | | echartsOption.xAxis.data = list.map(item => item.name); |
| | | |
| | | // 清空系列数据 |
| | | |
| | | Object.keys(seriesObj).forEach(key => { |
| | | seriesObj[key].data = []; |
| | | }); |
| | |
| | | // 遍历所有月份 |
| | | list.forEach(month => { |
| | | totalNum.value = month.total |
| | | |
| | | |
| | | // 创建一个临时映射存储当月的数据 |
| | | |
| | | const monthData = new Map(); |
| | | month.data.forEach(item => { |
| | | monthData.set(item.name, item.value); |
| | | }); |
| | | |
| | | // 为每个类型添加数据(如果有则用实际值,没有则为0) |
| | | eventTypeList.value.forEach(typeItem => { |
| | | const value = monthData.get(typeItem.type) || 0; |
| | | |
| | | // 添加到图表系列 |
| | | |
| | | if (seriesObj[typeItem.name]) { |
| | | seriesObj[typeItem.name].data.push(value); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 更新eventTypeList的值(取最后一个月份的数据) |
| | | |
| | | if (list.length > 0) { |
| | | const lastMonth = list[list.length - 1]; |
| | | const lastMonthData = new Map(); |