企业日常运营中,审批流程是不可或缺的一部分。但很多现成的工作流系统要么太重,部署复杂;要么不支持国内常见的操作习惯,比如“退回给上一环节”或“临时加个审批人”。
今天介绍的是一款轻量、开源、真正贴合中国办公场景的工作流平台。它不需要你编写一行代码,通过拖拽就能搭建出一套完整的审批系统。其数据库结构极其简单,上手门槛很低,特别适合中小企业或需要快速落地内部工具的团队。
项目介绍
EsFlow 是一款国产开源的工作流平台。它既可以作为独立的在线办公系统使用,也可以作为流程引擎轻松嵌入到其他业务系统中。它完整地支持我们熟悉的各种“中国式”流程操作,包括退回、驳回、跳转、前加签、后加签等。
它的流程定义以 JSON 格式存储,整个系统的核心仅依赖于 8 张数据库表,结构非常清晰。通过图形化界面来设计流程,全程无需编码,即可开发出企业级的业务审批平台。
项目功能
- 用户登录与权限管理:基于 SaToken 实现安全认证和会话控制。
- 数据表定义功能:支持创建业务所需的主数据表。
- 表字段配置:可动态添加文本、数字、日期、下拉框等多种字段类型。
- 可视化表单设计:通过拖拽组件,快速生成美观的申请页面。
- 表单预览与编辑:实时查看表单效果,并随时调整布局。
- 流程定义管理:支持新建、编辑、停用流程模板。
- 图形化流程编辑器:通过拖拽节点,直观地构建审批路径。
- 工单申请入口:用户可基于已设计好的表单提交新的流程实例。
- 待办任务列表:集中展示当前所有需要处理的审批事项。
- 已办任务记录:方便查看历史处理过的所有工单。
- 审批过程跟踪:以时间轴形式清晰展示每一步的操作人与审批意见。
- 流程图实时渲染:直观显示当前流程所处的节点及后续走向。
- 催办功能:发起人可对长时间未处理的任务进行提醒。
项目特点
- 数据库结构极简:全系统仅需 8 张核心表,极大降低了部署和运维的负担。
- 流程定义采用 JSON 存储:格式清晰,便于进行版本管理和程序解析。
- 原生支持中国式审批:前加签、后加签、退回、驳回等操作开箱即用,完美避免“水土不服”。
- 零代码配置:业务人员经过简单学习即可自主完成表单与流程的搭建,减少对开发资源的依赖。
- 前后端完全分离:后端提供标准的 RESTful API,易于集成到现有系统中。
- 启动即用:内置 Flyway 在启动时自动初始化数据库,部署流程标准化。
- 界面简洁直观:操作逻辑紧密贴近真实的办公习惯,学习成本非常低。
项目技术
后端技术栈
采用 JDK17、Spring Boot 2.7+、Mybatis Plus、SaToken(权限验证框架)、AnyLine(表管理)。
前端技术栈
采用 Vite 6.0+ 、Vue3 .5+、Element Plus 2.9+、TypeScript 5.7+、Pure Admin。
项目使用
1、克隆代码仓库
2、创建 MySQL 数据库
执行以下 SQL 命令创建数据库(推荐使用 utf8mb4 字符集):
CREATE DATABASE esflow DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3、配置本地依赖路径
打开项目根目录下的 pom.xml 文件,找到 <lib.path> 配置项:
<lib.path>F:\stsworkspace-esflow\esflow</lib.path>
将其修改为本地 lib 文件夹的绝对路径(例如:/Users/yourname/project/esflow/lib 或 D:\projects\esflow\lib)。
4、编译项目
在项目根目录执行以下 Maven 命令:
mvn clean compile
mvn install
5、配置数据库连接
需在两处修改 MySQL 连接信息(地址、端口、用户名、密码):
- 修改
esflow-base-api/pom.xml 中的数据库配置;
- 修改
esflow-base-api/src/main/resources/application-dev.yml 中的 spring.datasource 相关字段。
6、启动项目
启动应用后,系统将自动通过 Flyway 执行初始化脚本:
classpath://db/migration/V1.0.0__init_freedb.sql
该脚本会将所需的表结构和初始数据写入前面创建的 esflow 数据库中。
项目体验
项目效果
通过官方体验地址,你可以快速感受 EsFlow 的完整流程:从定义一张“差旅报销”表单,到设计包含部门经理、财务、副总三级审批的流程,再到提交工单并实时查看流程图状态,整个过程非常流畅。尤其在处理“临时加签”或“退回修改”这类国内办公常见场景时,系统响应迅速,逻辑清晰,真正做到了贴合实际。
系统登录界面

系统首页(待办与已办任务)

流程管理列表

流程基础配置

图形化流程设计器

工单管理界面

工单申请入口

查看流程图

审批过程跟踪

任务办理日志

项目源码
总结
EsFlow 没有追求大而全的功能堆砌,而是聚焦于“能用、好用、快用”三个非常实在的目标。它用最简洁的架构实现了最实用的流程能力,尤其在支持本土化审批逻辑方面表现突出。对于希望快速开发审批系统、又不愿被重型 BPM 工具束缚的团队来说,这个开源项目提供了一个务实、高效的选择。
如果你对这类轻量级、零代码的企业应用开发平台感兴趣,欢迎到 云栈社区 交流讨论,这里汇集了许多关于前后端开发、系统架构和开源实战的优质内容和开发者。