定义对象
您可以根据业务需求自定义对象,用来存储组织或者业务特有的数据。
场景描述
本节中我们设计一个场景:为出差管理系统APP定义一个数据模型。出差管理系统主要是对员工提交的出差信息进行审批,因此我们需要将“出差信息”抽象为一个数据模型Travel Information。Travel Information中需要包含如下字段来记录出差信息:员工姓名、目的地、开始时间、结束时间、出差原因、审批状态。通过配置条件表达式,对员工输入的出差时间进行校验:开始时间必须早于结束时间。定义一个跳转详情页面的按钮,并新建对象编辑页面的Layout。
表 1 Object的字段
对象
|
字段名称
|
字段数据类型
|
Travel Information
|
Name
|
文本
|
Destination
|
文本
|
Begin Time
|
日期
|
End Time
|
日期
|
Reason
|
文本
|
Status
|
文本
|
前提条件
出差管理系统App已创建。
定义基本信息
鼠标放在App下的Model文件夹旁会出现加号,单击加号,选择“对象”。
选择“创建新对象“,输入基本信息后单击“添加”。
图 1 新建Object
表 2 新建Object参数说明
参数名称
|
参数说明
|
标签
|
对象展示名称,例如Travel Information。
|
名称
|
输入标签值后单击该参数的输入框,系统会自动生成对象的名称,例如TravelInformation。您可以根据需要修改。
并且,系统会自动增加租户命名空间前缀,以及"__CST"后缀,作为对象的唯一标识。
|
描述
|
对象的描述信息。
|
您也可以通过全局视图新建Object,如图2所示。
图 2 全局视图新建对象
定义对象的字段Fields
修改系统预置字段name的标签。
在对象配置页面,单击“标准字段”页签,可以看到系统预置的字段。系统会为对象的每一条记录自动创建一个name字段,作为该条记录的标识。
本任务中将其用于标识出差员工的姓名。单击可以修改其标签。
图 3 系统预置字段
新建自定义字段。
下面以新建字段“目的地”为例,介绍添加字段的方法。
- 单击“自定义字段”页签,单击“新建”。
为“目的地”字段选择类型为“文本”文本类型,单击“下一步”。
图 4 字段类型
设置“目的地”字段的详情信息,单击“下一步”。
- 标签:字段在界面的展示名,此处配置为“Destination”。
- 名称:单击输入框系统自动生成,表示字段在系统中的记录值。
- 数据长度:字段的字符长度。Text类型最大支持255个字符,此处配置为255。
图 5 字段详情
设置“目的地”字段的访问权限,即哪些Profile可以查看或修改该字段,单击“下一步“。
图 6 字段权限
说明:
字段级安全控制是根据业务需要由管理员预置的,具体可参见管理权限配置。
设置“目的地”字段是否加入布局。该配置用于将“目的地”字段加入到布局页面。单击“保存”。
图 7 加入布局
- 重复上一步,新增表1中的其他字段。
为对象字段增加校验器Validator
- 在对象配置页面,单击“验证规则”页签,再单击“新建”。
输入校验规则,单击“保存“。
图 8 新建校验规则
表 3 校验规则参数说明
参数名称
|
参数说明
|
基本信息
|
- 标签:Validator标签名,用于展现在配置界面。示例:TimeValidate。
- 名称:Validator名称。单击后默认自动生成,与“Label”值保持一致。
- 描述:描述信息。
|
错误条件公式
|
配置校验公式时,配置的是错误条件。示例:起始时间>结束时间。公式如下:
Begin_Time__CST > End_Time__CST
规则由公式、字段、运算符组成:
- 单击“Field”可选择逻辑表达式中涉及字段。
- 单击“Operator”可选择表达式中的运算符。
- 从“Formula”下拉列表中选择公式,单击“Insert”,可在表达式中嵌入公式。系统支持的规则参见“参考 > 公式引擎”章节。
|
错误消息
|
错误提示信息,可手动输入。示例如下:
The begin time must be earlier than the end time.
|
在校验规则列表页面,在新建校验规则的“操作”列打开开关,激活该条规则。
图 9 激活校验规则
为对象配置触发器
此场景不涉及触发器,如需配置请参考以下步骤操作。
- 在对象配置页面,单击“触发器”页签,再单击“新建”。
输入触发器的基本信息以及脚本内容,单击“保存”。
表 4 New Trigger参数说明
参数名称
|
参数说明
|
标签
|
Trigger在用户界面展示的名称。
|
名称
|
Trigger名称,单击后默认自动生成,与“Label”值保持一致。
|
事件触发时机
|
Trigger在什么时候生效,在下拉框中选择。
- 插入前:执行insert操作前触发。
- 修改前:执行update操作前触发。
- 删除前:执行delete操作前触发。
- 插入后:执行insert操作后触发。
- 修改后:执行update操作后触发。
- 删除后:执行delete操作后触发。
|
描述
|
关于Trigger的描述。不超过255个字节。
|
脚本
|
触发器的内容。Script脚本的开发规范可参考产品文档的“开发 > 开发规范 > Script开发规范”章节。
|
说明:
- 执行顺序:系统首先执行Before trigger,然后执行主操作,最后执行After trigger。任一步失败将会回滚全部操作。
- 在一个对象中,最多只能为每种事件定义一个触发器,如果对象定义多个触发器,则必须对应不同事件。
在触发器列表页面,打开“操作”列开关,激活该条触发器。
定义对象编辑页面布局
对于租户创建的自定义对象,系统会自动创建对象的Detail和Records标准页面,Detail页面缺省按字段创建的先后顺序显示该对象的全部字段。租户可以根据需要新增定义定制Layout页面,例如定义对象编辑页面Layout。
在对象配置页面,单击“布局”页签,单击“新建”,填写新建对象Layout基本信息,单击“保存“。
图 10 New Layout
在右侧画布区域单击Title组件,设置属性修改页面标题为“Travel Information Edit”。
图 11 修改标题
单击每个字段的Input组件,配置字段属性。
系统默认会将该对象所有自定义字段和部分标准字段进行展示,您可根据需要进行删除。选中组件按“Delete”即可删除该字段。
图 12 配置字段属性
Field字段属性的参数配置如表5所示。
表 5 Field字段Input属性参数表
参数名
|
说明
|
数据绑定
|
该输入框取值由哪些模型元数据驱动生成的。
|
属性值绑定
|
该组件的所有属性的动态设置。当某一属性被动态绑定时,以绑定值为准。
|
控件名称
|
组件名称。
|
文本类型
|
该输入框文本类型。
|
标签
|
该输入框在界面的展示标签名。
|
占位符
|
占位符。可辅助元素对齐,让页面更整齐。
|
默认值
|
该输入框默认值。
|
必填
|
当该开关打开时,该输入框为必填字段。输入框界面展示会有提示必填。
|
必填错误信息
|
当必填输入框没有进行输入取值时的界面报错信息。
|
正则表达式
|
当输入框字段类型为“Text”或者“TextArea”类型,支持进行正则表达式校验。
例如配置为“^[A-Za-z]+$”,表示该字段只能输入大写的A-Z,或者小写的a-z。
|
错误信息
|
当不满足正则表达式规则时的界面报错信息。
|
最大长度
|
输入框取值最大长度。
|
图标
|
输入框中需要设置图标时,请配置该项。
|
图标位置
|
输入框中的图标位置。
|
样式
|
CSS的具体样式,单击进行配置。
您可配置组件的宽度、高度、外边距、内边距。
您还可在CSS中输入自定义的样式代码进行详细配置,自定义代码支持多行输入,并高亮显示样式参数。
|
样式类
|
CSS里的样式类的类名,可在css代码中进行引用。
|
预置样式风格
|
预置的样式风格。
|
只读
|
当该开关打开时,页面标签取值为只读状态,不可编辑。
|
禁用
|
当该开关打开时,页面标签取值为禁用状态,置灰且不可编辑。
|
隐藏
|
当该开关打开时,页面标签为隐藏状态。
|
配置完成后,单击编辑页面左上方图标,保存所有配置。再单击预览效果。
通过Schema 构建器查看及新建对象
您可通过Schema 构建器查看系统中存在的对象(包括自定义对象和标准对象)以及对象之间的关联关系。您也可以通过Schema 构建器创建对象。
- 在APP开发界面左侧列表单击,选择“模型 > Schema 构建器”。
从“对象”页签可以选择需要展示的对象拖曳到左侧区域。
从Schema 构建器展示页面我们可以清楚的看到对象结构以及对象之间的关联关系。
图 13 Schema 构建器
选择对象中具体字段,右键菜单选择“在新标签页中查看字段详情”或者“删除字段”可查看或者删除字段。
图 14 查看字段详情或者删除字段
(可选)选择“元素”页签,选择“对象”拖曳到左侧区域,界面弹出“创建对象”页面,配置参数后单击“保存”,创建对象。
图 15 创建对象
(可选)在“元素”页签下,从“字段”中选择字段类型拖曳到左侧具体的对象中,可为该对象添加字段。
图 16 添加字段