表单
开发准备
- 脚本必须使用ES5以下的语法规则编写
- 所有内容适用于表单
取值
获取表单信息
用于获取表单信息
dataForm.getDataFormInfo()
输入参数:无
返回内容:
| 参数 | 类型 | 含义 | |
|---|---|---|---|
| formCode | string | 表单code | |
| sheetCode | string | 原始表单code比如在引用表单里,就是引用的表单code;在正常表单里,就是表单code | |
| dataId | string | 数据id | |
| flowId | string | 流程id | |
| appItemType | enum ('GridList' | 'WorkflowList' | |
| formViewType | enum ('add' | 'view' | |
| isSubForm | bool | 是否是子表 | |
| subCode | string | 子表code | |
| subDataId | string | 子表数据Id | |
| formExtensionInfo | object | 表单扩展信息 | |
| CreatorId | string | 创建人Id | |
| CurrentActivityCode | string | 当前流程节点code | |
| CurrentActivityName | string | 当前流程节点名称 | |
| OUFullName | string | 创建人组织机构路径 | |
| OUPost | string | 创建人角色 | |
| Originator | string | 创建人账号 | |
| ParentId | string | 创建人的部门Id |
返回数据样例:
{
formCode: "7e8c13a1247fbfd3",
sheetCode: "7e8c13a1247fbfd3",
dataId: "8f42c97d-e135-4769-b13c-8030d2243e0b",
flowId: "xxx"
appItemType: "GridList",
formViewType: "edit",
isSubForm: false,
formExtensionInfo:{
CreatorId: "18f923a7-5a5e-426d-94ae-a55ad1a4b239",
CurrentActivityCode: "",
CurrentActivityName: "",
OUFullName: "devzuo",
OUPost: "",
Originator: "devzuo",
ParentId: "18f923a7-5a5e-426d-94ae-a55ad1a4b240"
}
}
获取所有子表对象
dataForm.getAllSubTable()
输入参数:无
返回内容:
| 参数 | 类型 | 含义 |
|---|---|---|
| subTable | array | 当前表单的所有子表对象 |
返回数据样例:
const subtables = dataForm.getAllSubTable();
subtables.forEach(subtable => {
// `subtable.xxx` 操作子表
});
获取子表对象
dataForm.getSubTable(subCode)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| subCode | string | 是 | 子表code |
返回内容:
| 参数 | 类型 | 含义 |
|---|---|---|
| subtable | object | 子表对象 |
返回数据样例:
const subtable = dataForm.getSubTable(subCode);
// `subtable.xxx` 操作子表
获取表单字段的值
dataForm.getDataItemValue(code)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 表单字段code |
返回内容:
| 参数 | 类型 | 含义 |
|---|---|---|
| value | string | number |
返回数据样例:
const value = dataForm.getDataItemValue(code);
获取业务规则结果
dataForm.getBusinessRuleResult(rule)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| rule | string | 是 | 规则字符串 |
返回内容:
返回一个Promise类型的对象,可以直接通过then来处理正确回调,通过catch来处理错误回调
| 参数 | 类型 | 含义 |
|---|---|---|
| Code | number | 网络请求的返回码 |
| Status | number | 网络请求的返回状态 |
| Message | string | 网络请求的返回信息 |
| Result | string | 网络请求的返回值 |
样例:
dataForm.getBusinessRuleResult(rule).then(res => {
const value = res.Result;
// 数据处理
}).catch(error => {
// 错误处理
});
赋值
设置表单字段的值
dataForm.setDataItemValue(code, value)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 表单字段code |
| value | string | number | object |
返回内容:无 返回数据样例:无
设置表单下拉框、关联控件字段的赋值
dataForm.setDataItemValue(code,object)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 表单字段code |
| object | object | 是 | 要设置的值 |
示例:
// 下拉控件字段赋值
dataForm.setDataItemValue('f_5c4e67ba1f', 'bb5a5281-d7af-4303-b81c-633cb46cc215');
// 关联控件字段赋值
dataForm.setDataItemValue('f_06b0a12dbe', {
name: '陈家玉叉车卸货',
objectId: '6e1adf16-9e96-426e-b535-878d3671e471'
});
返回内容: 无
返回数据样例:无
人员控件字段的赋值
dataForm.setDataItemValue(code,object)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 表单字段code |
| object | object | 是 | 数组 |
示例:
dataForm.setDataItemValue("f_ab05d8e2db", [{
ObjectID: '0400a9d8-a396-46dd-9056-d79db3be5823',
Name: '李霞'
},
{
ObjectID: '05e911b7-7543-4c28-bc16-7c86f7be311c',
Name: '孙俊'
}]);
返回内容:无
返回数据样例:无
子表给主表字段赋值
暂未实现
dataForm.setMainTableDataItemValue(code, value)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 主表字段code |
| value | string | number | object |
返回内容:无
返回数据样例:无
设置可选字段的附属属性
目前只支持option的修改
dataForm.setExtendAttributeByCode(code, key, value)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 表单字段code |
| key | string | 是 | 属性名 |
| value | string | 是 | 要设置的值 |
返回内容:无
示例:
this.form.setExtendAttributeByCode('f_xxx', 'option', [
{ name: '选项一', selectionId: 1 },
{ name: '选项二', selectionId: 2 }
]);
提交表单数据
暂未实现
this.form.submitFormData(participativeIds)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| participativeIds | array | 是 | 下一步审批人Id |
返回内容:
返回一个Promise类型的对象,可以直接通过then来处理正确回调,通过catch来处理错误回调
返回数据样例:
const participativeIds = ['xxx', 'yyy'];
this.form.submitFormData(participativeIds).then(res => {
// 正确的回调
}).catch(() => {
// 错误的回调
});
保存子表数据(要校验)
暂未实现 可传入单条数据或多条数据保存
this.form.saveSubTableData(subCode, datas);
保存表单
暂未实现 非流程表单保存
this.form.preserveFormData();
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|
返回内容:
返回数据样例:
重置表单:
暂未实现 非流程表单保存
this.form.resetFormData();
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|
返回内容:
返回数据样例:
规则
隐藏表单字段
dataForm.hideComponentByCode(codes, hide)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| codes | array | 是 | 字段code |
| hide | bool | 否 | 是否隐藏,默认false |
返回内容:无
返回数据样例:无
隐藏子表列
暂未实现
this.form.hideSubTableColums(subCode, codes, hide)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| subCode | string | 是 | 子表code |
| codes | array | 是 | 子列表字段code |
| hide | bool | 否 | 是否隐藏,默认false |
返回内容:无
返回数据样例:无
隐藏表单按钮
this.form.isHiddenButton(titles, hide)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| titles | array | 是 | 按钮名称 |
| hide | bool | 否 | 是否隐藏,默认false |
返回内容:无
返回数据样例:无
其他
刷新子表
仅刷新子列表而非整个页面的刷新
dataForm.refreshSubTable(subCode)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| subCode | string | 是 | 子表code |
返回内容:
返回一个Promise类型的对象,可以直接通过then来处理正确回调,通过catch来处理错误回调 返回数据样例:
dataForm.refreshSubTable('xxx').then(res => {
// 正确的回调
}).catch(() => {
// 错误的回调
});
关闭表单
dataForm.closeView();
输入参数:无
返回内容:无
返回数据样例:无
获取控件
dataForm.getComponentByCode(code)
输入参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 控件code或者fieldId |