跳到主要内容

集成&自动化 - 表单提交后发起流程

本案例来自三方开发者「Jing」

1. 使用场景

新员工在入职时,都需要申请并领取个人资产,那么我们如何在填写新员工信息后,自动发起个人资产的申领呢?连接器可以在表单提交时触发,并自动发起新流程,那么让我们来一起看一下如何实现吧!

2. 实现功能

2.1 普通表单(不含子表)

(1)触发表单

当此表单提交后,触发集成自动化发起流程。

(2)流程表单

(3)配置集成&自动化

(4)实现效果

2.2 普通表单(含子表并不含子表内容特殊处理)

(1)触发表单

(2)流程表单

(3)配置集成&自动化

(4)实现效果

2.3 普通表单(含子表并含子表内容特殊处理)

(1)触发表单

(2)流程表单

(3)配置集成&自动化


    var result = [];  //定义新数组
var itemMap = {}; // 使用对象作为映射来提高查找效率
// 数组去重合并汇总
for (var i = 0; i < value.length; i++) {
var curr = value[i];
// textField_lptdo3ge为物品名称组件唯一标识
var key = curr.textField_lptdo3ge;
// 如果在映射中找到了对应的key,进行累加
if (itemMap.hasOwnProperty(key)) {
// 确保转换为数值类型再相加,textField_lptdo3ge为申请数量组件唯一标识
itemMap[key].numberField_lpterb46 = parseFloat(itemMap[key].numberField_lpterb46) + parseFloat(curr.numberField_lpterb46);
} else {
// 如果没有找到,复制对象并添加到映射和结果数组中
var copiedCurr = {};
for (var prop in curr) {
if (curr.hasOwnProperty(prop)) {
copiedCurr[prop] = prop === 'numberField_lpterb46' ? parseFloat(curr[prop]) : curr[prop];
}
}
result.push(copiedCurr);
itemMap[key] = copiedCurr;
}
}
// 处理数据格式 注意修改子表单内组件唯一标识
var newResult = result.map(function (item) {
return {
selectField_lptdo3gd: item.selectField_lptdo3gd,
textField_lptdo3ge: item.textField_lptdo3ge,
numberField_lptes9o2: item.numberField_lpterb46,
textField_lptes9o3 : item.selectField_lptdo3gd + "-" +item.textField_lptdo3ge,
};
});
// 输出处理后的结果
outputs.add("处理后数据","newResult",JSON.stringify(newResult));


// 处理数据格式  注意修改子表单内组件唯一标识
// key为目标流程表子表单组件唯一标识,value为当前表子表单组件唯一标识
var newResult = value.map(function (item) {
return {
selectField_lptdo3g1: item.selectField_lptdo3gd,
textField_lptdo3g2: item.textField_lptdo3ge,
numberField_lptes9o3: item.numberField_lpterb46,
textField_lptes9o4 : item.selectField_lptdo3gd + "-" +item.textField_lptdo3ge,
};
});
outputs.add("处理后数据","newResult",JSON.stringify(newResult));


// 处理数据格式  注意修改子表单内组件唯一标识
var filteredItems = value.filter(function (item) {
// 只返回物品名称为笔记本的数据
return item.textField_lptdo3ge === '笔记本';
});
outputs.add("处理后数据","filteredItems",JSON.stringify(filteredItems));

(4)实现效果

3. 在线试玩

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4