UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

161 lines (160 loc) 4.02 kB
import { EditorConfig, EditorType } from "../../dynamic-form"; import { ConditionValue } from "./composition/condition-value/types"; import { CompareType } from "./composition/use-compare"; export declare enum EnumType { IntType = 0, StringType = 1, BoolType = 2 } export interface IEnumValue { getEnumType(): EnumType; getEnumValueName(): string; getEnumValue(): any; } export declare enum ValueType { /** *值类型 */ Value = 0, /** * 帮助类型 */ SmartHelp = 1, /** * 枚举类型 */ Enum = 2, /** * 表达式 */ Express = 3 } /** * 条件实体类 */ export interface Condition { /** * 高级模式下的值左括号 */ lBracket?: string; /** * 唯一性标识 */ id: string; /** * 字段编号 */ fieldCode: string; /** * 字段名称 */ fieldName: string; /** * 高级模式下的值关系 */ compareType?: CompareType; /** * 值类型 */ valueType?: ValueType; /** * 值 * 该属性为IValue接口,根据不同的控件类型有不同的实现类:具体如下: * 1. 文本类型:TextValue * 2. 下拉列表:DropDownListValue * 3. 日期区间:DateRangeValue * 4. 数字区间:NumberRangeValue * 5. 帮助类型:SmartHelpValue * 6. 复选框: CheckBoxValue * 7. 单数值: SingleNumberValue * 8. 单年度: SingleYearValue * 9. 单月度: SingleMonthValue * 10. 月度区间: MonthRangeValue * 11. 单日期: SingleDateValue * 12. 单日期时间: SingleDateTimeValue * 13. 下拉帮助: ComboLookUpValue * 14. 单选框: RadioValue * 15. 智能输入框: InputGroupValue */ value: ConditionValue; /** * 传入值的配置项 * 值不一定直接引用,需要在创建对应组件时,通过constructor初始化数据 * undo:数据类型,暂时不好定义,后续补充 */ valueConfig?: { type: string; content: any; }; /** * 高级模式下的与下个条件的关系 */ relation?: number; /** * 高级模式下的值右括号 */ rBracket?: string; /** * 高级模式下的条件id */ conditionId: number; required?: boolean; } /** * 字段配置 */ export interface FieldConfig { /** * 字段ID */ id: string; /** * 字段标签,字段编号的唯一标识 */ code: string; labelCode: string; controlType?: EditorType | ''; /** * 字段名称 */ name: string; /** * be字段类型 是否为复杂类型 */ $type?: string; $typeInfo?: any; /** * 控件类型,目前包括文本类型,下拉列表,日期区间,数字区间,帮助类型 * 控件类型为IControl接口,根据不同的控件类型对应不同的实现类,具体如下: * 1. 文本类型:TextControl * 2. 下拉列表:DropDownListControl * 3. 日期区间:DateRangeControl * 4. 数字区间:NumberRangeControl * 5. 帮助类型:SmartHelpControl * 6. 单日期: SingleDateControl * 7. 单数值:SingleNumberControl * 8. 单年度:SingleYearControl * 9. 单月度:SingleMonthControl * 10. 月度区间:MonthRangeControl * 11. 单日期时间:SingleDateTimeControl * 12. 日期时间区间:DateTimeRangeControl * 13. 复选框:CheckBoxControl * 14. 下拉帮助:ComboLookUpControl * 15. 单选框: RadioControl * 16. 智能输入框: InputGroupControl */ editor: EditorConfig; defaulValue?: ConditionValue; } export interface ConditionGroup { /** * 关联关系 * @introduce 0:无,1:与,2:或 */ relation: number; items: Condition[]; children: ConditionGroup[]; path: number[]; groupId: number; level: number; }