开源度量-projectActivity‘

This commit is contained in:
caishi 2024-11-08 10:15:43 +08:00
parent d5d81aafa6
commit 3b5fcfdee2
3 changed files with 16 additions and 12 deletions

View File

@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react';
import StackImg from './stackImg';
import Pie from './pie';
import { Select } from 'antd';
import Nodata from '../../../Nodata';
function CompanyData({ data }){
@ -102,7 +103,7 @@ function CompanyData({ data }){
},[c4])
return(
<div>
(!c1 && !c2 && !c3 && !c4) ? <div>
<div className='dropEchartPanel'>
{
c1userValue && c1userDrop && c1userDrop.length>0 &&
@ -161,6 +162,8 @@ function CompanyData({ data }){
<Pie title={'公司总提交数'} values={pieValues}/>
</div>
</div>
:
<Nodata _html="暂无数据~"/>
)
}
export default CompanyData;

View File

@ -17,7 +17,7 @@ export const subField={
项目影响:"influence"
}
export const thirdData = {
developmentEfficiency:["PRNum","PRTime","commitNum","issueTime","individualHistory"],
developmentEfficiency:["PRNum","PRTime","commitNum","issueTime","ProjectActivity"],
developmentQuality:["commitMessageQuality","issueNum"],
individual:["individualLoss","individualNum","longTermIndividualNum"],
company:["companyLead","companyLoss","companyNum","longTermCompanyNum"],
@ -30,7 +30,7 @@ export const fieldData = {
issueTime:"Issue处理间隔",
commitMessageQuality:"Commit message质量",
issueNum:"Issue数量",
individualHistory:"项目活跃度",
ProjectActivity:"项目活跃度",
individualLoss:"长期贡献者稳定性",
individualNum:"活跃开发者占比",
longTermIndividualNum:"长期贡献者占比",
@ -53,10 +53,12 @@ export const detailByName={
PR数量:{desc:"通过分析项目每月提交的PR数量对PR数量指标进行度量"},
PR处理间隔:{desc:"通过分析每个月新增PR的平均处理间隔对PR处理间隔(小时)指标进行度量"},
Issue处理间隔:{desc:"通过分析每个月新增Issue的平均处理间隔对Issue处理间隔(小时)指标进行度量"},
活跃开发者占比:{desc:"通过分析每个月活跃的活跃开发者占比数量对活跃开发者指标进行度量"},
项目活跃度:{desc:"不同类型的贡献者每月/周给master分支的贡献次数",month:true,user_login:true},
长期贡献者占比:{desc:"通过分析每个月活跃的长期个体贡献者数量对长期个体贡献者数量指标进行度量"},
长期贡献者稳定性:{desc:"通过分析具体的即将流失的长期贡献者流失概率对个体贡献者稳定性指标进行度量",bar:true},
活跃开发者占比:{desc:"通过分析每个月活跃的个体贡献者数量对个体贡献者数量指标进行度量",descTitle:"个体贡献者数量"},//个体贡献者数量
项目活跃度:{desc:"不同类型的贡献者每月/周给master分支的贡献次数",month:true,user_login:true,descTitle:"所有个体开发者贡献历史"},//所有个体开发者贡献历史
长期贡献者占比:{desc:"通过分析每个月活跃的长期个体贡献者数量对长期个体贡献者数量指标进行度量",descTitle:"长期个体贡献者数量"},//长期个体贡献者数量
长期贡献者稳定性:{desc:"通过分析具体的即将流失的长期贡献者流失概率对个体贡献者流失预测指标进行度量",bar:true,descTitle:"个体贡献者流失预测"},//个体贡献者流失预测
公司贡献者数量:{desc:"通过分析每月做出了贡献的公司贡献者数量对公司贡献者数量指标进行度量"},
长期公司贡献者数量:{desc:"通过分析每月的长期对项目做出贡献的公司贡献者数量对长期公司贡献者数量指标进行度量"},
公司主导:{desc:"从每月公司贡献占比、每月公司总贡献、每月公司贡献最高模块中总贡献、公司总提交数四个方面对公司主导指标进行度量",radar:true},

View File

@ -63,16 +63,15 @@ function Dimension(props){
}
let data = res && res.data;
if(data){
console.log(data.score);
let d = data[t] ? data[t].value : data.value;
let s = data.score || data[t].score;
let s = data.score !== undefined ? data.score : data[t].score;
setData(d);
if(t==="companyLoss"){
d = d.map(i=>{return { month:i.Company , count : (i["Predicted State"] || 0.0)}});
console.log(d);
setData(d);
}else if(t === "companyNum" || t === "longTermCompanyNum" || t==="companyLead"){
d = [Object.assign(data.value)];
console.log(d);
d = Object.keys(data.value).length === 0 ?[]:[Object.assign(data.value)];
setData(d);
}
setScore(s);
@ -128,7 +127,7 @@ function Dimension(props){
</Select>
</div>
<div className='dropEcharts'>
<p className='dropName'>{dValue}</p>
<p className='dropName'>{dValue && (detailByName[dValue.replace(/\s/g, '')].descTitle ? detailByName[dValue.replace(/\s/g, '')].descTitle : dValue)}</p>
<p className='dropDesc'>{dValue && detailByName[dValue.replace(/\s/g, '')].desc}</p>
{
data && data.length > 0 ?