流程变量

  • 流程中可以定义流程变量,它可以在流程的各个环节进行赋值,代码启动流程时可以初始化流程变量
  • 一个流程可以定义多个流程变量
  • 在页面中通过流程组件取到流程变量的值

定义流程变量

进入流程设计页面,点击“高级设置”,进入“流程变量”进行定义。

image.png

image.png

  • 新增:新增一个流程变量
  • 名称:流程变量的唯一标识,用英文定义
  • 数据类型:包括字符串、整数、小数、日期、日期时间等
  • 作用范围
    • 任务:任务级变量,在某个环节修改后,不会影响其他环节的值
    • 流程:流程级变量,在某个环节修改后,值就全局改变,含义可类比“全局变量”
  • 值类型:常量、表达式
  • 存储字段:4个整数字段 sEIVar1、sEIVar2、sEIVar3、sEIVar4;4个字符字段 sESVar1、sESVar2、sESVar3、sESVar4
  • 值:变量的初始值

特别说明

  • 流程级变量可以在各个环节进行赋值,呈现出各环节不同的值,但是当任务在“已办”中打开时(说明此时的流程已不在当前环节),该变量的值并不会是当前环节定义的值,所以“流程级”变量应该慎用!
  • 举例:在第二环节设置一个流程变量,控制价格不可见,在第三环节设置修改该变量的值,以控制该价格可见,在第二环节打开待办时,价格的可见性是正常的,但是当流程流转到第三环节,此时第二环节的人从已办去查看该任务时,价格的可见性就不对了,因为此时该变量的值已改变!

修改流程变量

设计时赋值

在需要修改的环节,点击“高级设置”,进入“流程变量”,点击“变量赋值”。在“名称”中选择流程变量,在“值”中录入值。

image.png

运行时赋值

在 JS 代码中,调用工作流组件的方法修改

修改流程级的流程变量

let wfmui = this.comp("wfmui");
wfmui.updateFlowVars(wfmui.getTask(), {"priceHide": "true"});

修改任务级的流程变量

let wfmui = this.comp("wfmui");
wfmui.updateTaskVars(wfmui.getTask(), {"priceHide": "true"})

获取流程变量

流程组件提供两种获取变量的方法

  • 获取变量 getVar,用于界面绑定,变量值是在页面加载时获取的,后面如果有更新,这里不变
  • 获取实时变量 queryFlowVars queryTaskVars,用于 JS 代码,变量值是实时获取的,能获取到更新后的值

获取变量

在属性编辑器中,找到流程组件,点击该组件提供的“获取变量”方法,方法的参数为定义的流程变量名称。

image.png

获取实时变量

在 JS 代码中,调用工作流组件的方法获取

获取任务级的流程变量

let vars = await this.comp("wfmui").queryTaskVars();
let myFlowVar = vars.myFlowVar;

获取流程级的流程变量

let vars = await this.comp("wfmui").queryFlowVars();
let myFlowVar = vars.myFlowVar;

results matching ""

    No results matching ""