开源啦!!!轻量级工作流引擎管理系统

发布于:2024-05-10 ⋅ 阅读:(27) ⋅ 点赞:(0)

本文已经独家授权【稀土掘金技术社区】官方公众号原创发布。

框架介绍

框架 版本 备注
SpringBoot 2.3.7.RELEASE web框架
Mybatis-Plus 3.5.2 ORM框架
sa-token 1.35.0.RC 权限认证
Hutool 5.8.4 工具包
knife4j 2.0.7 接口文档
spring-file-storage 0.7.0 文件上传
tlog 1.5.1 日志记录
easypoi 4.2.0 excel导入导出
minio 8.4.3 文件存储
xx-job 2.4.0 分布式任务调度

功能清单

  • 系统设置
    • 用户管理
      • 扮演用户
      • 重置密码
      • 授权角色
    • 角色管理
      • 授权菜单
      • 成员管理
    • 菜单管理
    • 前端路由
      • 同步路由清单
    • 部门管理
    • 岗位管理
    • 数据字典
    • 参数配置
    • 系统日志
    • 系统通知
  • 工作流程
    • 流程设计
      • 流程设计
      • 表单设计
      • 部署流程
      • 导出流程
      • 导入流程
    • 流程定义
    • 发起申请
    • 我发起的
    • 我的待办
      • 同意
      • 拒绝
      • 退回上一步
      • 退回发起人
      • 跳转
      • 转办
      • 委托
      • 抄送
      • 转发
      • 加签
      • 减签
    • 我的已办
    • 我的抄送

流程设计

新增

点击列表左上角“新增”按钮,可新增流程设计,这里只需要填写基本信息。

字段说明

  • 显示名称,流程显示的名称,相当于中文标题
  • 唯一编码,流程编码的唯一编码,通过该编码一流程定义的name相匹配
  • 流程分类,假期管理、人事管理、智能财务、法务管理、行政管理、业务管理、其他等,可通过数据字典的流程分类进行配置。
  • 图标,系统图标,可通过下拉选择获取
  • 备注

查看

点击行操作右边的“查看”按钮

一共用两个tab,可以查看流程图和流程数据

  • 流程图

  • 流程数据

编辑

点击行操作右边的“编辑”按钮,可对流程设计的基本信息进行编辑

设计

点击行操作右边的“设计”按钮,可打开流程设计器进行流程的设计

流程设计器

流程设计器主要由三部分组成:拖拽面板、画布、属性面板、控制面板。

拖拽面板

拖拽面板对应的就是左侧菜单,菜单的每一项对应的是流程节点模型,通过点击拖拽到画布的方式使用。

菜单项说明:

  • 开始节点,对应流程的开始节点模型StartModel
  • 用户任务,对应流程的任务节点模型TaskModel
  • 自定义任务,对应流程的自定义节点模型CustomModel
  • 条件判断,对应流程的决策节点模型DecisionModel
  • 分支,对应流程的分支节点模型ForkModel
  • 合并,对应流程的合并节点模型JoinModel
  • 结束节点,对应流程的结束节点模型EndModel
  • snaker子流程,对应流程的子流程模型SubProcessModel,该子流程是独立定义的方式
  • 子流程,对应流程的子流程模型SubProcessModel,该子流程定义是包含在父流程的定义中

画布

画布就是所见即所得,有放大缩小、拖拽、移动、连线、编辑节点、编辑边、右键菜单等操作。

  • 放大缩小,可通过ctrl+鼠标滚轮进行放大缩小
  • 拖拽,可点击画布节点拖拽
  • 移动,可通过鼠标滚轮或点击画布移动鼠标移动画布
  • 连线,两节点可通过拖拽方式连线
  • 编辑节点,可打开节点属性面板进行节点的属性编辑
  • 编辑边,可打开边属性面板进行边的属性编辑
  • 右键菜单,画布中右键,打开流程属性面板编辑流程属性,节点或边中右键,主要是删除节点和边。

属性面板

当鼠标点击节点、点击边或画布中右键时,会打开对应的属性面板进行属性编辑,因为不同节点,面板属性不一样,这里做个简单说明。

开始节点

任务节点

自定义任务节点

决策节点

分支节点

合并节点

结束节点

子流程节点

控制面板

控制面板对应的是右上角菜单

菜单项说明:

  • 缩小,可对画布进行缩小操作
  • 放大,可对画布进行放大操作
  • 适应,可对画布进行自适应操作
  • 上一步,可返回画布上一步
  • 下一步,返回画布后再回退
  • 清空,清空画布内容
  • 查看,查看流程数据,一共两个tab,分别查看json和xml数据,其中json为logicflow的数据结构,xml为snakerflow工作流引擎的流程定义文件的数据结构。
  • 导入,可导入json/xml流程数据,生成流程
  • 设置高亮,可导入高亮数据,设置流程图高亮
  • 保存,点击保存后,数据会同步到后端

表单设计

点击行操作右边的“…”更多“表单设计”按钮,可进行表单设计。

