/** * 模型配置接口类型 */ export type AMModel = { /** * 显示名 */ showName: string; /** * 参考实体类 */ ref: any; /** * 是否为数据模型,默认false */ isData?: boolean; /** * 是否为数据条件,默认false */ isCond?:boolean; /** * 是否可编辑 */ editable?: boolean; /** * 可管理 */ manageable?: boolean; /** * label 宽度(单位:px,form时有效) */ labelWidth?:number; /** * 编辑时每行列数 */ colsInRow?:number; /** * 编辑框宽度 */ editWidth?:number; /** * 属性集合 */ props?:AMProp[]; } /** * 属性配置接口类型 */ export type AMProp = { /** * 属性名 */ name?: string; /** * 显示名,编辑时显示的名字,默认为属性名 */ showName?: string; /** * 类型 int|float|double|date|string|file|ref * ref 表示外键引用 */ type?: string; /** * 引用model,当type='ref'时需设置 */ ref?: string | constraintType; /** * 是否为主键 */ isId?: boolean; /** * 可编辑,默认false */ editable?: boolean; /** * 保存时是否使用当前时间 * 当类型为时间是有效 * {update:true/false},如果为true,则每次保存时修改为当前时间 */ useSystemTime?: object; /** * 是否使用登录用户 * 当类型为AMUser时有效 */ useLogonUser?: object; /** * checkbox显示文本 */ title?:string; /** * 编辑选项,默认text * type:text|textarea|number|date|datetime|time|radio|checkbox|select|file|new * new 表示onetomany的新建表格属性 * option: 当为date,datetime,checkbox,radio和select时有效 * date格式:ISO日期格式,如yyyy/MM/dd,默认为yyyy-MM-dd * datetime格式:ISO日期时间格式,如yyyy/MM/dd hh:mm:ss,默认为yyyy-MM-dd hh:mm:ss * time格式:ISO时间格式,如hh:mm:ss,默认为hh:mm:ss * checkbox格式:{yes:选中值,no:未选中值} * radio格式:[{value:值,text:显示文本}] * 或{refModel:引用模型,valueProp:值属性名,displayProp:显示属性名} * select和list格式:{multi:是否允许多选,list:[{value:值,text:显示文本}]} * 或 {multi:是否允许多选,refModel:引用模型,valueProp:值属性名,displayProp:显示属性名},其中displayProp可以是数组 * file格式:multi 是否上传为多个文件 * type: image|common * transfer格式:{refModel:引用模型,valueProp:值属性名,displayProp:显示属性名},其中displayProp可以是数组 * */ editOption?: string | object; /** * 校验器 * 数组,如:['require','min:2','betweenLength:6:20',{rule:正则表达式规则,text:校验失败时显示文本},{foo:自定义函数}] * 通用规则(参考nodomui的validator)包括: * require: 是否允许空,为true时不能为空,默认false * min:最小值 * max:最大值 * between:区间值 * minLength:最小长度 * maxLength:最大长度 * betweenLength:区间长度 * email:邮箱 * mobile:手机号 * tel: 电话号 * idno:身份证号 */ validator?: Array; /** * 显示宽度,单位为px,select和grid中有效 */ width?: number; /** * 是否作为被引用对象(外键)时的显示信息 */ showInRef?: boolean; /** * 是否在表格中显示 */ showInGrid?: boolean; /** * 是否出现在查询表单中 */ showInQuery?: boolean; /** * 是否在信息详情中显示,默认showInGrid为true则该项为true */ showInDetail?: boolean; /** * 是否显示在条件表中,仅对关联对象或关联对象的上层关联对象有效 */ showInCond?:boolean; /** * 显示单位 */ unit?: string; /** * 默认值 */ defaultValue?: any; /** * 加密方式 * 目前仅支持md5 */ encryption?: string; /** * 显示名是否显示在grid head中 */ nameInGrid?:boolean; /** * 是否超链接 */ link?:boolean; } export interface constraintType { name: string, updated: string, deleted: string }