一、Reference List

(一)文本(String)

1、DetailStringFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: [ModelFieldType.String, ModelFieldType.Phone, ModelFieldType.Email]
  })
)
export class DetailStringFieldWidget extends FormInputAbstractFieldWidget

属性

  • currentValue:当前值,密码类型会进行加密处理。(string | undefined
  • emptyStyle:空值样式配置。(string | undefined

2、DetailStringColorPickerFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.String,
    widget: 'ColorPicker'
  })
)
export class DetailStringColorPickerFieldWidget extends FormFieldWidget

属性

  • justifyContent:内容水平对齐方式配置。(string | undefined

3、DetailStringDownloadFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: [ModelFieldType.String, ModelFieldType.Text],
    widget: 'Download'
  })
)
export class DetailStringDownloadFieldWidget extends FormStringDownloadFieldWidget

4、DetailStringHyperlinksFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.String,
    widget: 'Hyperlinks'
  })
)
export class DetailStringHyperlinksFieldWidget extends FormFieldWidget

属性

  • target:链接打开方式,支持路由跳转或新窗口打开,默认值为 RedirectTargetEnum.BLANK。(RedirectTargetEnum
  • text:超链接显示文本。(string | undefined

5、DetailStringIframeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.String,
    widget: ['Iframe']
  })
)
export class DetailStringIframeFieldWidget extends FormStringFieldWidget

6、DetailStringMediaPlayerFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.String,
    widget: ['MediaPlayer']
  })
)
export class DetailStringMediaPlayerFieldWidget extends FormStringFieldWidget

7、DetailStringSignatureFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: [ModelFieldType.String, ModelFieldType.Text],
    widget: 'Signature'
  })
)
export class DetailStringSignatureFieldWidget extends FormStringSignatureFieldWidget

属性

  • showClearButton:是否展示清除按钮,默认为 false。(boolean
  • showSaveButton:是否展示保存按钮,默认为 false。(boolean

8、DetailStringTagFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: [ModelFieldType.String, ModelFieldType.Integer, ModelFieldType.Text],
    multi: true
  })
)
export class DetailStringTagFieldWidget extends FormFieldWidget<string[], RuntimeStringField | RuntimeNumberField>

属性

  • displayNameList:显示的标签列表,默认为空数组。(string[] | { label: string }[]
  • optionColor:是否启用彩色标签样式,由 optionColorStyle 决定。(boolean
  • optionColorStyle:标签颜色样式,默认值为 OptionColorStyle.COLORFUL。(OptionColorStyle

9、DetailStringUploadFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: [ModelFieldType.String, ModelFieldType.Text],
    widget: ['Upload']
  })
)
export class DetailStringUploadFieldWidget extends FormFieldWidget

属性

  • cdnKey:CDN 密钥(处理后的值)。(string | undefined
  • privateLink:是否为私有链接。(boolean

10、DetailStringUploadImgFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: [ModelFieldType.String, ModelFieldType.Text],
    widget: ['UploadImg']
  })
)
export class DetailStringUploadImgFieldWidget extends FormFieldWidget

(二)多行文本(Text)

1、DetailCommonFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: [ModelFieldType.Text, ModelFieldType.Related]
  })
)
export class DetailCommonFieldWidget extends FormFieldWidget

2、DetailStringDownloadFieldWidget

引用:文本(String)- DetailStringDownloadFieldWidget

(三)富文本(Html)

1、DetailHtmlFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.HTML
  })
)
export class DetailHtmlFieldWidget extends FormFieldWidget

属性

  • encode:是否对 HTML 内容进行编码,默认值为 false。(boolean

(四)手机(Phone)

1、DetailStringFieldWidget

引用:文本(String)- DetailStringFieldWidget

(五)邮箱(Email)

1、DetailStringFieldWidget

引用:文本(String)- DetailStringFieldWidget

(六)整数(Integer)

1、DetailNumberWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: [ModelFieldType.Integer, ModelFieldType.Long, ModelFieldType.Float, ModelFieldType.Currency]
  })
)
export class DetailNumberWidget extends FormNumberAbstractFieldWidget

属性

  • currentValue:当前值(处理后),支持零填充和千分位格式化。(string | undefined

(七)浮点数(Float)

1、DetailNumberWidget

引用:整数(Integer)- DetailNumberWidget

(八)金额(Money)

1、DetailNumberWidget

引用:整数(Integer)- DetailNumberWidget

(九)布尔(Boolean)

1、DetailBooleanFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.Boolean
  })
)
export class DetailBooleanFieldWidget extends FormFieldWidget

2、DetailBooleanSelectFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: [ModelFieldType.Boolean],
    widget: ['Select', 'Radio']
  })
)
export class DetailBooleanSelectFieldWidget extends FormBooleanSelectFieldWidget

