[开源]一款仿钉钉工作流快速开发平台,实现流程设计和审批功能

开源系统流程管理
2026-06-28 05:48 1 次浏览 • 0 次下载 0KB
[开源]一款仿钉钉工作流快速开发平台,实现流程设计和审批功能

一、开源项目简介

seaflow 仿钉钉工作流快速开发平台

seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制, 大大缩短了学习成本。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

当前效果图

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

四、功能概述

seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制, 大大缩短了学习成本。

围绕 工作流功能, 实现 流程设计, oa审批, 系统管理 三大部分,从 0到1 ,  部分界面借鉴优秀项目的布局

能力时间有限,未做太多封装,介意划走!  后端代码往下看 ↓

功能介绍

  • 系统模块

    • 用户管理 [乄]

    • 角色管理 [√]

    • 菜单管理 [√]

    • 部门管理 [√]

    • 职位管理 [√]

  • oa办公

    • 发起申请 [√]

    • 我发起的 [√]

    • 待办任务 [√]

    • 已办任务 [√]

    • 抄送任务 [-]

  • 流程管理

    • 流程分类 [√]

    • 流程设计 [乄]

    • 自定义表单 [√]

    • 表单设计器 [-]

    • 流程配置 [乄]

    • 流程发布 [√]

    • 版本管理 [-]

  • 更多功能有序新增中...

工作流解析

工作流使用 warm-flow 框架,需要深入了解的同学,请先移步官网熟悉基本结构,下面为代码解析部分,如有错误请随时指正

 

1. 流程逻辑

流程设计 -> 流程json -> 转换为流程定义 -> 发布

2. 发起流程申请逻辑

  1. 提交申请流程

  2. 找到开始节点 和 下一个审批节点(非网关)

  3. 执行开始监听器

  4. 创建流程实例对象

  5. 执行权限监听器(官方不推荐使用了)

  6. 创建历史任务对象

  7. 创建下一个审批节点的task对象

  8. 替换task中的办理人变量(表单数据变量替换)

  9. 执行分派监听器(动态设置审批人的地方)

  10. 保存(流程实例, 任务(根据参数permissionlist创建任务办理人),历史任务)

  11. 执行结束监听器和下一个节点的创建监听器

审批逻辑

后续分析了再添加

五、技术选型

seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制, 大大缩短了学习成本。

sealflow 现代化工作流搭建框架

  • 基于 Warm-Flow国产工作流引擎 , 仿钉钉工作流, 纯个人爱好,开源分享, 请勿二开同类产品。

  • 本项目很多地方只做了简单处理, 主要时间用于工作流程的功能开发

开发环境

springboot 2.7.18 , java 17 , warm-flow , satoken , hutool , mybatis-plus , easy-trans