Appearance
工作流专题:「代码块」
代码块
是可以编写 JavaScript 代码来实现自定义功能的节点。
注意
使用代码块需要有一定 JavaScript
基础代码块
基础说明可查阅 代码块
场景1:「代码块」转换中文日期
场景说明
在订单系统中,存在表单: 订单表
场景需求:需要将订单中的 下单日期
转换为 中文日期
1.1 创建记录表单
创建 订单表

1.2 创建表单工作流
创建表单事件,用于转换中文日期

添加代码块,用于设置详细的转换逻辑

提示
以下为 代码块
的 代码模块
的设置
JS
const dirt = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十", "三十一"];
let source = new Date(input.source);
let result = "";
let year = source.getFullYear().toString();
for(i = 0; i < year.length; i ++){
result += dirt[year[i]];
}
result += '年'
result += dirt[source.getMonth() + 1] + '月';
result += dirt[source.getDate()] + '日';
return { zh: result }
以下为 返回参数
的设置
json
{"zh": "中文日期"}
添加更新节点,更新记录中的中文日期

提示
筛选条件:记录ID = 记录ID(表单事件触发)
1.3 触发表单事件
点击 +记录
新增一条记录

提示
新增记录后,刷新一下就可以看到回填的 中文日期
1.4 查看流程日志
查看 流程日志
,可以查看工作流的执行情况,这里可以看到转换的中文日期和更新的记录条数

场景2:「代码块」操作子表数据
场景说明
在订单系统中存在表: 订单表
场景需求:新增记录后,为每一条明细添加序号
2.1 创建记录表单
创建 订单表

提示
已精简掉所有不相关字段
2.2 创建表单工作流
创建表单事件,用于添加明细序号

添加 代码块
节点

提示
代码模块
设置
js
let list = input.list;
for(i = 0; i < list.length; i++){
list[i].id = i + 1;
}
return {result: list}
返回参数
设置
json
{"result": [{"name":"商品名称","id":1}]}
添加 更新记录
,清空子表
为什么清空子表?
因为子表更新只能针对 单条
子表更新
但清空子表后,使用 增加子表记录
就可以做到子表的批量添加
此处场景简单,可以这样使用

添加 更新记录
,新增子表

2.3 触发表单事件
点击 +记录
新增一条记录

提示
新增记录时,没有填写序号
提交后,再次点开,就能看到序号自动生成了
2.4 查看流程日志
查看 流程日志
,可以看到 代码块
的填充情况和更新情况
