宜搭平台接口(页面数据源可直接调用)
能力 | 免费版 | 轻享版 | 专业版 | 专属版 |
宜搭页面数据源 | 不支持 | 不支持 | 支持 | 支持 |
1. 调用说明
1.1 接口地址拼接规则
目前支持应用维度接口,在应用内(支持跨应用)通过以下方式即可访问对应接口,接口访问格式为:
${宜搭域名}/dingtalk/web/${应用编码} + 接口路径。
比如在浏览器端想调用应用编码为 APP_X1X2X3X4 的「流程实例-流程发起」服务接口,则在数据面板里调用请求地址为(使用相对路径即可):
/dingtalk/web/APP_X1X2X3X4/v1/process/startInstance.json

请参考【二、流程实例】下面的【1. 流程发起】里面有详细的实战演示案例
注意,目前版本的 searchFieldJson 和 dynamicOrder 字段需要的是一个字符串类型的值。比如:
const someJson = {
"textField_kkm9o5cd":"123"
}
// 如果直接把 someJson 传给 searchFieldJson 是不会有效果的。我们需要通过 JSON.stringify 方法,把这个对象转成字符串形式。
const fieldJson = JSON.stringify(someJson); // '{"textField_kkm9o5cd":"123"}'
2. 流程实例
2.1 流程发起
- 接口:
/v1/process/startInstance.json
- 请求类型:
POST
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processCode | 流程code | 是 | TPROC--EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ4 | 单独发起页链接上可查 |
formUuid | 表单ID | 是 | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | 单独发起页链接上可查 |
formDataJson | 表单数据 | 是 | 类型:String 参考:附录1保存/更新 表单数据格式说明 | |
deptId | 发起人所在部门号 | 否 | 18295 | 不填,默认发起人主职部门 |
- 返回值:
result
: 实例 IDsuccess
: 请求是否成功errorMsg
: 错误信息errorCode
: 错误码
- 返回值
{
"result": "f30233fb-72e1-4af4-8cb8-c7e0ea9ee530",
"success": true
}
场景演示:
①. 搭建一个简单的流程页面,点击其中的某个需要自定义填充值的组件,获取其唯一标识备用,例如本例中单行文本框的唯一标识为「textField_kkm9o5cd」。

②. 新建一个高级展示页,拖动一个 Button 按钮到页面中,添加一个数据源

名称填写为一个简单易懂的名称,并且保证在该页面下唯一,请求地址根据业务实际需要填写,本例是希望点击按钮可以发起一条流程,因此这里的请求地址填写为:/alibaba/web/APP_D45S78OXJSL51QTQVHT8/v1/process/startInstance.json,其中APP_D45S78OXJSL51QTQVHT8 为应用唯一标识,需要替换为自己的应用的唯一标识,请求方法注意选择为 POST方式。

③. 为按钮添加一个 onClick 事件,点击 <> 图标前往进行远程数据源与按钮方案绑定的实现:

参考:https://developers.aliwork.com/docs/api/about
编写如下的绑定代码,注意这里我们给表单控件单行文本框(唯一标识:textField_kkm9o5cd)填写的是固定值 123 。
formUuid 和 processCode 参数的获取路径为:【应用设置】-【应用数据】-【XX流程】下面的表单 ID 和流程 Code 。

export function onClick(){
const params = {
"processCode":"TPROC--CFYJ5HYUN89NJ1JW3IXBI7A95RXM3652O9MKK3",
"formUuid": "FORM-CFYJ5HYUN89NJ1JW3IXBI7A95RXM3552O9MKK2",
"formDataJson": '{"textField_kkm9o5cd":"123"}'
}
this.dataSourceMap.myDatasource.load(params).then((response) => {
this.utils.dialog({
method: 'alert', // 或confirm
title: '请求成功',
type: 'success', // PC端支持 info/success/error
content: `返回结果为 ${response}`,
})
})
console.log('onClick');
}
④. 代码编写完成之后点击页面右上角的保存按钮。

⑤. 前往运行态页面进行流程发起的测试,点击按钮,可以通过浏览器自带的调试工具下的 Network 看到startInstance 接口发送成功,接口返回的内容 da5ed25c-977b-40e0-acff-4a1c07aa6f41 为流程实例 id ,唯一标识该流程实例。

⑥. 接下来,我们再次前往对应的流程的数据管理页面,找到了我们新发起的那一条流程,并且单行文本中填写的内容就是我们在程序中填写的固定值 123,全部测试验证完成。

