本篇介绍 O2OA 平台流程表单中的区段设置。流程处于多人处理环节时,每位处理人可能要对相同组件编辑各自内容,流转后又要将这些内容合并展现,这时就要用到区段。凡是存值的组件都具备区段设置,启用后平台会在存值前加 key 作为区段依据,依据可取处理人、所在组织、活动、拆分值或脚本。后续表单可设置区段合并,做合并展现或合并编辑,并与启用区段互斥,配置时需留意相关说明。
本文介绍如何在 O2OA 平台中进行审批流程表单或工作流表单的设计。O2OA 平台以拖拽可视化的方式完成表单设计与配置,无需编写过多代码,业务人员可以直接修改。
当流程处于多人处理环节时,每位处理人可能需要对同一个组件编辑各自的内容;流程流转后,这些内容还可以一起展现。这时就需要用到区段。
在 O2OA 的流程表单中,凡是存值的组件(即把数据保存到后台的组件)都拥有区段设置。
例如,张三和李四在多人处理节点可以分别填写文本字段,张三填写了“内容一”,
李四填写了“内容二”:
在后续节点中,对两人的内容进行合并展现:
启用区段后,平台会在该组件存的值前面加上一个 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。 | |
拆分值 | 当流程拆分的时候有效,区段值为拆分值。 | |
脚本 | 使用脚本返回拆分依据 |
对于数据表格组件和数据模板组件,当前处理人在填写内容时,还可以同时看到其他处理人填写的内容。
数据表格如下图:
数据模板如下图:
设置项
配置项 | 配置值 | 说明 |
显示所有区段 | 是 | 当前处理人可以填写内容,同事查看他人填写的内容 |
否 | 当前处理人可以填写内容 | |
显示区段值 | 是 | 界面上显示区段依据 |
否 | 不显示区段依据 | |
区段值样式 | ||
序号 | 按区段 | 每个区段从1开始显示序号 |
按组件 | 区段累加显示序号 | |
总计行 | 按区段 | 每个区段都有小计行 |
按组件 | 在所有区段以后有总计行 | |
分隔符 | 区段依据和区段内容的分隔符 | |
排序脚本 | 排序脚本通过 this.envent.a 和 this.evnet.b 获取数据,处理后返回正数表示升序,负数表示降序。this.envent.a 和 this.envent.b 值如: { key: "张三@zhangsan@P", //区段值 data: "内容" //字段内容 } |
在启用区段的后续表单里,可以设置区段合并,对各位处理人填写的内容进行合并展现或合并编辑处理。区段合并与启用区段互斥。
配置项 | 配置值 | 说明 |
区段合并 | 无 | |
只读 | 不改变字段数据,只做展现处理。 | |
编辑 | 保存后会删除区段值并合并数据。 | |
合并方式 | 默认 | 区段合并设置为只读时有效,按照配置项进行配置 |
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] 获取字段数据,返回删除区段后合并的数据。 |
效果如下:
以上是流程设计中区段配置方法的相关说明。如需了解更多关于 O2OA 流程设计的内容,请继续阅读下面的章节。
以下文章可能对您有帮助:
《在流程表单中使用基于 Vue 的 ElementUI 组件》
相关内容