属性

  • displayNameList:根据当前值获取的选项显示名称列表。({ label: string; value: any }[] | undefined
  • displayNameListStr:选项显示名称列表的字符串形式,用逗号分隔。(string | undefined
  • optionColor:是否启用彩色选项样式,由 optionColorStyle 决定。(boolean
  • optionColorStyle:选项颜色样式,默认值为 OptionColorStyle.COLORFUL。(OptionColorStyle

(十)数据字典(Enum)

1、DetailEnumFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.Enum
  })
)
export class DetailEnumFieldWidget extends FormEnumFieldAbstractWidget<EnumerationValue>

属性

  • displayNameList:根据当前值获取的枚举选项显示名称列表。({ label: string; value: any }[] | undefined
  • displayNameListStr:枚举选项显示名称列表的字符串形式,用逗号分隔。(string | undefined

2、DetailEnumMultiFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.Enum,
    multi: true
  })
)
export class DetailEnumMultiFieldWidget extends FormEnumFieldAbstractWidget<EnumerationValue[]>

属性

  • displayNameList:根据当前值获取的枚举选项显示名称列表(多选模式)。({ label: string; value: any }[] | undefined
  • displayNameListStr:枚举选项显示名称列表的字符串形式,用逗号分隔。(string | undefined

(十一)时间日期(Datetime)

1、DetailDateTimeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.DateTime
  })
)
export class DetailDateTimeFieldWidget extends FormFieldWidget

