组件数量

描述:当前是关于Echarts图表中的 示例。
 
            let obj = {
      title: '报表组件数量',
      min: 0,
      max: 12,
      value: 10,
      color: {
        inner: [255, 155, 38],
        external: [0, 153, 255],
      },
    };
    let { title, min, max, value, color } = obj;
    let { inner, external } = color;
    let innerColor = `rgba(${inner[0]},${inner[1]},${inner[2]},1)`;
    let externalColor = `rgba(${external[0]},${external[1]},${external[2]},1)`;
     option = {
         backgroundColor:'black',
      grid: {
        top: '0',
        left: '10%',
        right: '10%',
        containLabel: true,
      },
      title: {
        text: title, //strInsert(title, 3),
        x: 'left',
        left: 5,
        bottom: 60,
        textStyle: {
          color: 'white',
          fontSize: 18,
          fontWeight: 'normal',
        },
      },
      tooltip: {},
      series: [
        {
          name: '内层数据刻度',
          type: 'gauge',
          center: ['50%', '50%'],
          radius: '85%',
          startAngle: 180,
          endAngle: -60,
          max,
          splitNumber: 6,
          axisLine: {
            // 坐标轴线
            show: true,
            lineStyle: {
              width: 0,
              shadowBlur: 0,
              color: [
                [0, externalColor],
                [1, externalColor],
              ],
            },
          },
          axisTick: {
            show: true,
            lineStyle: {
              color: 'auto',
              width: 1,
            },
            length: 5,
            splitNumber: 10,
          },
          splitLine: {
            // 分隔线
            length: 10, // 属性length控制线长
            lineStyle: {
              // 属性lineStyle(详见lineStyle)控制线条样式
              color: 'auto',
              width: 4,
            },
          },
          axisLabel: {
            color: 'white',
            fontSize: 14,
          },
          itemStyle: {
            color: innerColor,
          },
          data: [{ value }],
          detail: {
            show: true,
            offsetCenter: ['0', '-20%'],
            fontSize: 10,
            color: innerColor,
            show: false,
          },
          pointer: {
            width: 2,
            length: '90%',
          },
          animationDuration: 4000,
        },
        {
          name: '最内层线',
          type: 'gauge',
          radius: '30%',
          center: ['50%', '50%'],
          startAngle: 180,
          endAngle: -60,
          axisLine: {
            show: false,
            lineStyle: {
              opacity: 0,
            },
          },
          splitLine: {
            show: false,
            lineStyle: {
              opacity: 0,
            },
          },
          axisLabel: {
            show: false,
          },
          axisTick: {
            length: 3,
            splitNumber: 3,
            lineStyle: {
              color: innerColor,
              width: 1,
              type: 'solid',
            },
          },
          detail: {
            show: false,
          },
          pointer: {
            show: false,
          },
        },
        {
          //指针上的圆
          type: 'pie',
          tooltip: {
            show: false,
          },
          hoverAnimation: false,
          legendHoverLink: false,
          radius: ['0%', '14%'],
          center: ['50%', '50%'],
          label: {
            normal: {
              show: false,
            },
          },
          labelLine: {
            normal: {
              show: false,
            },
          },
          data: [
            {
              value: 120,
              itemStyle: {
                normal: {
                  color: innerColor,
                },
              },
            },
          ],
        },
        {
          //指针上的圆
          type: 'pie',
          tooltip: {
            show: false,
          },
          hoverAnimation: false,
          legendHoverLink: false,
          radius: ['10%', '10%'],
          center: ['50%', '50%'],
          label: {
            show: false,
          },
          labelLine: {
            show: false,
          },
          data: [
            {
              value: 120,
              itemStyle: {
                normal: {
                  borderColor: 'black',
                  borderWidth: 3,
                  color: innerColor,
                },
              },
            },
          ],
        },
      ],
    };