合并代码

This commit is contained in:
谢思 2024-05-28 09:05:30 +08:00
commit 7a19330c88
3 changed files with 92 additions and 1 deletions

View File

@ -165,7 +165,7 @@ li.ant-menu-item{
.hoverA{
display:flex;
align-items: center;
max-width: 78px;
max-width: 100px;
&:hover a{
color:#2A61FF !important ;
}

View File

@ -0,0 +1,88 @@
import React ,{ Fragment, useEffect } from 'react';
import echarts from 'echarts/lib/echarts'
import 'echarts/lib/chart/radar';
import 'echarts/lib/component/tooltip';
import axios from 'axios';
import { Icon, Popover } from 'antd';
function Radar({owner,projectsId}) {
useEffect(()=>{
const url = `/v1/${owner}/${projectsId}/portrait.json`;
axios.get(url).then(res=>{
if(res && res.data){
Init(res.data);
}
}).catch(error=>{})
},[])
function Init(data) {
var huan_val = document.getElementById("projectPortrait");
var myEcharts = echarts.init(huan_val);
let option = {
color: ["#f8e367", "#99dfff", "#58c0f0", "#5ea6ff", "#ff9e48", "#bcbcbc"],
title: {
show:false
},
tooltip: {
trigger: 'item',
formatter: (params) =>{
const {name, seriesName, value} = params
const tips = seriesName.split(",").map((item, index)=>{
return `${item}${(value[index]-20).toFixed(2)}`
})
return [name].concat(tips).join("<br/>")
}
},
radar: {
indicator: [
{ name: '社区\n影响力', max: 120},
{ name: '项目\n成熟度', max: 120},
{ name: '项目\n健康度', max: 120},
{ name: '团队\n影响度', max: 120},
{ name: '开发\n活跃度', max: 120},
],
center:["50%","55%"]
},
series: [{
name: "社区影响力,项目成熟度,项目健康度,团队影响度,开发活跃度",
type: 'radar',
data: [
{
value: [addTwenty(data.community_impact), addTwenty(data.project_maturity), addTwenty(data.project_health), addTwenty(data.team_impact), addTwenty(data.develop_activity)],
name: '本项目评分'
},
]
}]
};
myEcharts.setOption(option);
}
function addTwenty(number){
return Number(number)+20
}
const content = (
<div>
从以下五个维度生成当前项目画像<br/>
社区影响力从项目点赞关注fork角度生成评分<br/>
项目成熟度从项目疑修合并请求提交总数量生成评分<br/>
项目健康度从项目疑修合并请求许可证完成度生成评分<br/>
团队影响度从项目团队稳定性新人增长率生成评分<br/>
开发活跃度从代码提交疑修及合并请求等开发活动频率生成评分
</div>
);
return(
<div className='halfs'>
<div className="font-16 color-ooo hoverA mb20">
项目画像
<Popover content={content}>
<Icon type="question-circle" theme="filled" className="color-blue ml10 pointer"/>
</Popover>
</div>
<div id="projectPortrait" style={{height:"230px"}}></div>
</div>
)
}
export default Radar;

View File

@ -32,6 +32,7 @@ const CoderRootFileDetail = Loadable({
loading: Loading,
});
import ProjectPortrait from '../Component/projectPortrait';
/**
* projectDetail.type:0是托管项目1是镜像项目2是同步镜像项目(为2时不支持在线创建在线上传在线修改在线删除创建合并请求等功能)
*/
@ -673,6 +674,8 @@ function CoderDepot(props){
}
{/* 贡献者 */}
{mirror_status ===0 && <Contributors owner={owner} projectsId={projectsId} /> }
{/* 项目画像 */}
<ProjectPortrait owner={owner} projectsId={projectsId}/>
{/* 语言 */}
{ mirror_status ===0 && <LanguagePower owner={owner} projectsId={projectsId}/> }
</div>