高级流程配置
在 上一个章节 中,我们介绍了如何配置一个流程。在这一章节中,我们将介绍一些高级配置,包括:
- 动态生成项目标题
- 动态跳转环节
- 动态表单
以上内容基本都会涉及代码脚本,我们的代码脚本是基于 JavaScript 语言的,所以如果你对 JavaScript 不熟悉,建议先学习一下 JavaScript。
动态生成项目标题
应用场景
由于我们在流程配置中屏蔽了默认的字段,所以在流程项目列表中,我们看不到项目标题,这时候我们可以通过代码脚本动态生成项目标题。
配置
- 点击
开始
节点 - 设置使用名称模板为 是
- 点击
编辑项目名称模板
, 在弹出的编辑框中输入项目名称模板
// 项目名称要包含申请人姓名部门和费用类别
const userName= ctx.$META_FORM_TITLE['申请人姓名'];
const department= ctx.$META_FORM_TITLE['所属部门'];
const costType= ctx.$META_FORM_TITLE['费用类别'];
return `${department}的${userName}的${costType}报销单`;
配置完成后界面如下:
动态跳转环节
应用场景
如果创建时选择加急,则直接跳进入总经理审核环节。
配置
- 点击
开始
节点 - 找到
自定义跳转逻辑
模块 - 添加两个节点
- 第一个选择
业务负责人审核
,标题填写 非加急 - 第二个选择
总经理审核
,标题填写 加急 - 然后需要在两个节点下面分别添加条件判断代码
// 非加急
return $CURRENTFORM['是否加急'] === '否';
// 加急
return $CURRENTFORM['是否加急'] === '是';
说明:$CURRENTFORM 是当前表单的数据,这里我们判断是否加急字段是否为否,如果是则返回 true,否则返回 false。
配置完成后界面如下:
动态表单
应用场景
创建表单时,如果选择有预付,则需要填写预付金额,否则不需要填写。该字段受到是否加急字段的影响。
配置
- 点击
开始
节点 - 选择关联表单,并且点击表单标题进入编辑界面
- 增加预付金额字段
- 选中预付金额字段,然后勾选
表达式
- 关联字段选择
是否有预付
- 点击
编辑
,进入代码编辑界面,输出代码如下:
ctx.$MERGE_RULE({
hidden: ctx.$FORM_TITLE && ctx.$FORM_TITLE.是否有预付 === '否'
})
- 点击
保存
,返回流程配置界面
说明:ctx.$MERGE_RULE 是一个合并规则的函数,它可以合并多个规则,这里我们只需要合并一个规则,所以只需要传入一个对象,对象中的 hidden 属性表示是否隐藏该字段,如果为 true 则隐藏,否则不隐藏。
配置完成后界面如下:
代码编辑器界面如下:
更多脚本相关配置
可以参考以下文档: