控制环节展示

在流程功能开发的时候,经常会遇到以下场景和需求:

  1. 一个流程在不同的执行环节 UI 界面往往都会存在差异,比如某个组件或某个区域的内容在有些环节显示,有些环节隐藏
  2. 主表字段的权限(只读、必填、隐藏)既可以在开发 ide 中通过数据组件设置,也可以上线后在流程设计中设置,但是从表或其他非流程关联表的字段权限则只能在开发时通过数据组件设置,上线后平台并没有直接设置的功能

在面对这种需求时,可以采用两种不同的方案来实现:

  1. 通过在业务表中定义字段来实现
  2. 通过流程变量来实现

使用业务字段

在流程关联表上定义的字段,可以在流程设计中设置它们的只读、必填、隐藏权限,这些权限在页面运行时是可感知的,那在页面上就可以通过感知字段权限来决定组件或区域是否显示或隐藏。流程设计在项目上线后也是可以修改的,因此字段的权限在项目上线后也是可以调整的,从而可以调整组件或区域的显示或隐藏。

image.png

image.png

非流程关联表是不能在流程设计中设置权限的,可以通过在流程关联表定义一个字段,然后在流程设计中控制该字段的某个权限,同时在页面上感知这个权限来设置目标字段的权限。

这里听起来有点绕,举例说明:页面上有个采购申请表和采购明细表,其中采购申请表为流程关联表,假设需要上线以后可以修改采购明细表中“项目名称”在第二个环节的只读权限。可以在采购申请表先定一个“项目名称只读”的字段,然后在流程的第二个环节把这个字段的只读权限勾上,然后再去页面设计中设置采购明细表中“项目名称”的只读权限的条件为:“项目名称只读”的只读属性==true,如下图所示

image.png

如果项目上线后,需要把“项目名称”的只读权限设为 false,那可以在流程设计中把“项目名称只读”的只读权限去掉。

预期目标

  1. 控制组件:保存按钮只在发起和财务审批环节显示;
  2. 控制区域:控制附件区域在总经理审批不显示;
  3. 控制从表绑定组件:控制明细信息在审批环节除是否通过外都只读,是否通过在财务审批必填。

具体实现

  • 在业务表上将每个需要控制的单元定义一个控制字段,利用字段的表单权限在各个环节可以在流程设计中定义,来控制组件在各个环节的不同属性或规则

image.png

  • 在流程设计中根据需求在各个环节,给这些控制字段勾选表单权限

在财务审批环节的控制,如下图所示

image.png

在总经理审批环节的控制,如下图所示

image.png

  • 在组件的动态隐藏属性或数据的规则上编辑表达式,根据控制字段的表单权限来控制组件的属性或数据规则

设置保存按钮的动态隐藏,如下图所示

image.png

设置附件信息区域的动态隐藏,如下图所示

image.png

设置发票数量(非流程关联表上的字段)的只读,如下图所示

image.png

  • 应用发布后,可以在流程定义中修改这些控制字段表单权限,组件的属性或规则也可随之而改变。

打开“企业门户-系统管理-工作流管理-流程定义”功能,找到对应的流程记录,版本管理可以查看发布过的历史版本,编辑可以修改当前版本,修改后使用“发布”使修改生效。

image.png

使用流程变量

流程中可以定义流程变量,每个环节可以对流程变量进行赋值,在页面元素的动态隐藏属性上通过获取流程变量的值来实现该元素在不同环节的隐藏和显示。

预期目标

  1. 控制组件:保存按钮只在发起和财务审批环节显示;
  2. 控制区域:控制附件区域在总经理审批不显示;
  3. 控制从表绑定组件:控制明细信息在审批环节除是否通过外都只读,是否通过在财务审批必填。

具体实现

将每个控制单元定义一个流程变量,比如保存按钮隐藏,利用流程变量在不同环节可以赋不同值,来控制组件在各个环节的不同属性或规则,关于流程变量的设置,参考《流程变量

image.png

在各个环节根据需求给流程变量赋值

image.png

在组件的动态隐藏属性或数据的规则上编辑表达式,根据流程变量的值来控制组件的属性或数据规则

image.png

应用发布后,可以在流程定义中修改这些流程变量,组件的属性或规则也可随之而改变。

results matching ""

    No results matching ""