dongyukun
2025-06-03 d29b978732c2907abc41a937de33d71f81ca5b51
src/views/model/sche/suggest/suggestSnapshot.vue
@@ -8,8 +8,8 @@
    <el-checkbox-group v-model="selectedData" @change="refreshCharts">
      <el-checkbox
        v-for="item in dataList"
        :label="item.dataNo"
        :key="item.dataNo"
        :label="item.dataName"
        :key="item.dataName"
      >
        {{ item.dataName }}
      </el-checkbox>
@@ -69,62 +69,21 @@
    loading.value = true
    try {
      const chartData = await suggestSnapshotApi.getChartList({
        chooseDataList: selectedData.value
      })
      // const chartData =[
      //   {
      //     "dataNo": "F0000101228",
      //     "categories": [
      //       "2024-02-01T00:00:00",
      //       "2024-02-01T02:00:00",
      //       "2024-02-01T04:00:00",
      //       "2024-02-01T06:00:00",
      //       "2024-02-01T08:00:00",
      //       "2024-02-01T10:00:00",
      //       "2024-02-01T12:00:00",
      //       "2024-02-01T14:00:00",
      //       "2024-02-01T16:00:00",
      //       "2024-02-01T18:00:00"
      //     ],
      //     "series": [
      //       {
      //         "name": "温度",
      //         "data": [22.1, 21.8, 21.5, 22.3, 24.5, 26.7, 28.2, 27.9, 25.6, 23.4]
      //       }
      //     ]
      //   },
      //   {
      //     "dataNo": "F0000100152",
      //     "categories": [
      //       "2024-02-01T00:00:00",
      //       "2024-02-01T02:00:00",
      //       "2024-02-01T04:00:00",
      //       "2024-02-01T06:00:00",
      //       "2024-02-01T08:00:00",
      //       "2024-02-01T10:00:00",
      //       "2024-02-01T12:00:00",
      //       "2024-02-01T14:00:00",
      //       "2024-02-01T16:00:00",
      //       "2024-02-01T18:00:00"
      //     ],
      //     "series": [
      //       {
      //         "name": "电压",
      //         "data": [220.1, 219.8, 220.2, 219.9, 220.5, 221.0, 220.8, 220.6, 220.3, 220.0]
      //       }
      //     ]
      //   }
      // ]
      const selectedDataList = selectedData.value.map(code =>
        dataList.value.find(d => d.dataName === code)
      ).filter(Boolean) // 过滤无效项
      const chartData = await suggestSnapshotApi.getChartList(
        selectedDataList
      )
      destroyCharts()
      // 生成图表配置数据
      charts.value = selectedData.value.map(code => {
        const item = dataList.value.find(d => d.dataNo === code)
        const item = dataList.value.find(d => d.dataName === code)
        return {
          id: `chart-${code}`,
          name: item?.dataName || code,
          data: chartData.find((d: any) => d.dataNo === code)
          data: chartData.find((d: any) => d.dataName === code)
        }
      })
@@ -160,15 +119,12 @@
        },
        tooltip: { trigger: 'axis' },
        grid: { top: 30, left: '3%', right: '5%', bottom: 20 },
        xAxis: {
          type: 'category',
          data: chartInfo.data?.categories || []
        },
        xAxis: {type: 'category'},
        yAxis: { type: 'value' },
        dataZoom: [{ type: 'inside' }],
        series: [{
          type: 'line',
          data: chartInfo.data?.series?.[0]?.data || [],
          data: chartInfo.data?.dataList || [],
          lineStyle: { color: '#5B8FF9', width: 1 }
        }]
      }