派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-04-12 8bb5942235c86ea771c4215a77c46b1245c30a93
src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue
@@ -1,8 +1,8 @@
<!--  日数据  -->
<template>
  <div id="Tab">
    <div class="infomation">
      <div>
    <div class="animation">
      <div class="infomation">
        <span class="grid-content">氮氧化物 : 29.93 标准 : 100</span>
        <span class="grid-content">二氧化硫 : 17.34 标准 : 50</span>
        <span class="grid-content">烟尘 : 6.93 标准 : 30</span>
@@ -32,7 +32,7 @@
        </div>
        <div>
          采样点数:
          <input list="source" id="ipt" class="echatsInput" v-model="value" @change="datalistBtn">
          <input list="source" id="ipt" class="echatsInput" @change="datalistBtn">
          <datalist id="source" @click="datalistBtn">
            <option value="0" />
            <option value="25" />
@@ -64,6 +64,7 @@
<script>
import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
// import dayjs from 'dayjs'
export default {
  name: 'ECharts',
@@ -77,30 +78,15 @@
      watchData: [],
      dialogVisible: false,
      myChar: null,
      value: '50',
      value: '',
      formInline: {
        user: '',
        region: ''
      },
      source: {
      }
      info: this.series
    }
  },
  methods: {
    datalistBtn (value) {
      // var inputSelect = document.getElementById('#ipt').value
      // var optionlength = document.getElementsByTagName('option').length
      // var optionId = ''
      // for (var i = 0; i < optionlength; i++) {
      //   // var optionValue = $('option').eq(i).attr('data-value')
      //   if (inputSelect == optionValue) {
      //     optionId = $('option').eq(i).attr('data-id')
      //   }
      // }
      console.log(1)
      // this.value = value
    },
    onSubmit () {
      console.log('submit!')
    },
@@ -117,12 +103,12 @@
        this.myChart.resize()
      }
    },
    initOptions: function (dataDate, dataValue1, dataValue2, dataValue3) {
    initOptions: function (dateDate, series) {
      var options = {
        title: {
          // text: '折线图堆叠'
        },
        color: ['#5470c6', '#91CC75', '#EE6666', '#FF0087'],
        color: ['#446cdc', '#c4c916', '#c1187e'],
        tooltip: {
          trigger: 'axis',
          axisPointer: {
@@ -170,7 +156,6 @@
          start: 0,
          end: 100,
          show: false,
          // handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
          handleSize: '80%',
          handleStyle: {
            color: '#fff',
@@ -183,8 +168,8 @@
        // x轴的设置
        xAxis: {
          type: 'category',
          boundaryGap: ['10%', '10%'],
          data: dataDate,
          boundaryGap: false,
          data: dateDate,
          axisLabel: { // x轴全部显示
            rotate: 20,
            interval: 0,
@@ -256,29 +241,7 @@
            }
          }
        }],
        series: [
          {
            name: 'COD',
            type: 'line',
            stack: '总量',
            data: dataValue1,
            yAxisIndex: 0
          },
          {
            name: '氨氮',
            type: 'line',
            stack: '总量',
            data: dataValue2,
            yAxisIndex: 0
          },
          {
            name: '废水流量',
            type: 'line',
            stack: '总量',
            data: dataValue3,
            yAxisIndex: 1
          }
        ]
        series: series
      }
      return options
    }
@@ -286,25 +249,33 @@
  mounted () {
    this.$nextTick(() => {
      this.drawChart()
      const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse()
      const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonDateData)).reverse()
      console.log(dataWatch)
      var dataValue1 = []
      var dataValue2 = []
      var dataValue3 = []
      var dataDate = []
      for (var i = 0; i < 24; i++) {
        dataDate.push(dataWatch[i].MonTimeStr.substring(0, 8))
      }
      var dateDate = []
      // {COD:[3,4,5]}
      var data = {}
      for (var n = 0; n < dataWatch.length; n++) {
        if (dataWatch[n].PoltmtrlName === 'COD') {
          dataValue1.push(dataWatch[n].MonQty)
        } else if (dataWatch[n].PoltmtrlName === '氨氮') {
          dataValue2.push(dataWatch[n].MonQty)
        } else if (dataWatch[n].PoltmtrlName === '废水流量') {
          dataValue3.push(dataWatch[n].MonQty)
        var d = dataWatch[n].MonTimeStr.substring(5, 9)
        if (dateDate.indexOf(d) < 0) {
          dateDate.push(d)
        }
        if (data[dataWatch[n].PoltmtrlName]) {
          data[dataWatch[n].PoltmtrlName].push(dataWatch[n].MonQty)
        } else {
          data[dataWatch[n].PoltmtrlName] = [dataWatch[n].MonQty]
        }
      }
      const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3)
      var series = []
      for (var k in data) {
        series.push({
          name: k,
          type: 'line',
          yAxisIndex: k === '废水流量' ? 1 : 0,
          data: data[k]
        })
      }
      console.log(series)
      const opitons = this.initOptions(dateDate, series)
      this.myChart = this.$echarts.init(this.$refs.main)
      this.myChart.setOption(opitons)
    })
@@ -313,16 +284,43 @@
</script>
<style scoped lang="less">
    .grid-content{
        font-size: 8px!important;
        background-color:#2e4967;
        text-align: center;
        margin: 0 2px 4px 2px;
        border-radius: 2px;
    }
    .Infomation {
        margin-left: 10px;
    }
//.animation{
//  padding: 0 1rem;
//  overflow: hidden;
//  //width: 1rem;
//  .infomation{
//    display: flex;
//    //margin: 0 1rem;
//    overflow: hidden;
//    animation: move 1s linear 0s infinite;
//    @keyframes move {
//      0% {
//      }
//      100% {
//        transform: translateX(-10%);
//      }
//    }
//    /* 鼠标经过marquee 就停止动画 */
//    &:hover {
//      //z-index: 9999999;
//      animation-play-state: paused;
//    }
//  }
//}
  .grid-content {
    font-size: 8px !important;
    background-color: #2e4967;
    text-align: center;
    margin: 0 2px 4px 2px;
    border-radius: 2px;
  }
.animation {
  //width: 600px;
  //height: 0.06rem;
  .Infomation {
    margin-left: 10px;
  }
}
    .form-echrts {
        width: 100%;
        border-top: 1px solid #396d83;