全貌统计加指标

全貌统计加指标

作者:


https://shimo.im/sheets/16q8MDar7Ktv0mk7/cayv7,所有的指标会在这个文档里说明。其中【指标编码】是下文中提到的 MeasureId 。

需要现在go上配置好指标,然后在前端中获取指标并进行设置。

go

  1. trek/services/dashboard/config/project-overview.go
  2. addProjectStatisticsConfig函数
  3. 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 保持一致

前端

  1. 进入目录apps/link/src/main/screens/projects/project-view/Statistics,将用到 default/constant.ts,default/defaultLayout.ts,Statistics.ts等几个文件。
  2. 在 constant.ts 文件中,将go上定义的各个指标的 Id 都定义到 moduleKeys 中。
  3. 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,
}),
  1. Statistics.tsx文件,cardList变量,在其中加入各个指标的 Id