<template>
  <div class="my-echarts">
      <p style="padding-top:10px;padding-left:20px;">单位：{{detailData.unit}}</p>
      <div id="alarmCharts" style="width:634px;height:400px;"></div>
  </div>
</template>

<script>
var echarts = require("echarts")
export default {
  components: {

  },

  mixins: [],

  props: ['charts', 'detailData'],

  data () {
    return {

    }
  },

  computed: {

  },
  mounted () {
    let vm = this
    this.$nextTick(function () {
      vm.getAlarmCharts()
    })
  },

  methods: {
    getAlarmCharts () {
      let _this = this
      let timeX = []
      let valueY = []
      this.charts.map(el => {
        timeX.push(el.time)
        valueY.push(el.value)
        return (timeX, valueY)
      })

      let alarmCharts = echarts.init(document.getElementById('alarmCharts'))

      alarmCharts.setOption({
        tooltip: {
          trigger: 'axis',
          position: function (pt) {
            return [pt[0], '10%']
          },
          formatter: function (params, ticket, callback) {
            return params[0].axisValue + "<br/>" + params[0].data + _this.detailData.unit
          }
        },
        title: {
          left: 'center',
          text: ''
        },
        xAxis: {
          type: 'category',
          boundaryGap: false,
          data: timeX.reverse()
        },
        yAxis: {
          type: 'value',
          boundaryGap: [0, '100%']
        },
        dataZoom: [{
          type: 'inside',
          start: 0,
          end: 100
        }, {
          start: 0,
          end: 10,
          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',
            shadowBlur: 3,
            shadowColor: 'rgba(0, 0, 0, 0.6)',
            shadowOffsetX: 2,
            shadowOffsetY: 2
          }
        }
        ],
        series: [
          {
            name: '数据',
            type: 'line',
            smooth: true,
            symbol: 'none',
            sampling: 'average',
            itemStyle: {
              color: 'rgb(255, 70, 131)'
            },
            areaStyle: {
              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0,
                color: 'rgb(255, 158, 68)'
              }, {
                offset: 1,
                color: 'rgb(255, 70, 131)'
              }])
            },
            data: valueY.reverse()
          }
        ]
      })
    }
  }

}
</script>

<style scoped lang="less" >
.my-echarts {
  position: relative;
  #alarmCharts {
    position: absolute;
    top: -20px;
  }
}

</style>
