# seaflowAdmin
**Repository Path**: Zhlaa/seaflow-admin
## Basic Information
- **Project Name**: seaflowAdmin
- **Description**: seaflow 是一款 开源仿钉钉工作流 平台, 前端使用 vue3+element plus , 实现 流程设计和审批功能, 后端基于国产工作流warm-flow 实现流程控制
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 52
- **Created**: 2024-10-29
- **Last Updated**: 2024-10-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# sealflow 现代化工作流搭建框架
- 基于 [Warm-Flow国产工作流引擎](http://warm-flow.cn/) , 仿钉钉工作流, 纯个人爱好,开源分享, 请勿二开同类产品。
- 本项目很多地方只做了简单处理, 主要时间用于工作流程的功能开发
### 开发环境
> springboot 2.7.18 ,
> java 17 ,
> warm-flow ,
> satoken ,
> hutool ,
> mybatis-plus ,
> easy-trans
### 功能介绍
- 系统模块
- 用户管理 [乄]
- 角色管理 [√]
- 菜单管理 [√]
- 部门管理 [√]
- 职位管理 [√]
- oa办公
- 发起申请 [√]
- 我发起的 [√]
- 待办任务 [√]
- 已办任务 [√]
- 抄送任务 [-]
- 流程管理
- 流程分类 [√]
- 流程设计 [乄]
- 自定义表单 [√]
- 表单设计器 [-]
- 流程配置 [乄]
- 流程发布 [√]
- 版本管理 [-]
- 更多功能有序新增中...
### 工作流解析
> 工作流使用 warm-flow 框架,需要深入了解的同学,请先移步[官网](http://warm-flow.cn/)熟悉基本结构,下面为代码解析部分,如有错误请随时指正
#### 1. 流程逻辑
流程设计 -> 流程json -> 转换为流程定义 -> 发布
#### 2. 发起流程申请逻辑
1. 提交申请流程
2. 找到开始节点 和 下一个审批节点(非网关)
3. 执行开始监听器
4. 创建流程实例对象
5. 执行权限监听器(官方不推荐使用了)
6. 创建历史任务对象
7. 创建下一个审批节点的task对象
8. 替换task中的办理人变量(表单数据变量替换)
9. 执行分派监听器(动态设置审批人的地方)
10. 保存(流程实例, 任务(根据参数permissionlist创建任务办理人),历史任务)
11. 执行结束监听器和下一个节点的创建监听器
#### 审批逻辑
后续分析了再添加
### 前端代码
[https://gitee.com/qq75547276/seaflow](https://gitee.com/qq75547276/seaflow)
交流群
