一、区段简介
当流程在多人处理的时候,有可能每位处理人需要对同一个组件编辑各自的内容。当流程流转后,还可以一起展现内容。这个使用就需要用到区段。
在o2oa的流程表单中,存值的组件(保存数据到后台)都拥有区段设置。
如:张三和李四在多人处理节点可以分别填写文本字段,张三填写了“内容一”

李四填写了“内容二”:

在后续节点对其进行了合并展现(该功能在v7.2版本中新增):

当启动区段时,平台会将该组件存的值前加一个key,这个key就是区段依据。
如:
文本字段(标识textfield)启动了区段,并以“处理人”为区段依据。
各自保存后,系统保存的值为:
{
textfield: {
"83de86fc-60bc-4b4c-955c-1085915865a4": "内容一", //key为张三在组织管理中的id
"3455b82a-399c-4ee4-b9b9-e70ae40fbaf1": "内容二" //key为李四在组织管理中的id
}
}而未启用区段时的值如下:
{
textfield: "内容"
}
配置项 | 配置值 | 说明 |
启用区段 | 是 | 启用区段 |
否 | 不启用区段,可以配置区段合并后的设置 | |
区段依据 | 处理人 | 区段值为处理人在组织管理的id,如:83de86fc-60bc-4b4c-955c-1085915865a4 |
处理人所在组织 | 区段值为处理人所在组织的distingiushedName,如:开发部@kfb@U | |
活动ID | 当流程拆分的时候有效,区段值为活动(流程节点)的id。 | |
拆分值 | 当流程拆分的时候有效,区段值为拆分值。 | |
脚本 | 使用脚本返回拆分依据 |
注:该功能在v7.2版本中新增。
对于数据表格组件和数据模板组件,当前处理人在填写内容的时候,同时可以看到其他处理人的内容。
数据表格如下图:

数据模板如下图:
![1683182624313278.png _MD46]FYPK5@3)ZBCUO1Z@G.png](/cms/static/upload/image/20230504/1683182624313278.png)
设置项
![1683182652184138.png C7WSQ}FPH]1%]}(`AA@FU68.png](/cms/static/upload/image/20230504/1683182652184138.png)
配置项 | 配置值 | 说明 |
显示所有区段 | 是 | 当前处理人可以填写内容,同事查看他人填写的内容 |
否 | 当前处理人可以填写内容 | |
显示区段值 | 是 | 界面上显示区段依据 |
否 | 不显示区段依据 | |
区段值样式 | ||
序号 | 按区段 | 每个区段从1开始显示序号 |
按组件 | 区段累加显示序号 | |
总计行 | 按区段 | 每个区段都有小计行 |
按组件 | 在所有区段以后有总计行 | |
分隔符 | 区段依据和区段内容的分隔符 | |
排序脚本 | 排序脚本通过this.envent.a和this.evnet.b获取数据,处理后返回正数表示升序,负数表示降序。this.envent.a和this.envent.b值如: { key: "张三@zhangsan@P", //区段值 data: "内容" //字段内容 } |
在启用区段的后续表单里,可以设置区段合并对各位处理人填写的内容进行合并展现或合并编辑处理。区段合并和启用区段是互斥的。
注:该功能在v7.2版本中新增。

配置项 | 配置值 | 说明 |
区段合并 | 无 | |
只读 | 不改变字段数据,只做展现处理。 | |
编辑 | 保存后会删除区段值并合并数据。 | |
合并方式 | 默认 | 区段合并设置为只读时有效,按照配置项进行配置 |
html脚本 | 根据脚本进行解析,然后返回html内容。 |

var data = this.target.getData(); //获取当前字段数据
var result = "";
for( var key in data ){
//key为区段值,data[key]为用户填写的内容
result += "<div>"+ key + ":" + data[key] + "</div>";
}
return result;效果如下:


var valueA = this.event.a.key; //获取区段值一 var valueB = this.event.b.key; //获取区段值二 return valueA.localeCompare( valueB ); //根据区段值排序
配置项 | 配置值 | 说明 |
显示区段值 | 是 | |
否 | ||
区段条目样式 | 每一个区段项目的样式 | |
区段内容样式 | ||
区段值样式 | ||
分隔符 | 区段值和区段内容的分隔符 | |
区段值 | 和启用区段时的区段依据相同配置 | |
排序脚本 | 排序脚本通过this.envent.a和this.evnet.b获取数据,处理后返回正数表示升序,负数表示降序。this.envent.a和this.envent.b值如: { key: "张三@zhangsan@P", //区段值 data: "内容" //字段内容 } |
效果如下:

合并后编辑需要删除区段值

var data = this.data.textfield; //获取字段数据
var result = "";
for( var key in data ){
result += data[key]; //获取内容
}
return result; //返回最终结果配置项 | 配置值 | 说明 |
合并方式 | 默认 | 设置为“默认”时,只有排序脚本,同上一节的排序脚本 |
脚本 | 通过this.data[fieldId]获取字段数据,返回删除区段后合并的数据。 |
效果如下:
![1683182867155815.png OIZ}_Y]3RZ]LG9{E0Q_BP)M.png](/cms/static/upload/image/20230504/1683182867155815.png)

以上是流程设计中区段配置方法的相关说明,更多关于O2OA流程设计的内容,请继续阅读下面的章节。