无人机管理后台前端(已迁走)
张含笑
2025-07-18 549e2991c6b3b60e0f6176ef45ecfb0535e3dc40
src/views/wel/components/taskOutcome.vue
@@ -150,23 +150,20 @@
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 = [];
    });
@@ -174,26 +171,23 @@
    // 遍历所有月份
    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();