dengzedong
6 天以前 932c3ab49ea4e911fb2c2531c29d6609ac5afefd
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"
@@ -58,8 +57,8 @@
const message = useMessage() // 消息弹窗
const visible = ref(false);
const chartDomPre = ref(null);
let myChart = null;
const chartDomPre = ref();
let myChart = undefined;
const chartParams = reactive({
  itemId: undefined,
  startTime: undefined,
@@ -79,7 +78,16 @@
  dataForm.value.id = row.id;
  dataForm.value.itemName = row.itemname;
  if (row.id) {
    nextTick(() => {
      myChart = echarts.init(chartDomPre.value);
    });
    getDataList();
  }
}
const dialogClose = () => {
  if (myChart) {
    myChart.dispose(); // 组件卸载时销毁实例
  }
}
@@ -94,15 +102,15 @@
      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.lastTime) {
      if (data.predictTime) {
        seriesData.push({
          name: '',
          data: [null],
@@ -116,11 +124,11 @@
              width: 2
            },
            data: [{
              xAxis: data.lastTime
              xAxis: data.predictTime
            }],
            label: {
              normal: {
                formatter: data.lastTime
                formatter: data.predictTime
              }
            },
            symbol: ['circle', 'none'],
@@ -131,18 +139,22 @@
      if (data.viewMap) {
        Object.keys(data.viewMap).forEach(key => {
          let viewData = data.viewMap[key]
          seriesData.push({
            name: key + ":" + '真实值',
            type: "line",
            data: viewData.realData,
            showSymbol: false,
            smooth: false,
            lineStyle: {
              normal: {
                width: 1,
          if(viewData.realData) {
            legendData.push(key + ":" + '真实值')
            seriesData.push({
              name: key + ":" + '真实值',
              type: "line",
              data: viewData.realData,
              showSymbol: false,
              smooth: false,
              lineStyle: {
                normal: {
                  width: 1,
                },
              },
            },
          })
            })
          }
          legendData.push(key + ":" + '预测值')
          seriesData.push({
            name: key + ":" + '预测值',
            type: "line",
@@ -158,7 +170,6 @@
        })
      }
      myChart = echarts.init(chartDomPre.value);
      const option = {
        title: {
          text: dataForm.value.itemName,
@@ -217,15 +228,15 @@
const exportLoading = ref(false)
const handleExport = async () => {
  chartParams.itemId = dataForm.value.id;
  chartParams.startTime = dataForm.value.startTime;
  chartParams.endTime = dataForm.value.endTime;
  chartParams.startTime = dataForm.value.startTime?dataForm.value.startTime:"";
  chartParams.endTime = dataForm.value.endTime?dataForm.value.endTime:"";
  try {
    // 导出的二次确认
    await message.exportConfirm()
    // 发起导出
    exportLoading.value = true
    /*const data = await DaPoint.exportDaPointValue(chartParams)
    download.excel(data, dataForm.value.pointName + '.xls')*/
    const data = await McsApi.exportPredictValue(chartParams)
    download.excel(data, dataForm.value.itemName + '.xls')
  } catch {
  } finally {
    exportLoading.value = false