forked from Gitlink/forgeplus-react
69 lines
1.6 KiB
JavaScript
69 lines
1.6 KiB
JavaScript
import React ,{ useEffect } from 'react';
|
|
import echarts from 'echarts/lib/echarts';
|
|
import 'echarts/lib/chart/pie';
|
|
|
|
function Pie({data}) {
|
|
|
|
useEffect(()=>{
|
|
if(data){
|
|
Init(data);
|
|
}
|
|
},[data])
|
|
|
|
function Init(d) {
|
|
var huan_val = document.getElementById("Pie");
|
|
var chart = echarts.init(huan_val);
|
|
let option = {
|
|
color: ["#f8e367", "#5ea6ff", "#ff9e48", "#99dfff"],
|
|
title: {
|
|
show:false
|
|
},
|
|
tooltip: {
|
|
trigger: 'item'
|
|
},
|
|
legend: {
|
|
top: '5%',
|
|
right: 'center'
|
|
},
|
|
series: [
|
|
{
|
|
name: '',
|
|
type: 'pie',
|
|
radius: ['40%', '70%'],
|
|
avoidLabelOverlap: false,
|
|
itemStyle: {
|
|
borderRadius: 10,
|
|
borderColor: '#fff',
|
|
borderWidth: 2
|
|
},
|
|
label: {
|
|
show: false,
|
|
position: 'center'
|
|
},
|
|
emphasis: {
|
|
label: {
|
|
show: true,
|
|
fontSize: '40',
|
|
fontWeight: 'bold'
|
|
}
|
|
},
|
|
labelLine: {
|
|
show: false
|
|
},
|
|
data: [
|
|
{value: d.developer && d.developer.count, name: '开发者'},
|
|
{value: d.manager && d.manager.count, name: '管理员'},
|
|
{value: d.owner && d.owner.count, name: '创建者'},
|
|
{value: d.reporter && d.reporter.count, name: '报告者'}
|
|
]
|
|
}
|
|
]
|
|
};
|
|
chart.setOption(option);
|
|
}
|
|
|
|
return(
|
|
<div id="Pie" style={{height:"400px"}}></div>
|
|
)
|
|
}
|
|
export default Pie; |