属性

  • dateFormat:日期格式,支持表达式解析,默认使用资源配置。(string | undefined
  • format:原始格式配置。(string | undefined
  • hasDateFormat:是否包含日期格式,默认值为 true。(boolean
  • hasTimeFormat:是否包含时间格式,默认值为 true。(boolean
  • justifyContent:内容对齐方式。(string | undefined
  • resourceDateTimeFormat:日期时间格式资源对象。(IResourceDateTimeFormat
  • timeFormat:时间格式,支持表达式解析,默认使用资源配置。(string | undefined
  • valueFormat:值格式。(string | undefined

方法

convertDateFormat

  • 功能描述:转换日期格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的日期格式。
  • 返回值:转换后的日期格式或 undefined

convertFormat

  • 功能描述:转换通用格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的通用格式。
  • 返回值:转换后的格式或 undefined

convertTimeFormat

  • 功能描述:转换时间格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的时间格式。
  • 返回值:转换后的时间格式或 undefined

2、DetailDateTimeRangeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseElementWidget.Token({
    viewType: ViewType.Detail,
    widget: 'DateTimeRangePicker'
  })
)
export class DetailDateTimeRangeFieldWidget extends FormRangeFieldsWidget<StandardString>

属性

  • dateFormat:日期格式,支持表达式解析。(string | undefined
  • defaultFormat:默认格式。(string
  • emptyStyle:空值时的样式配置。(unknown
  • format:原始格式配置。(string | undefined
  • hasDateFormat:是否包含日期格式,默认值为 true。(boolean
  • hasTimeFormat:是否包含时间格式,默认值为 true。(boolean
  • timeFormat:时间格式,支持表达式解析。(string | undefined
  • valueFormat:值格式,默认为 defaultFormat。(string

方法

convertDateFormat

  • 功能描述:转换日期格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的日期格式。
  • 返回值:转换后的日期格式或 undefined

convertFormat

  • 功能描述:转换通用格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的通用格式。
  • 返回值:转换后的格式或 undefined

convertTimeFormat

  • 功能描述:转换时间格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的时间格式。
  • 返回值:转换后的时间格式或 undefined

(十二)日期(Date)

1、DetailDateFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.Date
  })
)
export class DetailDateFieldWidget extends DetailDateTimeFieldWidget

属性

  • defaultFormat:默认日期格式。(string
  • hasTimeFormat:是否包含时间格式,默认值为 false。(boolean
  • valueFormat:值格式,默认为 defaultDateFormat。(string

方法

convertFormat

  • 功能描述:转换日期格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的日期格式。
  • 返回值:转换后的日期或 undefined

2、DetailDateRangeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseElementWidget.Token({
    viewType: ViewType.Detail,
    widget: 'DateRangePicker'
  })
)
export class DetailDateRangeFieldWidget extends DetailDateTimeRangeFieldWidget

属性

  • defaultFormat:默认日期格式。(string
  • hasTimeFormat:是否包含时间格式,默认值为 false。(boolean
  • valueFormat:值格式,默认为 defaultDateFormat。(string

方法

convertFormat

  • 功能描述:转换日期格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的日期格式。
  • 返回值:转换后的日期或 undefined

(十三)时间(Time)

1、DetailTimeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.Time
  })
)
export class DetailTimeFieldWidget extends DetailDateTimeFieldWidget

属性

  • defaultFormat:默认时间格式。(string
  • hasDateFormat:是否包含日期格式,默认值为 false。(boolean
  • valueFormat:值格式,默认为 defaultTimeFormat。(string

方法

convertFormat

  • 功能描述:转换时间格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的时间格式。
  • 返回值:转换后的时间或 undefined

2、DetailTimeRangeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseElementWidget.Token({
    viewType: ViewType.Detail,
    widget: 'TimeRangePicker'
  })
)
export class DetailTimeRangeFieldWidget extends DetailDateTimeRangeFieldWidget

属性

  • defaultFormat:默认时间格式。(string
  • hasDateFormat:是否包含日期格式,默认值为 false。(boolean
  • valueFormat:值格式,默认为 defaultTimeFormat。(string

方法

convertFormat

  • 功能描述:转换时间格式为标准格式。
  • 类型(format: string) => string | undefined
  • 参数
    • format:待转换的时间格式。
  • 返回值:转换后的时间或 undefined

(十四)年份(Year)

1、DetailYearFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.Year
  })
)
export class DetailYearFieldWidget extends DetailDateTimeFieldWidget

属性

  • defaultFormat:默认年份格式。(string
  • format:格式配置,取自 DSL 或默认格式。(string | undefined
  • hasDateFormat:是否包含日期格式,默认值为 false。(boolean
  • hasTimeFormat:是否包含时间格式,默认值为 false。(boolean
  • valueFormat:值格式,默认为 defaultYearValueFormat。(string

2、DetailYearRangeFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseElementWidget.Token({
    viewType: ViewType.Detail,
    widget: 'YearRangePicker'
  })
)
export class DetailYearRangeFieldWidget extends DetailDateTimeRangeFieldWidget

属性

  • defaultFormat:默认年份格式。(string
  • format:格式配置,取自 DSL 或默认格式。(string | undefined
  • hasDateFormat:是否包含日期格式,默认值为 false。(boolean
  • hasTimeFormat:是否包含时间格式,默认值为 false。(boolean
  • valueFormat:值格式,默认为 defaultYearValueFormat。(string

(十五)键值对(Map)

1、DetailMapFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.Map
  })
)
export class DetailMapFieldWidget extends FormMapFieldWidget

(十六)多对一(M2O)

1、DetailM2OSelectFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.ManyToOne
  })
)
export class DetailM2OSelectFieldWidget extends DetailRelationSelectFieldWidget

2、DetailM2OUploadWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.ManyToOne,
    widget: 'Upload'
  })
)
export class DetailM2OUploadWidget extends DetailRelationSelectFieldWidget

属性

  • cdnKey:CDN 密钥。(string | undefined
  • privateLink:是否使用私有链接。(boolean

(十七)一对多(O2M)

1、DetailO2MSelectFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.OneToMany,
    widget: 'Select'
  })
)
export class DetailO2MSelectFieldWidget extends DetailRelationSelectFieldWidget<ActiveRecord[], RuntimeO2MField>

属性

  • currentValue:当前值,对原始值进行标签处理后返回数组。(any[]

2、DetailO2MTableFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.OneToMany
  })
)
export class DetailO2MTableFieldWidget extends FormSubviewListFieldWidget<RuntimeO2MField>

方法

initSubviewData

  • 功能描述:初始化子视图数据,根据关联查询条件生成过滤条件并设置数据源。
  • 类型() => ReturnPromise<void>

refreshValueProcess

  • 功能描述:刷新值处理,仅在数据源提供者模式下调用父类方法。
  • 类型() => Promise<void>

(十八)多对多(M2M)

1、DetailM2MSelectFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  FormFieldWidget.Token({
    viewType: [ViewType.Detail],
    ttype: ModelFieldType.ManyToMany,
    widget: 'Select'
  })
)
export class DetailM2MSelectFieldWidget extends DetailO2MSelectFieldWidget

2、DetailM2MTableFieldWidget

类型声明

typescript
@SPI.ClassFactory(
  BaseFieldWidget.Token({
    viewType: ViewType.Detail,
    ttype: ModelFieldType.ManyToMany
  })
)
export class DetailM2MTableFieldWidget extends FormSubviewListFieldWidget<RuntimeM2MField>

方法

initSubviewData

  • 功能描述:初始化子视图数据,根据多对多关联关系生成查询数据并设置数据源。
  • 类型() => ReturnPromise<void>

refreshValueProcess

  • 功能描述:刷新值处理,仅在数据源提供者模式下调用父类方法。
  • 类型() => Promise<void>

(十九)抽象基类

1、DetailRelationSelectFieldWidget

继承:BaseSelectFieldWidget

属性

  • currentValue:当前值,通过 handleTableLabel 处理后的展示值。(unknown
  • relationFieldKey:关联字段键,取自参考模型的主键或通过 getRelationFieldKey 生成。(string | string[] | undefined

方法

handleTableLabel

  • 功能描述:处理表格标签,根据配置生成展示值。
  • 类型(dataEntity: unknown) => unknown
  • 参数
    • dataEntity:数据实体。
  • 返回值:处理后的展示值。