潘志宝
2025-02-11 52bd8c50dfeb8599b317813c9b60e88118e7edbd
累计值曲线
已修改1个文件
108 ■■■■■ 文件已修改
src/views/model/pre/analysis/index.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/pre/analysis/index.vue
@@ -166,7 +166,7 @@
              </el-form>
              <el-form :inline="true" :model="formData" label-width="100px">
                <el-row>
                  <el-col :span="12">
                  <el-col :span="16">
                    <el-form-item label="数据类型">
                      <el-checkbox-group v-model="formData.chartCheck" @change="changeChartCheck">
                        <el-checkbox v-for="item in formData.chartOptions" :label="item"
@@ -225,7 +225,7 @@
  currentStamp60: '',
  predictStamp: '',
  chartCheck: ['T+L', '真实值'],
  chartOptions: ['T+N', 'T+L', '当时', '真实值', '调整值'],
  chartOptions: ['T+N', 'T+L', '当时', '真实值', '调整值', '预测累计', '真实累计'],
  checkedItemData: [],
  backItem: '',
  backValue: 0,
@@ -297,6 +297,22 @@
    formData.value.endTime = data.endTime
    let xAxisData = data.categories;
    let defaultYAxis = [
      {
        type: 'value',
        name: "累计值",
        splitLine: {show: false},
        axisLine: {show: true},
        position: 'right'
      },
      {
        type: 'value',
        name: "",
        splitLine: {show: false},
        axisLine: {show: true},
        position: 'left'
      }
    ];
    let yAxisData = [];
    let offset = 0;
    let yAxisIndex = 0;
@@ -327,12 +343,27 @@
      },
    });
    itemDataObject.value = {}
    yAxisData.push({
      type: 'value',
      name: "累计值",
      position: 'right',
      splitLine: {
        show: false
      },
      axisLine: {
        show: true,
        lineStyle: {}
      },
      axisLabel: {
        formatter: '{value}'
      }
    })
    for (let i = 0; i < data.dataViewList.length; i++) {
      let dataView = data.dataViewList[i]
      itemDataObject.value[dataView.outId] = dataView;
      let maxValue = dataView.maxValue;
      let minValue = dataView.minValue;
      yAxisIndex = formData.value.isMultipleY ? i : 0;
      yAxisIndex = (formData.value.isMultipleY ? i : 0) + 1;
      let yMax = maxValue;
      if (maxValue < 0) {
        maxValue = 1;
@@ -451,6 +482,68 @@
          }
        });
      }
      if (chartCheckArray.indexOf('预测累计') !== -1) {
        let legendName = dataView.resultName + '(预测累计)';
        legendData.push(legendName);
        let seriesLeiJiData = []
        if (dataView.curData) {
          let leiJi = 0;
          for (let i = 0; i < dataView.curData.length; i++) {
            let item = dataView.curData[i];
            leiJi = leiJi + Number(item[1])
            seriesLeiJiData.push([item[0], (leiJi / 60).toFixed(2)]);
          }
        }
        seriesData.push({
          name: legendName,
          data: seriesLeiJiData,
          type: 'line',
          yAxisIndex: 0,
          showSymbol: false,
          connectNulls: true,
          smooth: false,
          lineStyle: {
            width: 2,
            type: 'dashed'
          }
        });
      }
      if (chartCheckArray.indexOf('真实累计') !== -1) {
        let legendName = dataView.resultName + '(真实累计)';
        legendData.push(legendName);
        let seriesLeiJiData = []
        if (dataView.realData) {
          let leiJi = 0;
          let lCount = 0
          for (let i = 0; i < dataView.realData.length; i++) {
            let item = dataView.realData[i];
            if(new Date(item[0]).getTime() < new Date(formData.value.predictTime).getTime()) {
              continue
            }
            if (lCount > dataView.curData.length) {
              continue
            }
            lCount = lCount + 1
            leiJi = leiJi + Number(item[1])
            seriesLeiJiData.push([item[0], (leiJi / 60).toFixed(2)]);
          }
        }
        seriesData.push({
          name: legendName,
          data: seriesLeiJiData,
          type: 'line',
          yAxisIndex: 0,
          showSymbol: false,
          connectNulls: true,
          smooth: false,
          lineStyle: {
            width: 2,
            type: 'dashed'
          }
        });
      }
    }
    //如果最大值相差不大,改成一致大小
    if (yMaxArr.length > 1) {
@@ -462,6 +555,7 @@
        }
      }
    }
    myChart = echarts.init(dataAnalysisChart.value);
    let option = {
      title: {
@@ -487,11 +581,7 @@
        boundaryGap: false,
        data: xAxisData
      },
      yAxis: formData.value.isMultipleY ? yAxisData : {
        type: 'value',
        splitLine: {show: false},
        axisLine: {show: true}
      },
      yAxis: formData.value.isMultipleY ? yAxisData : defaultYAxis,
      dataZoom: [
        {
          type: 'inside',
@@ -730,7 +820,7 @@
    currentStamp60: '',
    predictStamp: '',
    chartCheck: ['T+L', '真实值'],
    chartOptions: ['T+N', 'T+L', '当时', '真实值', '调整值'],
    chartOptions: ['T+N', 'T+L', '当时', '真实值', '调整值', '预测累计', '真实累计'],
    checkedItemData: [],
    backItem: '',
    backValue: 0,