<template>
  <div ref="chart" style="width: 100%; height: 200px"></div>
</template>

<script setup >
import { onMounted, reactive, ref } from "vue";
// 局部引入echarts核心模块
import * as echarts from "echarts";

const chart = ref(); // 创建DOM引用

let option = {
  tooltip: {
    trigger: "axis",
    formatter: "{b0}<br />{a0}:{c0} <br />{a1}:{c1} ",
  },
  legend: {
    top: "8%",
    right: "11%",
    textStyle: {
      fontSize: 12,
      color: "#ccc",
    },
  },
  grid: {
    left: "1%",
    right: "10%",
    bottom: "0%",
    containLabel: true,
  },
  calculable: true,
  xAxis: [
    {
      type: "category",
      axisLabel: {
        //坐标轴刻度标签的相关设置
        textStyle: {
          color: "#ccc",
        },
      },
      data: ["2019", "2020", "2021", "2022", "2023"],
    },
     {
      axisTick: false,
      type: "category",
      data: ["2019", "2020", "2021", "2022", "2023"],
      axisLabel: {
        show: false,
      },
    },

  ],

  yAxis: [
    {
      type: "value",
      splitLine: {
        show: true,
        lineStyle: {
          color: "rgba(226, 226, 226, 0.3)",
          width: 1,
        },
      },
      axisLabel: {
        //坐标轴刻度标签的相关设置
        textStyle: {
          color: "#ccc",
        },
      },
    },
     {
      type: "value",
      min: 0,
      max: 100,
      splitLine: {
        show: false,
        lineStyle: {
          type: "solid",
          color: "rgb(221, 242, 255,0.1)"
        },
      },
      axisLine: {
        show: false,
        lineStyle: {
          type: "dotted",
        },
      },
      axisLabel: {
        show: false,
        fontSize: 14,
        fontFamily: "MicrosoftYaHei",
        color: "#DEF1FF",
        lineHeight: 19,
      },
    },

  ],
  series: [
    {
      name: "特困补助金额",
      type: "bar",
      data: [2.0, 4.9, 7.0, 23.2, 25.6],
      barWidth: "18%",
      itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          {
            offset: 0,
            color: "rgba(142, 187, 255, 1)",
          },
          {
            offset: 1,
            color: "rgba(142, 187, 255, 0.20)",
          },
        ]),
      },
    },
    {
      name: "低保补助金额",
      type: "bar",
      data: [2.6, 5.9, 9.0, 26.4, 28.7],
      barWidth: "18%",
      itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          {
            offset: 0,
            color: "rgba(23, 237, 255, 1)",
          },
          {
            offset: 1,
            color: "rgba(23, 237, 255, 0.20)",
          },
        ]),
      },
    },
    {
      type: "bar",
      xAxisIndex: 1,
      yAxisIndex: 1,
      itemStyle: {
        color: "rgba(221, 242, 255, 0.1)",
      },
      data: ["2019", "2020", "2021", "2022", "2023"].map(() => 100),
      barWidth: 50,
    },
  ],
};

// 使用生命钩子
onMounted(() => {
  // 基于准备好的dom，初始化echarts实例
  // var myChart = echarts.init(document.getElementById('main'));
  // Vue3中： 需要引入
  var myChart = echarts.init(chart.value);

  // init(); // vue3.2没有this
  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);

  // 单图表响应式: 跟随浏览器大小改变
  //   window.addEventListener("resize", () => {
  //     myChart.resize();
  //   });
});
</script>

<style scoped>
</style>