主题
自闭环查看任务详情【可选】
用于在门户中可直接查看任务详情,无需进入业务系统中进行查看;
门户表象
用于通过任务详情卡片进行查看具体的任务详情;
申请任务、待办任务、已办任务都有对应的任务详情内容;
详情分为两种种:普通详情、列表类详情;
普通详情为直接点击任务,在任务详情卡片中心查看单条任务明细;
列表类详情为点击任务,查看的是当前任务的聚合列表,再次点击后跳转至业务系统查看详情,此类型一般用于如学工请假申请/奖学金申请等高并发期的聚合任务;
任务详情卡片都可继续跳转业务系统进行查看;
普通任务:

聚合任务:

流程动作
创建任务时,需将对应的任务详情的字段也进行推送;
如果任务的详情字段发生变更,更新任务时需传入相关字段进行更新或清空。
涉及接口
请求体
说明
请求体中省略内容详见创建/更新任务中请求体介绍
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| insertModel | *M | List<InsertModel> | 新增信息(任务和申请),与insertModel至少填一个 | |
| updateModel | *M | UpdateModel | 更新信息 (任务和申请),与updateModel至少填一个 |
UpdateModel(返回)
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| taskModels | *M | List<TaskModel> | 需要更新的任务信息,与applyModels至少填一个 | |
| applyModels | *M | List<ApplyModel> | 需要更新申请信息,与taskModel至少填一个 |
InsertModel(返回)
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 是否聚合任务 | isTaskGroup | O | integer | 0:否(默认) 1:是 |
| 任务明细字段数组 | taskDetailColumn | O | List<ColumnInfo> | 任务明细字段数组 (如果是聚合任务最多传20条) |
| 详情字段总数 | detailColumnSize | *M | integer | 详情字段总数 (当任务类型为聚合类型且详情字段不为空时必传) |
| applicationModel | O | ApplicationModel | 任务关联的申请信息 | |
| ... | ... | ... | ... | ... |
ApplicationModel(返回)
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 明细字段数组 | detailColumn | O | List<ColumnInfo> | 申请明细字段数组 |
| ... | ... | ... | ... | ... |
TaskModel(返回)
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 任务详情字段 | taskDetailColumn | O | List<ColumnInfo> | 任务明细字段数组 (如果是聚合任务最多传20条),传入[]则清空数据 |
| 详情字段总数 | detailColumnSize | *M | integer | 详情字段总数 (当任务类型为聚合类型且详情字段不为空时必传) |
| ... | ... | ... | ... | ... |
ApplyModel(返回)
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 详情字段信息 | detailColumn | O | List<ColumnInfo> | 详情字段信息,传入[]则清空数据 |
| ... | ... | ... | ... | ... |
| 字段名 | 参数名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 字段id | columnId | M | String(64) | 字段id |
| 字段名称 | columnName | M | String(30) | 字段名称 |
| 字段类型 | columnType | M | integer | 3:文本 4:图片 5:附件 7:表格 8:其它 |
| 字段值 | columnValue | O | Object | 字段值 |
| 文件名 | fileName | O | String(50) | 当字段类型为图片/附件时对应的文件名 (带后缀) |
| 标题字段名称 | label | O | String(50) | 标题字段名称(聚合任务中则为每条具体任务标题) |
| 是否主键字段 | isKey | O | integer | 聚合任务中使用到,用于表示每条聚合任务id 1:是 0:否(默认) |
当字段类型为文本、其它时,传入格式:
{
"columnId": "column1",
"columnName": "字段1",
"columnType": 3, // 3、8
"columnValue": "text",
"label": "基本信息"
}1
2
3
4
5
6
7
2
3
4
5
6
7
当字段类型为图片、附件时,传入格式:
{
"columnId": "column1",
"columnName": "字段1",
"columnType": 4, // 4、5
"columnValue": "http://www.attatchment.url",
"fileName":"文件名称.png"
"label": "基本信息"
}1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
当字段类型为表格时,传入格式:
{
"columnId": "column1",
"columnName": "字段1",
"columnType": 7,
"columnValue": {
"headers": ["姓名","年龄","性别"],
"rows": [
[ "张三","28","男"],
["李四","25","女"],
["王五","30","男"]
]
},
"label": "表格"
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
请求示例
普通任务
{
"insertModel": [
{
"isTaskGroup": 0,
"taskDetailColumn": [
{
"columnId": "1",
"columnName": "紧急程度",
"columnType": 3,
"columnValue": "一般",
"label": "任务信息",
},
{
"columnId": "2",
"columnName": "任务场景",
"columnType": 3,
"columnValue": "OA审批",
"label": "任务信息",
},
{
"columnId": "3",
"columnName": "发起人",
"columnType": 3,
"columnValue": "王富贵",
"label": "任务信息",
},
{
"columnId": "4",
"columnName": "接收时间",
"columnType": 3,
"columnValue": "2023-05-06 13:00:29",
"label": "任务信息",
},
{
"columnId": "2120",
"columnName": "历史请假明细",
"columnType": 7,
"columnValue": {
"headers": [
"请假类型",
"请假事由",
"审核结果",
"申请时间",
"请假时长/h"
],
"rows": [
[
"事假",
"家里有事",
"已通过",
"2023-05-06 13:00:32",
"24"
],
[
"事假",
"家里有事",
"已通过",
"2023-05-06 13:00:32",
"24"
]
},
"label": "历史请假明细"
}
],
...
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
聚合任务
{
"insertModel": [
{
"isTaskGroup": 1,
"detailColumnSize": 2,
"taskDetailColumn": [
{
"columnId": "1",
"columnName": "id",
"columnType": 3,
"columnValue": "task001",
"isKey": 1,
"label": "罗小黑发起的奖学金申请待审批"
},
{
"columnId": "2",
"columnName": "奖学金类型",
"columnType": 3,
"columnValue": "研究生学业奖学金",
"isKey": 0,
"label": "罗小黑发起的奖学金申请待审批"
},
{
"columnId": "3",
"columnName": "发起人",
"columnType": 3,
"columnValue": "罗小黑",
"isKey": 0,
"label": "罗小黑发起的奖学金申请待审批"
},
{
"columnId": "4",
"columnName": "接收时间",
"columnType": 3,
"columnValue": "2023-05-06 13:00:29",
"isKey": 0,
"label": "罗小黑发起的奖学金申请待审批"
},
{
"columnId": "1",
"columnName": "id",
"columnType": 3,
"columnValue": "task002",
"isKey": 1,
"label": "罗小一发起的奖学金申请待审批"
},
{
"columnId": "2",
"columnName": "奖学金类型",
"columnType": 3,
"columnValue": "研究生学业奖学金",
"isKey": 0,
"label": "罗小一发起的奖学金申请待审批"
},
{
"columnId": "3",
"columnName": "发起人",
"columnType": 3,
"columnValue": "罗小一",
"isKey": 0,
"label": "罗小一发起的奖学金申请待审批"
},
{
"columnId": "4",
"columnName": "接收时间",
"columnType": 3,
"columnValue": "2023-06-06 13:00:29",
"isKey": 0,
"label": "罗小一发起的奖学金申请待审批"
}
],
...
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
提示
聚合型任务中,相同的label表示同一条子任务数据,label字段的值为子任务标题数据。不同的子任务的字段内容应保持一致。每条子任务中 isKey为1的column有且仅能有一条,表示该子任务的主键字段,页面不会展示,操作回调时会使用该字段作为入参
Demo
待办通知场景
java
// 创建客户端
Client client = new DefaultClient(BASE_URL, APP_ID, APP_SECRET);
// 创建请求对象
SimpleTaskAddRequest request = new SimpleTaskAddRequest();
SimpleTaskAddRequest.SimpleTaskAddModel model = new SimpleTaskAddRequest.SimpleTaskAddModel();
model.setTaskId("20240808");
model.setSceneCode("testCode1");
model.setSubject("test20240808");
model.setInitiatorId("xxx");
model.setServiceId("");
model.setServiceName("");
model.setProcessors(Arrays.asList(new Processor("user01")));
model.setPcViewUrl("http://www.pc.url");
model.setH5ViewUrl("http://www.h5.url");
TextDetailColumn c1 = new TextDetailColumn();
c1.setColumnId("1");
c1.setColumnName("紧急程度");
c1.setColumnValue("一般");
c1.setLabel("任务信息");
TextDetailColumn c2 = new TextDetailColumn();
c2.setColumnId("2");
c2.setColumnName("任务场景");
c2.setColumnValue("通知");
c2.setLabel("任务信息");
PictureColumn c3 = new PictureColumn();
c3.setColumnId("3");
c3.setColumnName("图片");
c3.setColumnValue("http://www.pic.url");
c3.setFileName("图片.png");
c3.setLabel("任务信息");
AttachColumn c4 = new AttachColumn();
c4.setColumnId("4");
c4.setColumnName("附件");
c4.setColumnValue("http://www.attatchment.url");
c4.setFileName("附件.docx");
c4.setLabel("附件");
TableColumn c5 = new TableColumn();
c5.setColumnId("5");
c5.setColumnName("表格");
TableModel tableColumn = new TableModel();
tableColumn.setHeaders(Arrays.asList("姓名", "年龄","性别"));
tableColumn.setRows(Arrays.asList(
Arrays.asList("张三", "18","男"),
Arrays.asList("李四", "20","女")
));
c5.setColumnValue(tableColumn);
c5.setLabel("表格");
model.setTaskDetailColumn(Arrays.asList(c1, c2, c3, c4, c5));
request.setSimpleTaskAddModelList(Arrays.asList(model));
BaseResponse response = client.execute(request);
//调用成功,则处理业务逻辑
if (response.isSuccess()) {
//.....
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
待办审批场景
普通任务
普通任务的详情字段与待办通知场景中的字段写法一致
聚合任务
java
public void taskSaveOrUpdate1() throws Exception {
// 创建客户端
Client client = new DefaultClient(BASE_URL, APP_ID, APP_SECRET);
// 创建请求对象
SaveOrUpdateRequest request = new SaveOrUpdateRequest();
// 发起任务
InsertModel insertModel = new InsertModel();
insertModel.setTaskId("2024080803");
insertModel.setSceneCode("testCode1");
insertModel.setInitiatorId("user01");
insertModel.setInitiatorType(ProcessorType.USER_ACCOUNT);
insertModel.setSubject("聚合");
insertModel.setProcessors(Arrays.asList(new Processor("user01"), new Processor("user04")));
insertModel.setServiceId("xxx");
insertModel.setServiceName("xxx");
insertModel.setNodeId("002");
insertModel.setNodeName("002");
insertModel.setPcViewUrl("http://www.pc.url");
insertModel.setH5ViewUrl("http://www.h5.url");
insertModel.setProcessInstanceImgUrl("");
insertModel.setProcessInstanceRecordUrl("");
insertModel.setPrevProcessor("user02");
insertModel.setIsTaskGroup(1);
insertModel.setDetailColumnSize(4);
List<BaseDetailColumn> datas = new ArrayList<BaseDetailColumn>();
datas.addAll(getData("罗小一发起的奖学金申请待审批", "task001", "研究生学业奖学金", "罗小一", "2023-05-06 13:00:29"));
datas.addAll(getData("罗小二发起的奖学金申请待审批", "task002", "研究生学业奖学金", "罗小二", "2023-05-06 13:10:29"));
datas.addAll(getData("罗小三发起的奖学金申请待审批", "task003", "研究生学业奖学金", "罗小三", "2023-05-06 13:03:29"));
datas.addAll(getData("罗小四发起的奖学金申请待审批", "task004", "研究生学业奖学金", "罗小四", "2023-05-06 13:04:29"));
insertModel.setTaskDetailColumn(datas);
request.setInsertModel(Collections.singletonList(insertModel));
BaseResponse response = client.execute(request);
//调用成功,则处理业务逻辑
if (response.isSuccess()) {
//.....
}
}
private List<TextDetailColumn> getData(String label, String key, String value1, String value2, String value3) {
TextDetailColumn c1 = new TextDetailColumn();
c1.setColumnId("1");
c1.setColumnName("id");
c1.setIsKey(1);
c1.setColumnValue(key);
c1.setLabel(label);
TextDetailColumn c2 = new TextDetailColumn();
c2.setColumnId("2");
c2.setColumnName("奖学金类型");
c2.setColumnValue(value1);
c2.setLabel(label);
TextDetailColumn c3 = new TextDetailColumn();
c3.setColumnId("3");
c3.setColumnName("发起人");
c3.setColumnValue(value2);
c3.setLabel(label);
TextDetailColumn c4 = new TextDetailColumn();
c4.setColumnId("4");
c4.setColumnName("接收时间");
c4.setColumnValue(value3);
c4.setLabel(label);
return Arrays.asList(c1, c2, c3, c4);
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

