
import * as echarts from "echarts";
const getPieChart = (number, current, total) => {
    const option = {
        // 图表标题可置于中心，模拟居中文字的一部分
        title: {
            text: current + '/' + total, // 主百分比文字
            left: 'center',
            top: 'center',
            textStyle: {
                fontSize: 20,
                fontWeight: 'bold',
                color: '#333'
            }
        },
        series: [
            // 背景环系列
            {
                type: 'pie',
                radius: ['84%', '96%'], // 细圆环：内半径50%，外半径55% [citation:5]
                silent: true, // 禁用交互 [citation:2]
                label: { show: false }, // 不显示标签 [citation:2]
                data: [
                    {
                        value: 100, // 背景环占满100%，模拟完整圆环
                        itemStyle: {
                            color: '#f0f0f0' // 背景环颜色，通常为浅色
                        }
                    }
                ]
            },
            // 数据进度环系列
            {
                type: 'pie',
                radius: ['80%', '100%'], // 与背景环同样粗细
                startAngle: 90, // 起始角度，从顶部开始 [citation:4]
                labelLine: false,
                silent: true,
                data: [
                    {
                        value: number, // 实际进度值，对应70%
                        itemStyle: {
                            // 使用线性渐变
                            color: {
                                type: 'linear',
                                x: 1,
                                y: 0,
                                x2: 0,
                                y2: 0,
                                colorStops: [{
                                    offset: 0, color: 'rgba(105, 177, 255, 1)' // 渐变起始颜色
                                }, {
                                    offset: 1, color: 'rgba(255, 120, 117, 1)' // 渐变结束颜色
                                }]
                            }
                        }
                    },
                    {
                        value: 100 - number, // 剩余部分 (100 - 70)%
                        itemStyle: {
                            color: 'transparent' // 剩余部分透明，仅显示实际进度部分
                        }
                    }
                ]
            }
        ]
    };
    return option
}
const setChart = (option, chartDom) => {
    let chart = echarts.init(chartDom);
    chart.setOption(option);
    return chart;
};
export {
    getPieChart,
    setChart
}