零代码业务流程自动化指南:用NocoBase构建企业级审批系统
2026-04-03 09:40:24作者:尤峻淳Whitney
企业日常运营中,合同审批、报销流程等业务往往需要多部门协作,传统人工处理不仅效率低下,还容易出现遗漏和错误。NocoBase作为极易扩展的无代码/低代码开发平台,其工作流引擎(Workflow Engine)能帮助业务人员快速搭建自动化流程,实现从申请到归档的全流程管理,大幅提升协作效率。
概念解析:工作流引擎的核心构成
⚙️ 核心组件与工作原理
工作流引擎如同餐厅的点餐系统:顾客(触发器)下单后,厨房(节点)按流程备餐,传菜员(变量)传递信息,最终完成服务(流程结束)。NocoBase工作流包含四大核心组件:
- 流程(Flow):完整的业务链路定义,如"合同审批流程"
- 触发器(Trigger):流程启动条件,支持表单提交、定时任务等多种触发方式
- 节点(Node):流程中的操作单元,如审批、条件判断、通知等
- 变量(Variable):流程中传递的数据载体,支持静态值、动态数据和计算公式
🔌 插件化架构与扩展能力
NocoBase采用插件化设计,工作流核心功能由以下插件提供:
- [packages/plugins/@nocobase/plugin-workflow]:工作流基础引擎
- [packages/plugins/@nocobase/plugin-workflow-manual]:人工审批节点支持
- [packages/plugins/@nocobase/plugin-workflow-notification]:消息通知功能
- [packages/plugins/@nocobase/plugin-workflow-parallel]:并行流程处理
实战应用:从零构建合同审批流程
📋 基础操作:搭建最小可行性流程
步骤1:创建数据模型
首先需要创建"合同"数据模型,记录审批所需的基本信息:
- 进入数据管理模块,点击新建集合
- 填写集合信息(显示名称:"合同",名称:"contracts")
- 添加核心字段:合同编号、金额、甲方、乙方、状态等
注意:状态字段建议设置为下拉类型,包含"待提交"、"审批中"、"已通过"、"已驳回"四个选项
步骤2:配置审批表单
为合同创建提交表单,供申请人填写信息:
- 在界面设计模块创建新表单
- 选择数据源为"合同"集合
- 添加字段并配置权限:金额字段设置为数字类型并开启必填验证
步骤3:设计工作流
创建"合同审批"工作流,实现从提交到归档的自动化流程:
- 进入工作流管理,点击新建流程
- 设置触发器为"表单提交",关联合同表单
- 添加审批节点:配置部门经理为审批人
- 添加条件分支:金额>10万元时需财务总监审批
- 添加更新节点:审批通过后更新合同状态
- 添加通知节点:通过邮件通知申请人结果
📈 场景化案例:多部门协作审批流程
业务需求
某公司合同审批规则:
- 普通合同(<10万):部门经理审批 → 归档
- 重要合同(≥10万):部门经理 → 财务总监 → 总经理 → 归档
- 紧急合同:所有审批节点设置48小时超时提醒
流程设计
graph TD
A[提交合同申请] --> B{金额≥10万?};
B -- 是 --> C[部门经理审批];
B -- 否 --> D[财务直接审核];
C --> E[财务总监审批];
E --> F[总经理审批];
D --> G[归档合同];
F --> G;
G --> H[通知申请人];
关键配置要点
-
动态审批人设置
- 使用部门关联字段自动匹配部门经理
- 财务总监和总经理通过角色权限指定
-
超时处理机制
- 在审批节点配置"超时提醒",发送催促通知
- 设置"超时处理策略"为"自动通过"或"升级审批"
-
数据关联与更新
- 通过变量传递合同ID:
{{trigger.data.id}} - 审批通过后更新合同状态:
{{$nodes.approval1.result}}
- 通过变量传递合同ID:
⚡ 性能调优:提升流程执行效率
流程设计优化
- 节点拆分原则:将复杂逻辑拆分为独立节点,如"数据验证"和"通知发送"分离
- 异步处理:文件上传、邮件发送等耗时操作使用异步节点
- 条件过滤:在流程开始处添加条件判断,过滤无效触发
系统配置优化
通过环境变量调整工作流性能参数:
# 工作流引擎并发数
WORKFLOW_CONCURRENT=50
# 节点执行超时时间(秒)
NODE_EXECUTION_TIMEOUT=300
# 流程实例清理周期(天)
INSTANCE_CLEANUP_DAYS=30
深度扩展:工作流引擎的高级应用
🔄 数据关联与多表操作
NocoBase工作流支持跨表数据操作,以合同审批为例:
- 多对多关系配置:合同与审批人建立多对多关联,记录完整审批链
- 关联数据更新:审批通过后自动更新客户表中的"合同状态"字段
- 数据聚合计算:统计某客户的年度合同总金额并更新到客户档案
🌐 集成第三方系统
通过工作流的"请求节点"实现与外部系统集成:
- ERP系统对接:审批通过后调用ERP API创建采购订单
- 电子签章集成:使用API节点调用第三方签章服务
- 数据同步:定时将审批结果同步到财务系统
🔍 行业对比分析
| 特性 | NocoBase工作流 | 传统开发 | 其他无代码平台 |
|---|---|---|---|
| 开发效率 | 可视化配置,1天上线 | 编码开发,2-4周 | 模板化配置,3-5天 |
| 灵活性 | 插件化扩展,支持自定义节点 | 完全自定义,成本高 | 固定节点类型,扩展受限 |
| 数据集成 | 内置多数据源支持 | 需要定制开发 | 有限的API集成 |
| 学习成本 | 业务人员1小时上手 | 专业开发技能 | 需学习特定平台逻辑 |
| 维护成本 | 可视化配置,易于维护 | 代码维护,成本高 | 依赖平台更新 |
总结与最佳实践
NocoBase工作流引擎通过零代码方式,让业务人员能够快速构建企业级自动化流程。从简单的审批流程到复杂的多系统集成,工作流引擎都能提供灵活且强大的支持。最佳实践建议:
- 流程设计:先梳理业务流程图,再进行配置
- 权限控制:通过[packages/core/acl]模块严格控制流程访问权限
- 测试验证:使用测试环境充分验证流程各节点逻辑
- 持续优化:通过[packages/plugins/@nocobase/plugin-logger]分析流程执行日志,持续优化
通过NocoBase工作流引擎,企业可以将业务流程自动化从技术部门解放出来,让业务人员直接参与流程设计与优化,真正实现"业务驱动"的数字化转型。
官方文档:[docs/docs/cn/workflow/index.md] 示例项目:[examples/app/workflow]
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0446
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0761
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
热门内容推荐
项目优选
收起
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
515
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
799
1.13 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
780
1.57 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
964
2.27 K
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
830
6.18 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.2 K
1.24 K
AtomGit CLI (ag cli),AtomGit 命令行工具,参考 GitHub CLI (gh) 开发。
目前 atomgit-cli 项目已在 AtomCode 的 Coding Plan 项目列表中
Go
39
24
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
641
275
暂无描述
Markdown
825
5.48 K


