From 0359df4402149d0717757426dfe715d2bed307d9 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期四, 13 二月 2025 13:46:35 +0800 Subject: [PATCH] 预测数据加一条Y轴,展示累计值 --- src/views/model/pre/item/MmPredictItemChart.vue | 77 ++++++++++++++++++++++++++++++++------ 1 files changed, 64 insertions(+), 13 deletions(-) diff --git a/src/views/model/pre/item/MmPredictItemChart.vue b/src/views/model/pre/item/MmPredictItemChart.vue index 14afaed..824de21 100644 --- a/src/views/model/pre/item/MmPredictItemChart.vue +++ b/src/views/model/pre/item/MmPredictItemChart.vue @@ -3,6 +3,7 @@ title="预测数据" :close-on-click-modal="false" width="50%" + @close="dialogClose" v-model="visible" > <el-form @@ -12,7 +13,6 @@ > <el-form-item label="开始时间"> <el-date-picker - size="mini" v-model="dataForm.startTime" format="YYYY-MM-DD HH:mm:00" value-format="YYYY-MM-DD HH:mm:00" @@ -22,7 +22,6 @@ </el-form-item> <el-form-item label="结束时间"> <el-date-picker - size="mini" v-model="dataForm.endTime" format="YYYY-MM-DD HH:mm:00" value-format="YYYY-MM-DD HH:mm:00" @@ -79,9 +78,16 @@ dataForm.value.id = row.id; dataForm.value.itemName = row.itemname; if (row.id) { - myChart = echarts.init(chartDomPre.value); - myChart.clear() + nextTick(() => { + myChart = echarts.init(chartDomPre.value); + }); getDataList(); + } +} + +const dialogClose = () => { + if (myChart) { + myChart.dispose(); // 组件卸载时销毁实例 } } @@ -96,12 +102,12 @@ chartParams.endTime = dataForm.value.endTime; const data = await McsApi.getPreDataItemChart(chartParams) let legendData = [] - if (data.legend && data.legend.length > 0) { - data.legend.forEach(item => { - legendData.push(item + ":" + '真实值') - legendData.push(item + ":" + '预测值') - }) - } + // if (data.legend && data.legend.length > 0) { + // data.legend.forEach(item => { + // legendData.push(item + ":" + '真实值') + // legendData.push(item + ":" + '预测值') + // }) + // } let seriesData = [] if (data.predictTime) { @@ -134,6 +140,7 @@ Object.keys(data.viewMap).forEach(key => { let viewData = data.viewMap[key] if(viewData.realData) { + legendData.push(key + ":" + '真实值') seriesData.push({ name: key + ":" + '真实值', type: "line", @@ -147,6 +154,7 @@ }, }) } + legendData.push(key + ":" + '预测值') seriesData.push({ name: key + ":" + '预测值', type: "line", @@ -159,6 +167,39 @@ }, }, }) + //累计点 + if(viewData.cumulantRealData) { + legendData.push(key + "累计:" + '真实值') + seriesData.push({ + name: key + "累计:" + '真实值', + type: "line", + data: viewData.cumulantRealData, + showSymbol: false, + smooth: false, + lineStyle: { + normal: { + width: 1, + }, + }, + yAxisIndex: 1 + }) + } + if(viewData.cumulantPreData) { + legendData.push(key + "累计:" + '预测值') + seriesData.push({ + name: key + "累计:" + '预测值', + type: "line", + data: viewData.cumulantPreData, + showSymbol: false, + smooth: false, + lineStyle: { + normal: { + width: 1, + }, + }, + yAxisIndex: 1 + }) + } }) } @@ -199,9 +240,19 @@ boundaryGap: false, data: data.categories, }, - yAxis: { - type: "value", - }, + yAxis: [ + { + type: "value", + name: '预测值/真实值' + }, + { + type: "value", + splitLine: { + show: false + }, + name: '累计值' + } + ], dataZoom: [ { type: "inside", -- Gitblit v1.9.3