<script>
export default {
  data() {
    return {
      xData: [],
      xBgColor: [],
      moneyData: [],
      orderData: [],
    }
  },
  props: {
    height: Number,
    data: Array,
  },
  mounted() {
    this.$nextTick(()=>{
      this.initData()
      this.initChart()
    })
  },
  methods: {
    initData() {
      if (!this.data) {
        return;
      }
      for (let i = 0; i < this.data.length; i++) {
        let obj = this.data[i];
        this.xData.push(obj.label);
        this.moneyData.push(obj.money);
        this.orderData.push(obj.order);
        if (obj.money>=200) {
          this.xBgColor.push('rgb(253, 232, 229, 0.5)')
        } else {
          this.xBgColor.push('transparent')
        }
      }
    },
    initChart() {
      let chart = this.$echarts.init(this.$refs.myChart)
      let defaultOption = {
        legend: {
          data: [
            '餐厅消费金额',
            '餐厅消费订单',
          ]
        },
        grid: {
          left: '0%', //默认10%
          right: '0%', //默认10%
          bottom: '15%', //默认60
          top: '15%',
          containLabel: true
          //grid区域是否包含坐标轴的刻度标签
        },
        xAxis: {
          data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
          splitArea: {
            show: true,
            areaStyle: {
              color: ['white']
            }
          }
        },
        yAxis: [
          {
            name: '金额(元)',
            type: 'value',
            nameTextStyle: {
              padding: [10, 0, 10, -12]
            },
          },
          {
            name: '订单(单)',
            type: 'value',
            nameTextStyle: {
              padding: [10, 20, 10, 0]
            },
          },
        ],
        dataZoom: [
          {
            start: 0,
            end: 100,
            height: 16,
          }
        ],
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'shadow'
          },
          textStyle: {
            color: '#fff',
            align: 'left',
            fontSize: 14
          },
          axisLine: {//x坐标轴轴线
            show: true,
            lineStyle: {//x坐标轴轴线样式
              color: '#000',//'#ccc' | 'rgb(128, 128, 128)' | 'rgba(128, 128, 128, 0.5)'，设置标签颜色
            }
          },
          backgroundColor: 'rgba(0,0,0,0.8)',
        },
        series: [
          {
            name: '餐厅消费金额',
            data: [274, 128, 213, 273, 114, 183, 245, 166, 187, 128, 137, 275],
            type: 'bar',
            yAxisIndex:0,
            barWidth: 20,
            backgroundStyle: {
              color: 'rgb(253, 232, 229, 0.5)'
            },
            itemStyle: {
              color: '#80b2ff'
            }
          },
          {
            name: '餐厅消费订单',
            data: [98, 71, 77, 57, 61, 75, 88, 87, 61, 54, 83, 91],
            type: 'line',
            itemStyle: {
              color: '#62CC97',
            },
            yAxisIndex:1,
            smooth: true,
            areaStyle: {
              color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0,
                color: '#B0E5CB' // 0% 处的颜色
              },{
                offset: 0.8,
                color: 'rgb(255,255,255,0.1)'
              }], false),
            },
            lineStyle: {
              color: "#62CC97",
              width: 1,
            },
            emphasis: {
              scale:1.5
            },
          },
        ]
      };
      //Object.assign(defaultOption, this.option)
      chart.setOption(defaultOption)
    }
  }
}
</script>

<template>
  <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
</template>

<style lang="less" scoped>

</style>