export default {
  legend: {
    bottom: 0,
    itemGap: 14,
    itemWidth: 16,
    itemHeight: 5,
    textStyle: {color: "#fff", fontSize: 14}
  },
  grid: {
    height: 260
  },
  xAxis: {show: false},
  yAxis: {show: false},
  tooltip: {
    backgroundColor: "rgba(14, 51, 111, 0.9)",
    borderColor: "#1A6ABC",
    textStyle: {color: "#fff"}
  },
  series: {
    type: "pie",
    minShowLabelAngle: 10,
    radius: [70, 81],
    itemStyle: {
      borderColor: "#fff",
      borderWidth: 2
    },
    label: {
      color: "#A8D7F3",
      fontSize: 14,
      formatter: "{name|{b}}\n{v|{d}%}",
      minMargin: 5,
      edgeDistance: 10,
      lineHeight: 22,
      rich: {
        v: {
          color: "#fff"
        }
      }
    },
    labelLine: {},
    labelLayout: function (params) {
      let points = params.labelLinePoints,
          isLeft = points[2][0] < points[1][0]
      points[2][0] =
          points[2][0] + (params.labelRect.width + 4) * (isLeft ? -1 : 1)
      return {
        labelLinePoints: points
      }
    }
  },
  render: (h, params) => {
    const formatNum = num => {
      if (num >= 10000000) {
        return num / 10000000 + "千万"
      }

      if (num >= 10000) {
        return num / 10000 + "万"
      }

      return parseFloat(num.toFixed(2))
    }

    let total = params.data.reduce((t, e) => {
      return t + Number(Object.values(e)?.[1] || 0)
    }, 0)
    return h(
        "div",
        {
          style: {
            height: "162px",
            width: "162px",
            color: "#8BCCFF",
            left: "50%",
            top: "50%",
            display: "flex",
            alignItems: "center",
            justifyContent: "center",
            flexDirection: "column",
            position: "absolute",
            transform: "translate(-50%,-50%)",
            backgroundImage: `url('https://cdn.cunwuyun.cn/dvcp/dv/tpl/pie2Circle.png')`,
            backgroundPosition: "center"
          }
        },
        [
          h(
              "span",
              {style: {fontSize: "28px", color: "#fff", fontFamily: "DIN"}},
              formatNum(total)
          ),
          h("span", null, "总量")
        ]
    )
  }
}