需要注意的是,只有元数据表单才能进行在线设计,如果是自定义开发的表单,则只是显示预览。

自定义开发表单

由开发人员使用传统开发方式开发的表单,会对应某个.vue文件。

元数据表单

通过配置元数据,生成json,然后解析json去渲染表单。

表单属性

用于配置表单的属性,如标题、布局方式等

新增

新增表单项

排序

可通过“上移”“下移”对字段进行排序

编辑

编辑表单项

删除

删除表单项

保存

右下解“确定”按钮,点击后会提交到后端进行保存

部署

点击行操作右边的“…”更多“部署”按钮,可部署流程,该操作会生成新的流程定义版本。

重新部署

点击行操作右边的“…”更多“重新部署”按钮,可部署流程,该操作会覆盖最新的流程定义版本。

删除

点击行操作右边的“…”更多“删除”按钮,可删除流程设计。

注:删除流程设计不会影响已部署的流程。

流程定义

流程定义用于存放工作流引擎的流程定义文件数据,本系统中,该流程定义数据是通过流程设计同步过来的,对应的是流程设计的“部署”和“重新部署”操作。

字段说明:

  • 显示名称
  • 唯一编码
  • 流程分类
  • 版本号,当为”部署“操作时,版本会自增1,当为”重新部署“时,版本号不变。
  • 状态,启用和禁用,禁用后不允许发起流程。

查看

点击行操作右边的“查看”按钮,这里的查看和流程设计一样,可以查看流程图和流程数据

  • 流程图

  • 流程图

发起

点击行操作右边的“…”更多“发起”按钮,会弹出发起表单,填写后提交即可发起流程。

注意:不同的流程,发起的表单会略有不同,可通过流程属性的”实例启动表单“字段去控制。

启用/禁用

点击行操作右边的“…”更多“启用”按钮,可启用流程定义。

点击行操作右边的“…”更多“禁用”按钮,可禁用流程定义。

删除

点击行操作右边的“…”更多“删除”按钮,可删除流程定义。

发起申请

发起申请列表是对流程定义列表的优化,这里会对流程定义进行分组,且只显示最新版本的流程定义。

点击图标或标题,会弹出发起表单,填写后提交即可发起流程

我发起的

发起流程后,点击“我发起的”菜单项,可看到对应的我发起的列表数据。

详情

点击行操作右边的“详情”按钮,可查看流程详情,流程详情由三部分构成:表单、流程图、审批记录,分别对应三个tab。

表单

表单区域是只读模式,对应发起审批时的表单

流程图

流程图会存在高亮数据,区分已完成、正在进行、未开始节点。

审批记录

审批记录有两种呈现方式,时间轴和表格。

  • 时间轴

  • 表格

撤回

撤回有两种方式,但都只能撤回正在进行中的流程

  • 点击行操作右边的“…”更多“撤回”按钮,可撤回流程。

  • 勾选左边复选框,也可进行“撤回”操作

我的待办

我的待办对应的是参与者的任务,当流程执行到对应的节点会产生对应的阻塞任务,该阻塞任务就形成“我的待办”。

办理

点击行操作右边的“办理”按钮,会弹出审批流程详情

审批流程详情主要分为两大区域:流程详情和操作区域,其中流程详情包含表单、流程图、审批记录三大板块。

表单

同“我发起的”->“详情”->“表单”

流程图

同“我发起的”->“详情”->“流程图”

审批记录

同“我发起的”->“详情”->“审批记录”

操作区域

在详情底部,增加了操作区域,该操作区域分为两部门,一部分是填写区,一部分是提供按钮。

普通任务操作区

会签任务操作区

填写表单字段说明:

  • 审批意见,必填项
  • 上传附件
  • 指定下一节点处理人(勾选时会出现选人操作),注:会签任务无该操作
  • 是否抄送(勾选时会出现选人操作)

普通任务提交按钮说明:

  • 同意,提交类型为同意,会驱动流程往下一个节点进行
  • 拒绝,提交类型为拒绝,会将流程跳转到结束节点,驱动流程结束
  • 退回上一步,提交类型为退回上一步,会跳转到上一个节点
  • 退回发起人,提交类型为退回发起人,会跳转到发起人节点
  • 跳转,提交类型为跳转,可跳转到已完成的历史节点(弹窗选择)

会签任务提交按钮说明:

  • 同意,提交类型为同意,表示会签操作为“同意”
  • 不同意,提交类型为不同意,表示会签操作为“不同意”
  • 加签,增加会签参与人,该操作不会驱动流程向前行进

委托

点击行操作右边的“委托”按钮,会弹出选择代理人操作,选择后点击“确定”即委托成功,此时代理人会看到相应的待办任务。

我的已办

我的已办对应的是参与者已经完成的任务列表。

详情

同“我发起的”->“详情”

我的抄送

在待办处理页中抄送过来的流程,只有查看权限

详情

同“我发起的”->“详情”

相关源码

账号密码:admin/123456


网站公告

今日签到

点亮在社区的每一天
去签到