已打卡总人数

描述:当前是关于Echarts图表中的 饼图 示例。
 
               var colorList = ['#407AFB', '#1791FF', '#36B0FE', '#6635EF', '#73ACFF', '#41CBAB', '#7BDD43', '#FFC653', '#FF6519', '#EE3939', '#FFAFDA', '#00FFFF'];
        const colorArr = ['#0265fe', '#20D3ABee', '#FDD56Aee', '#ff7b23', '#097b9a'];
        const colorAlpha = ['#0265fe', '#20D3AB88', '#FDD56A88', '#ff7b23', '#097b9a'];
        var seriesdata1 = [
        {
            name: '压铸车间',
            value: 3200,
            percent: 5.01,
            itemStyle: {
                normal: {
                    borderWidth: 5,
                    shadowBlur: 20,
                    borderColor: colorAlpha[0],
                    shadowColor: colorArr[0],
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    {
                        offset: 0,
                        color: colorArr[0],
                    },
                    {
                        offset: 1,
                        color: colorAlpha[0],
                    }, ]),
                },
            },
        },
        {
            name: '浇铸车间',
            value: 1400,
            percent: 5.12,
            itemStyle: {
                normal: {
                    borderWidth: 5,
                    shadowBlur: 20,
                    borderColor: colorAlpha[1],
                    shadowColor: colorArr[1],
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    {
                        offset: 0,
                        color: colorArr[1],
                    },
                    {
                        offset: 1,
                        color: colorAlpha[1],
                    }, ]),
                },
            },
        },
        {
            name: '机加一车间',
            value: 3400,
            percent: 1.87,
            itemStyle: {
                normal: {
                    borderWidth: 5,
                    shadowBlur: 20,
                    borderColor: colorAlpha[2],
                    shadowColor: colorArr[2],
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    {
                        offset: 0,
                        color: colorArr[2],
                    },
                    {
                        offset: 1,
                        color: colorAlpha[2],
                    }, ]),
                },
            },
        },
        {
            name: '机加二车间',
            value: 3000,
            percent: 0.87,
            itemStyle: {
                normal: {
                    borderWidth: 5,
                    shadowBlur: 20,
                    borderColor: colorAlpha[3],
                    shadowColor: colorArr[3],
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    {
                        offset: 0,
                        color: colorArr[3],
                    },
                    {
                        offset: 1,
                        color: colorAlpha[3],
                    }, ]),
                },
            },
        }];

        var objData = array2obj(seriesdata1, 'name');

        //将合计值转换为数组
        var h = '12400';
        arr = h.split('');
        m = '';

        for (i = 0; i < arr.length; i++) {
            m += '{a|' + arr[i] + '}';
            if (i != arr.length - 1) {
                m += '  ';
            }
        }

        option = {
            backgroundColor:'#ooo',
            grid: {
                x: '30%',
                y: '3',
                x2: '5%',
                y2: '5%',
                borderWidth: 1,
                borderColor: '#f0f0f0',
            },
            title: [
            {
                text: '{b|已打卡总人数:}' + m,
                left: '68%',
                top: '3%',
                textAlign: 'center',
                textStyle: {
                    fontWeight: 'normal',
                    fontSize: '20',
                    color: '#FFFFFF',
                    textAlign: 'center',
                    rich: {
                        a: {
                            fontSize: '34',
                            fontWeight: 'bold',
                            backgroundColor: 'rgba(56,89,255,0.2)',
                            borderColor: 'rgba(56,211,255,1)',
                            borderWidth: 1,
                            padding: [6, 6, 6, 6],
                            shadowColor: 'rgba(56,211,255,1)',
                            shadowBlur: 3,
                            borderRadius: 3
                        },
                        b: {
                            fontSize: '34',
                            fontWeight: 'bold',
                            padding: [6, 6, 6, 6],
                            color: '#FFFFFF',
                        }
                    }
                },
            }, ],
            legend: {
                show: true,
                //icon: 'circle',
                orient: 'vertical',
                top: '30%',
                left: '65%',
                itemGap: 60,
                itemWidth: 15,
                itemHeight: 10,
                data: seriesdata1,
                formatter: function (name) {
                    return '{a|' + name + '}{c|' + objData[name].value.toFixed(0) + '人}';
                },
                textStyle: {
                    rich: {
                        a: {
                            align: 'left',
                            fontSize: 24,
                            color: 'rgba(255,255,255,1)',
                            width: 40,
                            //fontWeight: 600,
                            padding: [0, 0, 0, 10],
                        },
                        c: {
                            align: 'right',
                            fontSize: 24,
                            color: 'rgba(255,255,255,1)',
                            width: 30,
                            //fontWeight: 600,
                            padding: [0, 0, 0, 160],
                        },
                    },
                },
            },
            series: {
                type: 'pie',
                center: ['34%', '55%'],
                radius: ['25%', '40%'],
                clockwise: true,
                //startAngle: 50,
                avoidLabelOverlap: true,
                hoverOffset: 15,
                itemStyle: {
                    normal: {
                        color: function (params) {
                            return colorList[params.dataIndex];
                        },
                    },
                },
                label: {
                    show: true,
                    position: 'outside',
                    formatter: function (data) {
                        //console.log('data',data)
                        return (
                            '{name|' + data.name + ':' + '\n}' + ' \n{value|占比:' + data.percent.toFixed(0) + '%}'
                        );
                    },
                    rich: {
                        name: {
                            fontSize: 20,
                            color: '#ffffff',
                        },
                        value: {
                            fontSize: 20,
                            color: '#ffffff',
                        },
                    },
                },
                labelLine: {
                    show: false,
                    normal: {
                        length: 15,
                        length2: 40,
                        align: 'right',
                        lineStyle: {
                            width: 4,
                        },
                    },
                },
                data: seriesdata1,
                seriesIndex: 0,
            },
        };

        function array2obj(array, key) {
            var resObj = {};
            for (var i = 0; i < array.length; i++) {
                resObj[array[i][key]] = array[i];
            }
            return resObj;
        }