@wufengteam/wform
Version:
@wufengteam/wform
187 lines (186 loc) • 3.58 kB
TypeScript
/// <reference types="react" />
export interface SubFormData {
id: string | number;
[name: string]: any;
}
export interface FiledInfo {
/**
* 表单字段所使用组件类型
*/
compType: string;
/**
* 表单字段name
*/
attrCode: string;
/**
* 表单字段label
*/
attrName: string;
/**
* 表单字段业务ID
*/
busiObjectId: string;
/**
* 选项类型组件选择数据存储的静态编码
*/
staticCode: string;
}
export interface BindFormInfo {
/**
* 绑定的appId
*/
appId: string;
/**
* 绑定的目录ID
*/
catalogItemId: string;
/**
* 绑定的目录名称
*/
catalogItemName: string;
/**
* 绑定的目录类型
*/
catalogItemType: string;
/**
* 备注
*/
remark?: string;
}
export interface SelectDataProps {
/**
* 所关联表单的应用Id
*/
bindForm: BindFormInfo;
/**
* 所关联表单的应用Id
*/
appId: string;
/**
* 所关联表的DSL数据 JSON字符串格式
*/
dsl: string;
/**
* 弹窗显隐
*/
visible: boolean;
/**
* 点击确定回调
*/
onOk: (data: Record<string, any>[]) => void;
/**
* 关闭弹窗回调
*/
onCancel: () => void;
/**
* 查询弹窗显示字段集合
*/
selectFields: FiledInfo[];
/**
* 单选形态已选数据Id
*/
selectedDataId?: React.Key;
/**
* 多选形态已选数据Id集合
*/
selectedDataIds?: React.Key[];
/**
* 是否多选
*/
isMultiple?: boolean;
/**
* 获取引擎能力
*/
getEngineApis?: any;
}
export interface DataLinkageEdProps {
/**
* 引导文字
*/
placeholder?: string;
/**
* 是否是子表单
*/
isInSubForm?: boolean;
/**
* 表单中展示字段
*/
previewFields: FiledInfo[];
}
interface value {
['obj_id']: string | number;
[name: string]: any;
}
export interface DataLinkageProps {
value: value;
onChange: (value: value) => void;
/**
* 字段属性
*/
fieldAttr?: string[];
/**
* 引导文字
*/
placeholder?: string;
/**
* 所关联表单的信息
*/
bindForm: BindFormInfo;
/**
* 查询弹窗显示字段集合
*/
selectFields: FiledInfo[];
/**
* 关联数据填充规则
*/
dataLinkageRuleInfo?: any[];
/**
* 是否可编辑
*/
disabled?: boolean;
/**
* 是否在子表单组件内部
*/
isInSubForm?: boolean;
/**
* 表单中显示字段
*/
previewFields: FiledInfo[];
/**
* 当前子表单数据
*/
subFormDatas?: SubFormData[];
/**
* 关联数据在子表单的起始行索引
*/
subFormStartIndex?: number;
/**
* 添加子表单数据方法
*/
addSubFormData?: (data: SubFormData[]) => void;
/**
* 获取引擎能力
*/
getEngineApis?: any;
/**
* 标题占比,这里用于判断表单是水平布局还是垂直布局
*/
labelCol?: any;
$$componentItem?: {
appId: string;
[key: string]: any;
};
}
export interface DataLinkagePcProps extends DataLinkageProps {
/**
* pc组件中外层表单实例
*/
form: any;
}
export interface DataLinkageH5Props extends DataLinkageProps {
/**
* h5组件中外层表单实例
*/
form: any;
}
export {};