# 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)
            
            
  交流群
   
  