// pages/task/check/index/index.js
import * as echarts from '../../../../ec-canvas/echarts';
let chart = null;
const app = getApp()

/**
 * 获取像素比
 */
const getPixelRatio = () => {
  let pixelRatio = 0
  wx.getSystemInfo({
    success: function (res) {
      pixelRatio = res.pixelRatio
    },
    fail: function () {
      pixelRatio = 0
    }
  })
  return pixelRatio
}

/**
 * 设置echarts
 */
function initChart(data) {
  if (chart == null) return
  chart.init((canvas, width, height) => {
    var dpr = getPixelRatio();
    const chart = echarts.init(canvas, null, {
      width: width,
      height: height,
      devicePixelRatio: dpr
    });
    canvas.setChart(chart);

    const option = {
      angleAxis: {
        show: false,
        max: (100 * 360) / 180, //-45度到225度，二者偏移值是270度除360度
        type: "value",
        startAngle: 180, //极坐标初始角度
        splitLine: {
          show: false,
        },
      },
      barMaxWidth: 10, //圆环宽度
      radiusAxis: {
        show: false,
        type: "category",
      },
      //圆环位置和大小
      polar: {
        center: ["50%", "80%"],
        radius: "250%",
      },

      series: [{
          type: "bar",
          data: [{
            //上层圆环，显示数据
            value: 50,
            itemStyle: {
              color: "#0062FF",
            },
          }, ],
          barGap: "-100%", //柱间距离,上下两层圆环重合
          coordinateSystem: "polar",
          roundCap: true, //顶端圆角
          z: 3, //圆环层级，同zindex
        },
        {
          //下层圆环，显示最大值
          type: "bar",
          data: [{
            value: 100,
            itemStyle: {
              color: "#EBEDF0",
              borderWidth: 0,
            },
          }, ],
          barGap: "-100%",
          coordinateSystem: "polar",
          roundCap: true,
          z: 1,
        },
        //仪表盘
        {
          type: "gauge",
          axisLine: {
            show: false,
          },
          splitLine: {
            show: false,
          },
          axisTick: {
            show: false,
          },
          axisLabel: {
            show: false,
          },
          splitLabel: {
            show: false,
          },
          pointer: false,
          detail: {
            formatter: function (params) {
              return `{number|${50 + "%\n"}}{wcl|任务完成进度}`;
            },
            rich: {
              number: {
                fontSize: 18,
                textAlign: "center",
                color: "#202229",
                fontWeight: "bolder",
              },
              wcl: {
                fontSize: 12,
                textAlign: "center",
                color: "#606977",
              },
            },
            color: "#fff",
            offsetCenter: ["0", "20"],
          },
          title: {
            show: false,
          },
          data: [{
            value: 50,
          }, ],
        },
      ],
    };

    chart.clear();
    chart.setOption(option);
    return chart;
  })
}

Page({

  /**
   * 页面的初始数据
   */
  data: {
    topBarH: app.globalData.CustomBar,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    chart = this.selectComponent('#d-chart')
    initChart({})
    this.setData(this.data)
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})