全貌统计加指标
作者:
https://shimo.im/sheets/16q8MDar7Ktv0mk7/cayv7,所有的指标会在这个文档里说明。其中【指标编码】是下文中提到的 MeasureId 。
需要现在go上配置好指标,然后在前端中获取指标并进行设置。
go
- trek/services/dashboard/config/project-overview.go
- addProjectStatisticsConfig函数
- addConfig
// 多值指标
addConfig(&dashboard.EvaluateCardConfig{
Id: "projectTimeStatisticCost",
Title: "工时成本",
Icon: "icongongshi1",
ViewType: dashboard.CardViewType_MultiValue,
ValueConfig: []dashboard.EvaluateValueConfig{
{
Id: "workingTimeCost",
Icon: "iconzonggongshi",
Title: "总工时成本",
MeasureId: "workingTimeCost",
Unit: dashboard.CardViewUnit_TenThounsand,
ClassName: "color1",
SupportPenetrate: true,
IsAmount: true,
ValuePeriodType: dashboard.MeasurePeriodValueTypeOccurs,
},
}
})
// 单值指标
addConfig(&dashboard.EvaluateCardConfig{
Id: "workingTimeCost",
Title: "总工时成本",
Icon: "",
ViewType: dashboard.CardViewType_SingleValue,
ValueConfig: dashboard.EvaluateValueConfig{
Id: "count",
Icon: "iconzonggongshi",
Title: "总工时成本",
MeasureId: "workingTimeCost",
Unit: dashboard.CardViewUnit_TenThounsand,
IsAmount: true,
ClassName: "color1",
SupportPenetrate: true,
ValuePeriodType: dashboard.MeasurePeriodValueTypeOccurs,
},
})
需要格外注意的几个字段的说明:
- ViewType:单值指标还是多值指标
- IsAmount:金额,会受到单位设置(元或万元)影响
- Unit:单位,设置为万元,会收到单位设置影响
- MeasureId:文章开头提到的指标编码
- Id:前端匹配用的id,与 MeasureId 保持一致
前端
- 进入目录apps/link/src/main/screens/projects/project-view/Statistics,将用到 default/constant.ts,default/defaultLayout.ts,Statistics.ts等几个文件。
- 在 constant.ts 文件中,将go上定义的各个指标的 Id 都定义到 moduleKeys 中。
- defaultLayout.ts文件,在defaultMainLayoutWithContract和defaultMainLayout两个数组中分别加指标,并修改contractConfigVersion和configVersion两个版本号。
getSingleDimension({
i: moduleKeys.WorkingTimeCost,
x: 2,
y: 5,
defaultShow: false,
}),
getMulDimension({
i: moduleKeys.ProjectTimeStatisticCost,
x: 0,
y: 1,
defaultShow: false,
}),
- Statistics.tsx文件,cardList变量,在其中加入各个指标的 Id