前言
本文是基于《工作流引擎设计与实现》系列文章的基础上做的工作流的管理系统,目前还在迭代开发中,后续会有开源计划,敬请期待!
群体划分
业务人员
业务人员即针对使用工作流去发起审批、处理审批的人群。
技术人员
技术人员即根据业务流程转化成工作流,主要是使用流程设计器设计流程。
业务人员视角
我们先从业务人员视角,看其是如何使用工作流的。
发起申请
发起申请即发起技术人员已经制作好的流程,一般会有一个统一的发起入口列表,发起人只需要点击对应的审批流程,即可打开发起流程对应的表单。如下,当我们点击发起申请时,会看到如下列表。其中假期管理和智能账务为流程的分类,请假流程和补卡流程为假期管理下的审批流程,报销流程为智能账务下的审批流程。

当我们点击对应的审批,会弹出对应的申请表单页,申请表单页主要由两部门构成,一部分是要填写的申请表单,另一部分为该申请流程对应的审批流程图。只要填写完申请表单,点击右下角的确定按钮,即可发起一个审批流程。
请假流程


补卡流程


我发起的
我发起的即用户在发起申请那边发起的流程,会在该列表中显示,如下发起申请,确认提交。

提交成功,就会跳转到我发起的列表

点击列表操作的"详情",即可查看流程详情,流程详情共有三部分构成:表单、流程图、审批记录
- 表单,即发起时填的表单,该表单禁止编辑

- 流程图,其中,红色为已完成节点或边,绿色为正在进行的节点。

- 审批记录,显示的是当前流程所有已完成的任务,有时间轴和表格两种呈现方式。


我的待办
用户待处理的任务列表,如上发起的流程处于部门经理审批节点,则在该部门经理审批节点的绑定的参与人就会参生一条待办。这里我们先不展开,等后续讲到技术人员模块时再详细讲解。

我们先登录该参与人账号,进入我的待办即看到如下列表

点击列表操作"办理",即可看到审批流程处理页,其主要包括表单、流程图、审批记录、操作区域四个部分。而操作又分为:同意、拒绝、退回上一步、退回发起人、跳转等五个操作。
- 同意,即完成该任务,并使流程往下一个流程节点前进
- 拒绝,也是完成任务,但会直接将流程结束
- 退回上一步,也是完成任务,但是流程会回退到该节点的上一个节点
- 退回发起人,也是完成任务,但是流程会回退到发起人
- 跳转,也是完成任务,但是会跳转到前面已完成节点的任意节点。

这里的操作就先不一一演示了,我们可以选择退回发起人
当退回发起人时,发起人在我的待办中会产生一条待办,因为其是发起人,所以申请表单恢复到可编辑状态。

此时的审批记录为

再次提交

此时审批记录为

我的已办
已处理过的任务列表,如下:

点击操作列表中的"详情",即可查看审批流程详情,其包括如下部分:表单、流程图、审批记录、操作区域,都是只读模式。
表单

流程图

审批记录

技术人员视角
流程设计
新增
- 显示名称,和流程定义的显示名称对应
- 唯一编码,和流程定义的唯一编码对应
- 流程分类,用于在发起申请列表那里分组
- 图标,用于在发起申请列表那里显示
- 备注
编辑
对新增时填写的基本信息进行编辑

设计
打开流程设计器,进行流程设计,右上角有保存按钮,点击保存,会提交到后端入库。

常规操作
- 右键编辑流程基本信息

- 点击节点编辑节点属性

关于流程节点属性和任务节点属性这里就不再多介绍,具体可看前面关于《工作流引擎设计与实现》的系列文章。
部署
将流程设计更新到流程定义表,该操作会产生一个新的流程定义版本

重新部署
将流程设计更新到流程定义表,该操作会覆盖原最新版本的流程定义
流程定义
主要就一个列表展示

当然,在这里也可以发起流程


小结
关于工作流的管理系统涉及到的大的功能点主要是这些,当然,这里只是补步演示,还有很多细节需要考虑。后续的细节会再根据需要出相应的文章或者录制相应的视频。如想了解更多,可加入组织。
