chart.vue 2.13 KB
Newer Older
xiexingan's avatar
xiexingan committed
1
// 曲线图 ==》 (首页,数据分析)
xiexingan's avatar
xiexingan committed
2
<template lang='pug'>
xiexingan's avatar
xiexingan committed
3
div(:id="id", :style="{ width: '100%', height: '90%' }")
xiexingan's avatar
xiexingan committed
4 5 6 7
</template>

<script>
export default {
xiexingan's avatar
xiexingan committed
8
  props: ['id', 'data', 'title', 'color', 'yAxisName'],
xiexingan's avatar
xiexingan committed
9
  watch: {
xiexingan's avatar
xiexingan committed
10 11 12 13 14 15
    data: {
      immediate: true,
      deep: true,
      handler(newValue, oldValue) {
        this.initChart()
      }
xiexingan's avatar
xiexingan committed
16
    }
xiexingan's avatar
xiexingan committed
17
  },
xiexingan's avatar
xiexingan committed
18
  mounted() {
xiexingan's avatar
xiexingan committed
19
    this.initChart()
xiexingan's avatar
xiexingan committed
20 21
  },
  methods: {
xiexingan's avatar
xiexingan committed
22 23
    initChart() {
      let dom = document.getElementById(this.id)
xiexingan's avatar
xiexingan committed
24 25 26 27 28
      if (!dom) return
      let myCharts = this.$echarts.init(dom)
      let option = {
        // color:['#D0F0FF'],
        title: {
xiexingan's avatar
xiexingan committed
29
          text: this.title
xiexingan's avatar
xiexingan committed
30 31
        },
        tooltip: {
xiexingan's avatar
xiexingan committed
32 33
          trigger: 'axis',
          transitionDuration: 0
xiexingan's avatar
xiexingan committed
34 35 36 37 38 39 40 41
        },
        grid: {
          left: '3%',
          bottom: '3%',
          containLabel: true
        },
        xAxis: [
          {
xiexingan's avatar
xiexingan committed
42 43 44
            // type: 'category',
            type: 'time',
            boundaryGap: false
xiexingan's avatar
xiexingan committed
45 46 47 48
          }
        ],
        yAxis: [
          {
xiexingan's avatar
xiexingan committed
49 50 51
            type: 'value',
            name: this.yAxisName

xiexingan's avatar
xiexingan committed
52 53 54 55
          }
        ],
        series: [
          {
xiexingan's avatar
xiexingan committed
56
            name: '',
xiexingan's avatar
xiexingan committed
57 58 59 60 61 62 63 64 65 66 67 68
            type: 'line',
            stack: '总量',
            smooth: true,
            // label: {
            //   show: true,
            //   position: 'top'
            // },
            areaStyle: {
              normal: {
                color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                  {
                    offset: 0,
xiexingan's avatar
xiexingan committed
69
                    color: this.color // 0% 处的颜色
xiexingan's avatar
xiexingan committed
70 71 72 73 74 75 76 77 78
                  },
                  {
                    offset: 1,
                    color: '#fff' // 100% 处的颜色
                  }
                ])
              }
            },
            lineStyle: {
xiexingan's avatar
xiexingan committed
79
              color: this.color
xiexingan's avatar
xiexingan committed
80 81 82 83 84 85 86 87 88
            },
            itemStyle: {
              normal: {
                color: '#13B0FF'
              }
            },
            emphasis: {
              focus: 'series'
            },
xiexingan's avatar
xiexingan committed
89
            data: this.data
xiexingan's avatar
xiexingan committed
90 91 92
          }
        ]
      }
xiexingan's avatar
xiexingan committed
93
      myCharts.setOption(option, true)
xiexingan's avatar
xiexingan committed
94 95 96 97 98 99 100
    }
  }
}
</script>

<style lang="scss" scoped>
</style>