虚拟字段

虚拟字段

作者:


虚拟字段

go的元数据定义中已经定义了虚拟字段

type Field struct {
    /**
	 * 字段是否是虚拟字段(扩展字段)
	 */
	IsExtendField bool `json:"isExtendField"`
	/**
	 * 扩展字段的扩展信息, 用来定义扩展字段的类型,如果是参照,则需要额外增加参照等相关信息
	 */
	ExtendInfo *ExtendInfo `json:"extendInfo,omitempty"`
}
/** 扩展字段的信息 */
type ExtendInfo struct {
	Type              string   `json:"type"`
	ReferType         string   `json:"referType,omitempty"`
	EnumType          string   `json:"enumType,omitempty"`
	IsMulti           bool     `json:"isMulti"`
	IsSubmit          bool     `json:"isSubmit"`  // 是否提交
	Precision         int      `json:"precision"` // 数字的精度
	BusinessModuleIds []string `json:"businessModuleId,omitempty"`
}

平台支持

metadataApi有新增字段的方法

func (t *metadataTrunk) Prepare(ctx form_context.FormContext) *context.SolutionMetadata {
	t.metadataApi = NewMetadataApi(ctx)
	solution := t.getSolution(ctx)
	t.solution = &solution
	return t.solution
}
func (api formMetadataApi) AddMasterField(item form_context.FormMasterFieldParams) {
	solution := api.formContext.GetSolution()

	AddMasterFieldWithSolution(item, solution)
}

func (api formMetadataApi) AddMasterFields(items []form_context.FormMasterFieldParams) {
	if len(items) == 0 {
		return
	}

	for _, item := range items {
		api.AddMasterField(item)
	}
}