- 视频展示
2.2 根据条件搜索流程实例 ID
- 接口:
/v1/process/getInstanceIds.json
- 请求类型:
GET
- 权限说明:流程需要配置实例可查看权限(管理员除外)
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | |
searchFieldJson | 根据表单内组件值查询 | 否 | 类型:String | |
taskId | 任务ID | 否 | 2199132092 | 一般用不到。 |
instanceStatus | 实例状态 | 否 | RUNNING | 可选值为:RUNNING,TERMINATED,COMPLETED,ERROR。 分别代表:运行中,已终止,已完成,异常。 |
approvedResult | 流程审批结果 | 否 | agree | 可选值为:agree, disagree。 分别表示:同意, 拒绝。 |
currentPage | 当前页 | 否 | 1 | 必须大于0 默认1 |
pageSize | 每页记录数 | 否 | 10 | 必须大于0 默认10 不能大于100 |
originatorId | 根据流程发起人工号查询 | 否 | ||
createFrom | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 yyyy-MM-DD |
createTo | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 和createFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)创建的数据。 |
modifiedFrom | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 |
modifiedTo | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 和modifiedFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)被修改的数据。 |
- 返回值
- result : 实例 ID 列表;
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
{
"result": {
"data": [
"f30233fb-72e1-4af4-8cb8-c7e0ea9ee530",
"bc0950a3-fe1b-459c-b6ba-282be38523ab",
"f540cbd7-43eb-40de-b915-6716578a2802"
],
"totalCount": 3,
"currentPage": 1
},
"success": true
}
2.3 根据搜索条件获取实例详情列表
- 接口:
/v1/process/getInstances.json
- 请求类型:
GET
- 权限说明:流程需要配置实例可查看权限(管理员除外)
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | |
searchFieldJson | 根据表单内组件值查询 | 否 | 类型:String 格式见附录2:根据组件值进行条件搜索,组件值格式说明 | |
taskId | 任务ID | 否 | 2199132092 | 一般用不到。 |
instanceStatus | 实例状态 | 否 | RUNNING | 可选值为:RUNNING,TERMINATED,COMPLETED,ERROR。 分别代表:运行中,已终止,已完成,异常。 |
approvedResult | 流程审批结果 | 否 | agree | 可选值为:agree, disagree。 分别表示:同意, 拒绝。 |
currentPage | 当前页 | 否 | 1 | 必须大于0 默认1 |
pageSize | 每页记录数 | 否 | 10 | 必须大于0 默认10 不能大于100 |
originatorId | 根据流程发起人工号查询 | 否 | ||
createFrom | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 |
createTo | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 和createFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)创建的数据。 |
modifiedFrom | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 |
modifiedTo | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 和modifiedFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)被修改的数据。 |
- 返回值
- errorCode : 错误码;
- success : 请求是否成功;
- errorMsg : 错误信息;
- result :
- currentPage : 当前页
- totalCount : 符合条件的实例总数
- data : 实例详情列表,实例详情格式 参见 附录3-流程实例详情对象格式说明(注意,出于性能考虑,本接口不会返回实例中的子表数据)
2.4 根据实例 ID 获取流程实例详情
- 接口:/v1/process/getInstanceById.json
- 请求类型:GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processInstanceId | 流程实例ID | 是 | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 |
- 返回值
- result : 实例详情,参见 附录 3- 流程实例详情对象格式说明
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
2.5 删除流程实例
- 接口:
/v1/process/deleteInstance.json
- 请求类型:
POST
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processInstanceId | 流程实例ID | 是 | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 |
- 返回值
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
2.6 终止流程实例
- 接口:
/v1/process/terminateInstance.json
- 请求类型:
POST
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processInstanceId | 流程实例ID | 是 | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 |
- 返回值
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
2.7 实例ID批量获取流程实例详情【暂未开放】
- 接口:
/v1/process/getInstancesByIds.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processInstanceIds | 流程实例ID列表,多个用,分割 | 是 | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530,d230233fb-72e1-4af4-8cb8-c7e0ea9ee530 |
- 返回值
- result : 实例详情列表,参见 附录 3- 流程实例详情对象格式说明
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
2.8 执行单个任务接口
- 接口:
/v1/task/executeTask.json
- 请求类型:
POST
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
taskId | 任务ID | 是 | 12002575 | |
procInstId | 实例ID | 是 | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 | |
outResult | 审批结果 | 是 | AGREE | AGREE(同意)、DISAGREE(不同意) |
remark | 审批意见 | 是 | 确认同意 | |
formDataJson | 更新的表单值 | 否 | 参考:附录1保存/更新 表单数据格式说明。 参数有的组件更新,没有的组件保持不变。 明细的值只能统一更新,无法只更新子表单下某个组件的值 | |
noExecuteExpressions | 是否不执行校验&关联操作 | 否 | y | 本任务节点有绑定校验规则或者关联操作时, y -> 不执行校验规则&关联操作 n -> 执行校验规则&关联操作 不传默认为n,即会执行校验规则&关联操作 |
- 返回值
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
2.9 获取审批记录
- 接口:
/v1/process/getOperationRecords.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processInstanceId | 流程实例ID | 是 | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 |
- 返回值
- result :
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
- 返回格式
{
"success": true,
"content": [
{
"operateTime": "2018-06-22 14:35:40",
"remark": "",
"taskHoldTime": 0,
"type": "HISTORY",
"operatorName": "宜小搭",
"operator": "yida",
"activityId": "sid-restartevent",
"action": "提交申请",
"actionExt": "submit",
"id": 2846866118,
"operatorPhotoUrl": "/photo/yida.128x128.jpg",
"processInstanceId": "8c124808-82e7-473b-9a7a-43c29b310837",
"showName": "提交申请",
"operateType": "NEW_PROCESS",
"domains": [],
"operatorStatus": "A",
"operatorAgentIds": [],
"size": 1,
"operatorDisplayName": "宜小搭",
"taskId": "null"
},
{
"taskHoldTime": 531398377,
"type": "TODO",
"operatorName": "宜小搭",
"operator": "yida",
"activityId": "sidJIOB2P2J1JW3RPMDOS28",
"taskType": "COMMON_ALL_AT_ONCE",
"actionExt": "doing",
"operatorPhotoUrl": "/photo/yida.128x128.jpg",
"processInstanceId": "8c124808-82e7-473b-9a7a-43c29b310837",
"showName": "执行人",
"activeTime": "2018-06-22 14:35:41",
"domains": [],
"operatorStatus": "A",
"operatorAgentIds": [],
"size": 1,
"operatorDisplayName": "宜小搭",
"taskId": "2846866145"
}
]
}
2.10 流程实例更新
- 接口:
/v1/process/updateInstance.json
- 请求类型:
POST
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processInstanceId | 实例ID | 是 | ||
updateFormDataJson | 更新的表单数据 | 是 | 参考:附录1保存/更新 表单数据格式说明 |
- 返回值:
- success : 是否成功
- errorMsg : 错误信息;
- errorCode : 错误码;
- 返回值 demo
{
"success":true
}
2.11 获取流程设计节点上的按钮列表[暂未开放]
- 接口:
/v1/process/getActivityButtonVOs.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
processCode | 流程编码 | 是 | TPROC--X1G***42ZMGA31OYELIWJ1 | |
activityId | 节点ID | 是 |
- 返回值:
- success : 是否成功
- errorMsg : 错误信息;
- errorCode : 错误码;
- 返回值 demo:
{
"result": [
{
"aliasEn": "Forward",
"alias": "转交",
},
{
"aliasEn": "Append",
"alias": "加签",
},
{
"aliasEn": "Return",
"alias": "退回",
}
],
"success": true,
"errorCode": null,
"content": null,
"errorMsg": null
}
3. 表单实例
3.1 新增表单实例
- 接口:
/v1/form/saveFormData.json
- 请求类型:
POST
- 参数:
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-NJYJZELV8YZRDEI2N5IQ7L6VEDMR1VE9GMPCJB | |
appType | 应用ID | 是 | APP_DR4OK27ZKL5N22B907E8 | |
formDataJson | 表单数据 | 是 | {"textField_jcpm6agt": "单行","employeeField_jcos0sar": ["workno"]} | 类型:String |
- 返回值:
- success: 请求是否成功
- result:实例 ID
- errorMsg: 错误信息
- errorCode:错误码
- 返回值 demo:
{
"result":"FINST-EF6Y93URN2UZ1SBPLIP9NAV6HR2GEO1Z4ZCHSCJ0",
"success":true
}
3.2 更新表单中指定组件值
- 接口:
/v1/form/updateFormData.json
- 请求类型:
POST
- 参数:
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formInstId | 要更新的表单数据ID | 是 | FINST-NJYJZELVVYZRVGJHR7M6FJW3ESJN1P1TCNPCJ9 | |
updateFormDataJson | 要更新的表单组件值,必填 | 是 | {"employeeField_jcpm5gy2": ["xxxxx","yyyyy"]} (以成员组件示例) | 类型:String |
useLatestVersion | 使用最新的表单版本进行更新 | 否 | y | 【特别注意】 默认值为n,建议使用y。 |
- 返回值:
- success: 请求是否成功
- errorMsg: 错误信息
- errorCode:错误码
- 返回值 demo
{
"success":true
}
3.3 删除表单实例
- 接口:
/v1/form/deleteFormData.json
- 请求类型:
POST
- 参数:
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formInstId | 要删除的表单数据ID | 是 | FINST-NJYJZELVVYZRVGJHR7M6FJW3ESJN1P1TCNPCJ9 |
- 返回值:
- success: 请求是否成功
- errorMsg: 错误信息
- errorCode:错误码
- 返回值 demo
{
"success":true
}
3.4 根据表单实例 ID 查询表单实例详情
- 接口:
/v1/form/getFormDataById.json
- 请求类型:
GET
- 参数:
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formInstId | 要查询的实例的实例ID | 是 | FINST-NJYJZELVVYZRVGJHR7M6FJW3ESJN1P1TCNPCJ9 |
- 返回值
- success:请求是否成功
- errorMsg: 错误信息
- errorCode:错误码
- result:表单实例详情。参见附录5. 表单实例详情对象格式说明
3.5 根据条件搜索表单实例 ID 列表
- 接口:
/v1/form/searchFormDataIds.json
- 请求类型:
GET
- 权限控制:该接口会受页面设置的权限控制(管理员除外)。
- 参数:
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | |
searchFieldJson | 根据表单内组件值查询 | 否 | 类型:String 格式见附录2:根据组件值进行条件搜索,组件值格式说明 | |
currentPage | 当前页 | 否 | 1 | 必须大于0 默认1 |
pageSize | 每页记录数 | 否 | 10 | 必须大于0 默认10 不能大于100 |
originatorId | 根据数据提交人工号查询 | 否 | ||
createFrom | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 |
createTo | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 和createFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)创建的数据。 |
modifiedFrom | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 |
modifiedTo | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 和modifiedFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)被修改的数据。 |
dynamicOrder | 排序 | 否 | column: '+' | 正序 +,倒序 - |
- 返回值
- success : 请求是否成功;
- errorCode : 错误码;
- errorMsg : 错误信息;
- result :
- currentPage : 当前页
- totalCount : 符合条件的实例总数
- data : 实例 ID 列表
- 返回值 demo:
{
"result":{
"data":[
"FINST-EF6Y93URN2F02S745LTMW2D2G4WVDS16O17ISCJ0"
],
"totalCount":1,
"currentPage":1
},
"success":true
}
3.6 根据条件搜索表单实例详情列表
- 接口:
/v1/form/searchFormDatas.json
- 请求类型:
GET
- 权限控制:该接口会受页面设置的权限控制(管理员除外)。
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | |
searchFieldJson | 根据表单内组件值查询 | 否 | 类型:String 格式见附录2:根据组件值进行条件搜索,组件值格式说明 | |
currentPage | 当前页 | 否 | 1 | 必须大于0,默认1 |
pageSize | 每页记录数 | 否 | 10 | 必须大于0 默认10 不能大于100 |
originatorId | 根据数据提交人工号查询 | 否 | ||
createFrom | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式 (或者精确到秒 yyyy-MM-DD HH:mm:ss) |
createTo | createFrom和createTo两个时间构造一个时间段。查询在该时间段创建的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式(或者精确到秒 yyyy-MM-DD HH:mm:ss) 和createFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)创建的数据。 |
modifiedFrom | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表 | 否 | 2018-01-01 | 字符串格式,且为yyyy-MM-DD格式(或者精确到秒 yyyy-MM-DD HH:mm:ss) |
modifiedTo | modifiedFrom和modifiedTo构成一个时间段,查询在该时间段有修改的数据列表。 | 否 | 2018-02-01 | 字符串格式,且为yyyy-MM-DD格式。 (或者精确到秒 yyyy-MM-DD HH:mm:ss)和modifiedFrom一起,相当于查询在 2018-01-01到2018-01-31之间(包含01和31号)被修改的数据。 |
dynamicOrder | 指定排序字段 | 否 | {"numberField_1ac":"+"} | 表示按照字段numberField_1ac升序排列 |
- 返回值
- success : 请求是否成功;
- errorCode : 错误码;
- errorMsg : 错误信息;
- result :
- currentPage : 当前页
- totalCount : 符合条件的实例总数
- data : 实例详情列表。每个实例详情格式参见 附录 4 作为返回值的表单数据的格式说明
3.7 获取表单定义
- 接口:
/v1/form/getFormComponentDefinationList.json
- 请求类型:
GET
- 参数:
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-NJYJZELV8YZRDEI2N5IQ7L6VEDMR1VE9GMPCJB | |
version | 表单版本 | 否 | 1 | 可以传入formData中的version字段。 为空时返回最新的版本定义 |
- 返回值:
- success: 请求是否成功
- result:[]
- errorMsg: 错误信息
- errorCode:错误码
- 返回格式
{
"success":true,
"content":[
{
"label":"{"en_US":"CheckBox Field","zh_CN":"多选","type":"i18n"}",
"key":"checkboxField_jiwvhkdi"
},
{
"label":"{"en_US":"Textarea Field","zh_CN":"多行输入框","type":"i18n"}",
"key":"textareaField_jiwvhkdh"
},
{
"label":"{"en_US":"Select Field","zh_CN":"下拉单选","type":"i18n"}",
"key":"selectField_jiwvhkdg"
}
]
}
3.8 获取子表单数据
- 接口:
/v1/form/listTableDataByFormInstIdAndTableId.json
- 请求类型:GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
formUuid | 表单ID | 是 | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | |
formInstanceId | 要查询的实例的实例ID | 是 | FINST-NJYJZELVVYZRVGJHR7M6FJW3ESJN1P1TCNPCJ9 | |
tableFieldId | 需要查找的子表单组件的唯一标识 | 是 | tableField_ksyaujq1 | |
currentPage | 当前页 | 是 | 10 | 必须大于0,默认1 |
pageSize | 每页记录数 | 是 | 50 | 大于0并且小于50,默认10 |
- 返回值
- success : 请求是否成功;
- errorCode : 错误码;
- errorMsg : 错误信息;
- result :
- currentPage : 当前页
- totalCount : 符合条件的实例总数
- data : 实例详情列表。每个实例详情格式参见 附录 4 作为返回值的表单数据的格式说明
- 返回格式
{
"result": {
"data": [
{
"textField_kstqokaa": ""
},
{
"textField_kstqokaa": "1"
},
{
"textField_kstqokaa": "2"
}
],
"totalCount": 120,
"currentPage": 1,
},
"success": true,
}
4. 任务中心
4.1 已提交任务
- 接口:
/v1/process/getMySubmitInApp.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
pageSize | 每页记录数 | 是 | 10 | 必须大于0 默认10 最大值:100 |
currentPage | 当前页 | 是 | 1 | 必须大于0 默认1 |
keyword | 关键词 | 否 |
- 返回值:
- content : 返回内容;
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
- errorLevel : 错误级别;
- 返回格式
成功:
{
"result": {
"data": [
{
"modifiedTime": "2018-04-12 19:44:14",
"formInstanceId": "FINST-AJ1L4CJVXL0UIAIPR06ZA52U9HKUXXXXXX",
"title": "单据",
"instValue": [
{
"componentId": "node_jfwgghbo",
"componentName": "TextField",
"fieldId": "textField_jfwggg8e",
"label": "姓名",
"validation": [],
"fieldData": {
"complexType": "custom",
"dataType": "CHANGED",
"pass": true,
"value": "jack"
},
"errorMsg": null,
"hasError": false
}
],
"processId": 0,
"appType": "APP_R8MYLKYXXXXXX",
"dataMap": {
"textField_jfXXXXXX": "XXXXXX"
},
"originatorId": "XXXXXX",
"formUuid": "FORM-0G7KPV3WZL0U3AHTOA9BFVXXXXXX",
"dataType": "finst",
"originatorAvatar": "http://static.dingtalk.com/media/lADPBbCc1R7VwSHNXXXXXX.jpg",
"version": 0,
"createTime": "2018-04-12 19:44:14"
}
],
"totalCount": 1,
"currentPage": 1
},
"success": true
}
失败:
{
"errorCode": "TIANSHU_000006",
"success": false,
"errorMsg": "没有权限"
}
Tips:instValue 返回的是字符串,内容格式是 Json 数组
示例请求代码:
@Test
public void postYidaOutTaskTest() {
String api = "/yida_vpc/process/getMySubmmitInCorp.json";
String corpId = "ding5d17e3add038d44535c2f4657eb63711";
String userId = "141940523222800011";
String corpCode = "AJ1L4CJVOL0UUQPTQWX8YOTCCS7O1T4CSNJF11";
PostClient postClient = ExecutableClient.getInstance().newPostClient(api);
postClient.addParameter("page", "1");
postClient.addParameter("limit", "10");
postClient.addParameter("corpId", corpId);
// postClient.addParameter("appTypes", "[\"APP_I3D2FD2ZQB75KLLKL48Y\"]");
postClient.addParameter("userId", userId);
String token = DigestUtils.md5DigestAsHex(String.format("%s%s%s", corpId, userId, corpCode).getBytes()).toUpperCase();
postClient.addParameter("token", token);
String apiResult = postClient.post();
Assert.notNull(apiResult);
}
4.2 待办任务
- 接口:
/v1/task/getTodoTasksInApp.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
pageSize | 每页记录数 | 是 | 10 | 必须大于0 默认10 最大值:100 |
currentPage | 当前页 | 是 | 1 | 必须大于0 默认1 |
keyword | 关键词 | 否 |
- 返回值:
- content : 返回内容;
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
- errorLevel : 错误级别;
- 返回格式
成功:
{
"result": {
"data": [
{
"processInstanceId": "XXXXXX",
"originatorName": "XXX",
"title": "XXX发起的流程",
"originatorPhoto": "http://static.dingtalk.com/media/lADPdfafafsAXXXXXX.jpg",
"titleEn": "XXX发起的流程",
"createTime": "2018-04-13 13:35:58",
"appType": "APP_R8MdfadfXXXXXX",
"originatorNameEn": "XXXXXX",
"originatorId": "XXXXXX",
"taskId": "XXXXXX",
"status": "NEW"
}
],
"totalCount": 1,
"currentPage": 1
},
"success": true
}
失败:
{
"errorCode": "TIANSHU_000006",
"success": false,
"errorMsg": "没有权限"
}
示例请求代码:
@Test
public void postYidaOutTaskTest() {
String api = "/yida_vpc/process/getTodoTasksInCorp.json";
String corpId = "ding5d17e3add038d44535c2f4657eb63711";
String userId = "141940523222800011";
String corpCode = "AJ1L4CJVOL0UUQPTQWX8YOTCCS7O1T4CSNJF11";
PostClient postClient = ExecutableClient.getInstance().newPostClient(api);
postClient.addParameter("page", "1");
postClient.addParameter("limit", "10");
postClient.addParameter("corpId", corpId);
// postClient.addParameter("appTypes", "[\"APP_I3D2FD2ZQB75KLLKL48Y\"]");
postClient.addParameter("userId", userId);
String token = DigestUtils.md5DigestAsHex(String.format("%s%s%s", corpId, userId, corpCode).getBytes()).toUpperCase();
postClient.addParameter("token", token);
String apiResult = postClient.post();
Assert.notNull(apiResult);
}
4.3 已完成任务
- 接口:
/v1/task/getDoneTasksInApp.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
pageSize | 每页记录数 | 是 | 10 | 必须大于0 默认10 最大值:100 |
currentPage | 当前页 | 是 | 1 | 必须大于0 默认1 |
keyword | 关键词 | 否 |
- 返回值:
- content : 返回内容;
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
- errorLevel : 错误级别;
- 返回格式
成功:
{
"result": {
"data": [
{
"processInstanceId": "abc434rfds23XXXXXX",
"finishTime": "2018-03-28 17:46:14",
"originatorName": "",
"title": "XXX发起的流程页面",
"originatorPhoto": "//img.alicdn.com/tfs/TB1msdfsXXXXXX.jpg",
"titleEn": "XXX发起的流程页面",
"createTime": "2018-03-28 17:45:43",
"appType": "XXXXXX",
"originatorNameEn": "XXXXXX",
"originatorId": "XXXXXX",
"taskId": "XXXXXX",
"status": "COMPLETED"
}
],
"totalCount": 1,
"currentPage": 1
},
"success": true
}
失败:
{
"errorCode": "TIANSHU_000006",
"success": false,
"errorMsg": "没有权限"
}
示例请求代码:
@Test
public void postYidaOutTaskTest() {
String api = "/yida_vpc/process/getDoneTasksInCorp.json";
String corpId = "ding5d17e3add038d44535c2f4657eb63711";
String userId = "141940523222800011";
String corpCode = "AJ1L4CJVOL0UUQPTQWX8YOTCCS7O1T4CSNJF11";
PostClient postClient = ExecutableClient.getInstance().newPostClient(api);
postClient.addParameter("page", "1");
postClient.addParameter("limit", "10");
postClient.addParameter("corpId", corpId);
// postClient.addParameter("appTypes", "[\"APP_I3D2FD2ZQB75KLLKL48Y\"]");
postClient.addParameter("userId", userId);
String token = DigestUtils.md5DigestAsHex(String.format("%s%s%s", corpId, userId, corpCode).getBytes()).toUpperCase();
postClient.addParameter("token", token);
String apiResult = postClient.post();
Assert.notNull(apiResult);
}
4.4 抄送我的任务(应用纬度)
- 接口:
/v1/task/getNotifyMeTasksInApp.json
- 请求类型:
GET
- 参数
参数名 | 描述 | 是否必填 | 示例 | 备注 |
pageSize | 每页记录数 | 是 | 10 | 必须大于0 默认10 最大值:100 |
currentPage | 当前页 | 是 | 1 | 必须大于0 默认1 |
keyword | 关键词 | 否 | ||
processCodes | 流程code列表 | 否 | ["xx","xxx"] | |
instanceStatus | 实例状态 | 否 | 枚举值 |
- 返回值:
- content : 返回内容;
- success : 请求是否成功;
- errorMsg : 错误信息;
- errorCode : 错误码;
- errorLevel : 错误级别;
- 返回格式
成功:
{
"result": {
"data": [
{
"modifiedTime": "2018-04-12 19:44:14",
"formInstanceId": "FINST-AJ1L4CJVXL0UIAIPR06ZA52U9HKUXXXXXX",
"title": "单据",
"instValue": [
{
"componentId": "node_jfwgghbo",
"componentName": "TextField",
"fieldId": "textField_jfwggg8e",
"label": "姓名",
"validation": [],
"fieldData": {
"complexType": "custom",
"dataType": "CHANGED",
"pass": true,
"value": "jack"
},
"errorMsg": null,
"hasError": false
}
],
"processId": 0,
"appType": "APP_R8MYLKYXXXXXX",
"dataMap": {
"textField_jfXXXXXX": "XXXXXX"
},
"originatorId": "XXXXXX",
"formUuid": "FORM-0G7KPV3WZL0U3AHTOA9BFVXXXXXX",
"dataType": "finst",
"originatorAvatar": "http://static.dingtalk.com/media/lADPBbCc1R7VwSHNXXXXXX.jpg",
"version": 0,
"createTime": "2018-04-12 19:44:14"
}
],
"totalCount": 1,
"currentPage": 1
},
"success": true
}
失败:
{
"errorCode": "TIANSHU_000006",
"success": false,
"errorMsg": "没有权限"
}
- Tips:instValue 返回的是字符串,内容格式是 json 数组
5. 附录
5.1 保存/更新 表单数据格式说明
- 表单中每个组件都有唯一 ID (在页面设计器组件右侧的高级面板可以查看唯一标识),每个组件中填写的数据都有自己的固定格式。目前支持的表单组件有:单行,多行,数字,单选,下拉单选,多选,下拉多选,日期,日期区间,人员搜索框,地区选择,部门选择,级联选择,子表单组件。
- 保存/更新 表单数据时,用 Map<String, Object> 的 JsonString 格式来作为参数传递表单中的数据。key 为组件ID,Object 为组件的值。每个组件的值格式如下:
组件类型 | 数据格式 | demo | 备注 |
单行输入框 | 字符串 | "danhang" | |
多行输入框 | 字符串 | "duohang" | |
数字输入框 | 数字 | 1 | |
单选 | 字符串 | "选项一" | |
下拉单选 | 字符串 | "选项一" | |
多选 | 字符串数组 | ["选项一","选项二"] | |
下拉多选 | 字符串数组 | ["选项一","选项二"] | |
日期组件 | 时间戳 | 1516204800000 | |
级联日期 | 字符串数组 | ["1514736000000","1517328000000"]。 假如只有结束时间,["","1517328000000"] | 第一个为开始时间的时间戳字符串,第二给结束时间的时间戳字符串 |
人员搜索框 | 字符串数组 | ["231344123","231344156"] | ["xxx"]里面是userId |
城市选择 | 字符串数组 | ["110000","110100","110101"] | 第一个必须为省份ID,第二个为城市ID,第三个为区ID。 |
部门选择 | 字符串数组 | ["1123456"] | ["xxx"]里面是部门id |
级联选择 | 字符串数据 | ["part","part_b"] | 必须按照级联顺序,依次放到数组中 |
附件组件 | 字符串数组 | [ { "downloadUrl": "文件下载地址", "name": "文件名", "previewUrl": "文件预览地址", "url": "文件下载地址", "ext": "docx" } ] | |
图片组件 | 字符串数组 | [ { "downloadUrl": "文件下载地址", "name": "文件名", "previewUrl": "文件预览地址", "url": "文件下载地址", } ] | |
超链接组件 | 字符串数组 | [ { "link":"http://www.aliwork.com", "text":"宜搭" } ] | |
子表单 | JSONARRAY | [{"textField_jcr0069m": "danhang1"},{"textField_jcr0069m": "danhang2"}] (textField_jcr0069m为子表单下单行的组件ID) | 由于子表单下有多条记录,所以用JSONARRAY。由于每条记录都是很多组件的值,因此用JSONObject来存每个组件对应的值 |
手写签名 | 字符串 | "图片地址" |
- 完整的表单数据格式如下:
{
"textField_jcr0069m": "danhang",
"textareaField_jcr0069n": "duohang",
"numberField_jcr0069o": 1,
"radioField_jcr0069p": "选项一",
"selectField_jcr0069q": "选项一",
"checkboxField_jcr0069r": [
"选项二",
"选项三"
],
"multiSelectField_jcr0069s": [
"选项二",
"选项三"
],
"dateField_jcr0069t": 1516636800000,
"cascadeDate_jcr0069u": [
"1514736000000",
"1517328000000"
],
"employeeField_jcr0069x": [
"xxxxx"
],
"citySelectField_jcr0069y": [
"110000",
"110100",
"110101"
],
"departmentField_jcr0069z": 1123456,
"cascadeSelectField_jcr006a0": [
"part",
"part_b"
],
{
"attachmentField_jna1lvyb": [
{
"downloadUrl": "https://www.aliwork.com/fileHandle?appType=default_tianshu_app&fileName=edd07ca9-1d2e-44b5-98fe-c1e16202f90d.txt&instId=&type=download",
"name": "test.txt",
"previewUrl": "https://www.aliwork.com/inst/preview?appType=default_tianshu_app&fileName=test.txt&fileSize=4&downloadUrl=edd07ca9-1d2e-44b5-98fe-c1e16202f90d.txt",
"url": "https://www.aliwork.com/fileHandle?appType=default_tianshu_app&fileName=edd07ca9-1d2e-44b5-98fe-c1e16202f90d.txt&instId=&type=download",
"ext": "txt"
}
]
},
"tableField_jcr006a1": [
{
"cascadeDate_jcr006aa": [
"1514736000000",
"1517328000000"
],
"cascadeSelectField_jcr006ae": [
"product",
"product_a"
],
"checkboxField_jcr006a7": [
"选项一",
"选项二",
"选项三"
],
"citySelectField_jcr006ac": [
"120000",
"120100",
"120102"
],
"dateField_jcr006a9": 1517328000000,
"departmentField_jcr006ad": ["1123456"],
"employeeField_jcr006ab": [
"yyyyy",
"xxxxx"
],
"multiSelectField_jcr006a8": [
"选项一",
"选项二",
"选项三"
],
"numberField_jcr006a4": 2,
"radioField_jcr006a5": "选项二",
"selectField_jcr006a6": "选项三",
"textField_jcr006a2": "子表单下单行",
"textareaField_jcr006a3": "子表单下多行"
}
],
"digitalSignatureField_kt3nh972": "https://tianshu-vpc.oss-cn-shanghai.aliyuncs.com/5e03f863-dd39-4f62-ba9b-497af2c9ad9f.png"
}
5.2 根据组件值进行条件搜索,组件值格式说明
- 表单中每个组件都有唯一 ID (在页面设计器组件右侧的高级面板可以查看唯一标识),每个组件的搜索格式不一样。目前支持搜索的表单组件有:单行,多行,数字,单选,下拉单选,多选,下拉多选,日期,日期区间,人员搜索框,地区选择,部门选择,级联选择,子表单组件。
- 搜索时,用 Map<String, Object> 格式来表示每个组件的搜索条件。key 为组件 ID,Object 为组件的搜索值。各个组件的搜索类型和值格式如下
组件类型 | 数据格式 | demo | 备注 |
单行输入框 | 字符串 | "danhang" | 模糊搜索 |
多行输入框 | 字符串 | "duohang" | 模糊搜索 |
数字输入框 | 字符串数组 | ["1","10"] | 范围搜索。第一个为最小值,第二个为最大值 |
单选 | 字符串 | "选项二" | 精确搜索 |
下拉单选 | 字符串 | "选项二" | 精确搜索 |
多选 | 字符串数组 | ["选项二"] | 数组搜索。 搜索值必须是多选值的子集 |
下拉多选 | 字符串数组 | ["选项二"] | 数组搜索。 搜索值必须是多选值的子集 |
日期组件 | 字符串数组 | ["1514736000000","1517414399000"] | 范围搜索。第一个为日期开始的时间戳,第二个为日期结束的时间戳。 |
日期区间 | 数组 | [["1514736000000","1517414399000"],["1514736000000","1517414399000"]] | 范围搜索。第一个数组是日期区间开始的搜索范围。第二个数组是日期区间结束的搜索范围。 |
人员搜索框 | 字符串数组 | ["xxxxx","yyyyyy"] | 精确匹配。值必须完全匹配,工号顺序也需要一致。 |
城市选择 | 字符串数组 | [500000, 500100, 500104, 500104003] | 数组搜索。 搜索值必须是城市值的子集。 另外,有市ID,就必须有省ID。有区ID,就必须有省ID和市ID。 |
部门选择 | 数字 | 1123456 | 精确匹配 |
级联选择 | 字符串数组 | ["part","part_b"] | 数组搜索。和城市选择限制条件一致。 |
子表单组件 | 字符串 | danhang | 模糊搜索。 子表单下的值为一个大text,搜索用模糊搜索。 |
- 完整例子
{
"textField_jcr0069m": "danhang",
"textareaField_jcr0069n": "duohang",
"numberField_jcr0069o": [
"1",
"10"
],
"radioField_jcr0069p": "选项一",
"selectField_jcr0069q": "选项一",
"checkboxField_jcr0069r": [
"选项二"
],
"multiSelectField_jcr0069s": [
"选项二",
"选项三"
],
"dateField_jcr0069t": [
1514736000000,
1517414399000
],
"cascadeDate_jcr0069u": [
[
1514736000000,
1517414399000
],
[
1514736000000,
1517414399000
]
],
"employeeField_jcr0069x": [
"xxxxx"
],
"citySelectField_jcr0069y": [
"110000",
"110100",
"110101"
],
"departmentField_jcr0069z": ["1123456"],
"cascadeSelectField_jcr006a0": [
"part",
"part_b"
],
"tableField_jcr006a1": "子表单数据"
}
5.3 流程实例详情对象格式说明
字段 | 描述 | 示例 | 备注 |
actioners | 流程实例当前任务执行人 | [ { "name": { "en_US": "user_en_name", "zh_CN": "user_zh_name", "type": "i18n" }, "userId": "workno" } ] | 如果流程已完成,没有执行人时,该字段为空 |
processInstanceId | 实例ID | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 | 唯一 |
formUuid | 流程表单ID | FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3 | |
processCode | 流程Code | TPROC--EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ4 | |
title | 实例标题 | xxxx 发起的流程 | 根据你的语言环境,返回对应的标题 |
instanceStatus | 实例状态 | RUNNING | |
approvedResult | 流程结束时的审批结论 | agree | agree -> 通过 disagree -> 拒绝 |
originator | 发起人信息 | [ { "name": { "en_US": "user_en_name", "zh_CN": "user_zh_name", "type": "i18n" }, "userId": "workno" } ] | |
data | 表单数据 | 参加附录4- 作为返回值的表单数据的格式说明 |
- 完整的数据格式 demo
{
"result": {
"data": {
"actioners": [
{
"name": {
"pureEn_US": "xxx",
"en_US": "xxx",
"zh_CN": "xxx",
"type": "i18n"
},
"userId": "xxx"
}
],
"processInstanceId": "f30233fb-72e1-4af4-8cb8-c7e0ea9ee530",
"formUuid": "FORM-EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ3",
"data": {
"numberField_jcr0069o": 1,
"multiSelectField_jcr0069s": [
"选项三",
"选项二"
],
"textareaField_jcr0069n": "duohang",
"employeeField_jcr0069x": [
"xxxx"
],
"departmentField_jcr0069z": "信息xxx平台",
"cascadeDate_jcr0069u": [
"1514736000000",
"1517328000000"
],
"cascadeSelectField_jcr006a0": [
"part",
"part_b"
],
"tableField_jcr006a1": [
{
"departmentField_jcr006ad": "信息xxx",
"cascadeDate_jcr006aa": [
"1514736000000",
"1517328000000"
],
"selectField_jcr006a6": "选项三",
"citySelectField_jcr006ac": [
"天津",
"天津市",
"河东区"
],
"radioField_jcr006a5": "选项二",
"employeeField_jcr006ab": [
"yyyyy",
"xxxxxx"
],
"dateField_jcr006a9": 1517328000000,
"textField_jcr006a2": "子表单下单行",
"textareaField_jcr006a3": "子表单下多行",
"cascadeSelectField_jcr006ae": [
"product",
"product_a"
],
"numberField_jcr006a4": 2,
"checkboxField_jcr006a7": [
"选项一",
"选项三",
"选项二"
],
"multiSelectField_jcr006a8": [
"选项一",
"选项三",
"选项二"
]
}
],
"selectField_jcr0069q": "选项一",
"citySelectField_jcr0069y": [
"北京",
"北京市",
"东城区"
],
"checkboxField_jcr0069r": [
"选项三",
"选项二"
],
"textField_jcr0069m": "danhang",
"radioField_jcr0069p": "选项一",
"dateField_jcr0069t": 1516636800000
},
"processCode": "TPROC--EF6Y4G8WO2FN0SUB43TDQ3CGC3FMFQ1G9400RCJ4",
"originator": {
"name": {
"pureEn_US": "xxx",
"en_US": "xxxx",
"zh_CN": "xxx",
"type": "i18n"
},
"userId": "xxxx"
},
"title": "xxx发起的流程",
"instanceStatus": "RUNNING"
},
"totalCount": 1,
"currentPage": 1
},
"success": true
}
5.4 作为返回值的表单数据的格式说明
作为返回值的表单数据格式和 “附录 1- 保存/更新 表单数据格式说明”基本一致。区别在于:
- 录入时,地区组件值为["省份 ID ", "市 ID ", "区 ID "]。作为返回值时,是["省名称","城市名称","地区名称"]。
- 单选,下拉单选,多选,下拉多选是有国际化的。返回值时,会根据传的 language 参数,返回对应的数据值。
5.5 表单实例详情对象格式说明
字段 | 描述 | 示例 | 备注 |
gmtModified | 最后修改时间 | 2018-01-24 11:22:01 | |
formUuid | 表单ID | FORM-EF6Y93URN24F1SCX15VA2P918LPEIJ2H3UFORCJ1 | |
formInstId | 实例ID | FINST-EF6Y93URN2F02S745LTMW2D2G4WVDS16O17ISCJ0 | |
originator | 发起人详情 | [{"name": {"en_US": "user_en_name","zh_CN": "user_zh_name","type": "i18n"},"userId": "workno"}] | |
formData | 表单数据详情 | 参加附录4- 作为返回值的表单数据的格式说明 |
完整的 demo 如下
{
"result": {
"gmtModified": "2018-01-24 11:22:01",
"formUuid": "FORM-EF6Y93URN24F1SCX15VA2P918LPEIJ2H3UFORCJ1",
"formInstId": "FINST-EF6Y93URN2F02S745LTMW2D2G4WVDS16O17ISCJ0",
"formData": {
"numberField_jcr0069o": 1,
"multiSelectField_jcr0069s": [
"选项三",
"选项二"
],
"textareaField_jcr0069n": "duohang",
"employeeField_jcr0069x": [
"xxxx"
],
"departmentField_jcr0069z": "xxxx",
"cascadeDate_jcr0069u": [
"1514736000000",
"1517328000000"
],
"cascadeSelectField_jcr006a0": [
"part",
"part_b"
],
"tableField_jcr006a1": [
{
"departmentField_jcr006ad": "xxxx",
"cascadeDate_jcr006aa": [
"1514736000000",
"1517328000000"
],
"selectField_jcr006a6": "选项三",
"citySelectField_jcr006ac": [
"天津",
"天津市",
"河东区"
],
"radioField_jcr006a5": "选项二",
"employeeField_jcr006ab": [
"xxxxxx",
"yyyyyy"
],
"dateField_jcr006a9": 1517328000000,
"textField_jcr006a2": "子表单下单行",
"textareaField_jcr006a3": "子表单下多行",
"cascadeSelectField_jcr006ae": [
"product",
"product_a"
],
"numberField_jcr006a4": 2,
"checkboxField_jcr006a7": [
"选项一",
"选项三",
"选项二"
],
"multiSelectField_jcr006a8": [
"选项一",
"选项三",
"选项二"
]
}
],
"selectField_jcr0069q": "选项一",
"citySelectField_jcr0069y": [
"北京",
"北京市",
"东城区"
],
"checkboxField_jcr0069r": [
"选项三",
"选项二"
],
"textField_jcr0069m": "danhang",
"radioField_jcr0069p": "选项一",
"dateField_jcr0069t": 1516636800000
},
"originator": {
"name": {
"pureEn_US": "userEnglishName",
"en_US": "userEnglishName",
"zh_CN": "userName",
"type": "i18n"
},
"userId": "xxxx"
}
},
"success": true
}
宜搭为了更好的优化宜搭使用手册内容和质量,占用您3-5分钟时间,辛苦填写一下文档反馈问卷。文档反馈问卷是匿名提交,同时问卷信息仅用于宜搭文档体验反馈收集,感谢您对宜搭的支持!
--------------------欢迎关注我们--------------------
