流程的使用在财务报销、请销假审批、文件传阅流转等方面极为常见,下面介绍如何用MisShop快速搭建一个基于流程的引用。(请使用MisShop_3.3.4及以后的版本)
1、总体规划
平台采用数据表存储流程数据,每一条申请存为一条记录,用不同字段分别记录申请的具体内容、申请进度、各级审批意见、批准信息等。而流程的分支、跳转、控制等信息用使用流程图设计,单独存储。
因此首先要对流程进行总体规划,规划的具体内容,包括申请的时候需要填写什么信息,每个阶段都要谁审批,审批同意了会怎么样、不同意会怎么样,不同的条件需要什么样的审批权限等。
2、设计数据表
使用平台打开项目之后,直接新建数据表,表中字段为流程各个阶段需要使用的信息。
例如开发一个请销假流程,可以设计请假人、请假事由、请假天数、起止日期等基本信息字段,设计小组审批意见、小组审批人、小组审批时间、部门审批意见、部门审批人、部门审批时间、总经理审批意见、总经理审批时间、小组销假情况、小组销假人、奖金变动等审批每个阶段信息的字段。
例如开发一个报销流程,可以设计报销人、报销时间、报销事项、金额、发票编号、发票截图等报销申请基本信息的字段,设计部门审批人、部门审批意见、部门审批时间等部门审批阶段需要填写信息的字段,设计财务审批人、财务审批意见、财务审批时间等财务审批阶段需要填写信息的字段,设计打款人、打款日期、打款金额、打款凭证截图等打款阶段需要填写信息的字段。如图所示
设计数据表时,数据类型分别采取适合的类型,如涉及到人员的都从用户表直接引用。字段默认值可以设置成一些方便填写的值,如日期默认为当天,用户默认为当前用户,打款金额默认为申请报销金额等,方便填写,不容易填错。
数据表中可以定义文本类型的特殊字段:mis_process_state。如果数据表有这个字段,流程运行时,会自动把流程的当前阶段,存储到这个字段中,供查询或其他使用。
3、设计流程图
在设计器工具栏点击“流程”按钮,进入到流程导航树。点击导航树的根树,工具栏的“添加流程”可用,点击“添加流程”,弹出对话框,填写好流程名称和对应的数据表,注意数据表即为上一步对应的存储流程信息的数据表。
“添加流程”对话框填好好点击“确定”,显示出流程的设置页面,点击“配置”按钮,进入到流程图的编辑页面,流程图编辑是在浏览器中进行。
上图为流程图的设计界面,图中为示例画出的报销的流程图。
画流程图时,从左侧的工具集中选取相应的工具,拖拽到页面中。其中以“开始”工具作为起始节点,以“结束”工具作为终止节点。遇到判断类的分支时,使用“排他网关”进行分支,并在网关后的线条上注明经过这个分支的条件。遇到并行类的分支时,使用“并行网关”进行分支,分支汇合处使用“合并”工具。所有工具方框使用“转换”箭头进行连接,标示流程的走向。
点击流程图的线条或方框,能够在右上角看到该元素的属性,可以分别设置每个方框的id。分支的箭头,需要在属性的“条件”栏设置通过条件,如it.金额<=1000 。流程图设计好以后点击左上角“保存”,然后我们就能在设计器看到,流程导航树栏生成了每个阶段对应的子树。
4、设计页面
切到流程导航栏,点击流程导航树,在流程设置页面的“使用模板”项点击“选择”按钮,选择对应的页面模板,一般审批流程使用是“审批”-“流程审批”模板。
流程的模板分为三类:我的单据,流程审批,流程处理。
- 我的单据:列出我提交的单据,可以发起新单据。
- 流程审批:列出该阶段的单据,可以进行审批,可以打回。打回是打回到流程配置里的打回阶段。
- 流程处理:列出该阶段的单据,可以进行处理。(不能打回)
所以在各个阶段配置的时候,
发起流程的阶段需要专门配置我的单据模板。
非审批的过程阶段,需要配置流程处理模板。
点击流程节点,再点击“生成页面”,就能生成相应的页面。
开发者可以根据需求,对页面元素、布局、功能等在模板基础上进行修改完善。
生成页面时也可以采取每个阶段单独生成的方式进行。例如在流程的导航树中,点击报销流程的第一个阶段“报销申请”,选择相应的模板“审批” - “我的单据”,在右侧点击本页面需要显示的字段,再点击下方的“浏览”按钮,就可以单独生成报销申请阶段的页面。
同样,第二个阶段“部门审批”,选择相应的模板“审批” - “流程审批”(注意不是“我的单据”),选择字段后点击“浏览”,可以生成相应页面。在最后一个阶段“财务打款”时,选择模板“审批” - “流程处理”(注意不是“流程审批”),这个阶段没有通过或驳回,并且是必须操作的阶段。
5、运行效果
流程应用运行以后,点击每个阶段的标签,就能分别看到各个阶段需要审批的内容。例如点击“报销申请”,能看到当前所有的申请列表和每个申请所处的流程状态。点击“添加”,能够添加新的申请。
点击“部门审批”,能看到当前正处于“部门审批”阶段的申请(即正等待部门审批)。点击申请右侧的“审批”按钮,弹出对话框,填入审批信息,再选择“通过”或“驳回”。如果“通过”,申请进入下一个阶段,在部门审批页变为不可见,在财务审批页可见。如果被“驳回”,则申请进入填报阶段,需要重新来一次。
所有审批阶段都通过后,流程结束,显示最终状态“审批通过”。