基于Metronic的Bootstrap开发框架--工作流模块功能介绍
在很早之前的随笔里面,已经介绍了WInform框架中工作流模块的功能,不过由于工作流模块中界面处理部分比较麻烦,一直没有在Bootstrap框架中进行集成,最近由于项目的关系,花了不少精力,把工作流模块重新梳理迁移到Bootstrap框架上,本篇随笔主要介绍基于Metronic的Bootstrap开发框架的工作模块功能。
1、工作流的设计模型
在我们开始介绍工作流模块功能之前,我们需要了解下工作流模块的设计模型,以便我们更好深入了解各个部分的功能。
我们知道,我们在Office里面创建任何文档,都有一个模板的概念,这样我们方便利用一些现成的数据和布局,工作流也一样,有一个流程模板的概念。每个流程模板,本身会预定义了一系列的处理流程,以便在流程实例里面进行不同的处理,因此流程模板还包含了多个流程步骤对象。每个流程实例,除了他们自己的流程数据和字段信息外,它本身还有一个表单设计的问题,如费用审批,可能包含填写的费用清单数据等,所以流程实例还应该包含了流程的业务表单对象。
在工作流处理表中,首先我们区分流程模板和流程实例两个部分,这个其实就是类似模板和具体文档的概念,我们一份模板可以创建很多个类似的文档,文档样式结构类似的。同理,流程模板实例为流程实例后,就是具体的一个流程表单信息了,其中流程模板和流程实例表单都包括了各个流程步骤。在流程实例的层次上,我们运行的时候,需要记录一些日志方便跟踪,如流程步骤的处理日志,流程实例表单的处理日志等这些信息。
一旦流程实例根据模板创建后,流程先根据模板初始化后,在处理过程还可以动态增加一些审批步骤,使得我们的处理更加弹性化。
当然,为了更好的处理流程的相关信息,还需要记录流程处理人,流程会签人、流程阅办人,以及常用审批意见等相关辅助表,以便对流程的各个处理信息进行合理处理和展示。
对于一个流程处理操作,我们知道一般有审批通过、拒绝、退回到某步骤、转发到内部阅读、阅读,以及包括起草者能撤销表单呢等操作,当然如果还有一些具体的业务,可能还会有一些流程的处理才操作,不过基本上也可以归结为上面几种,只是他们每步处理的数据内容不同而已。因此审批的操作步骤分类如下所示。
在流程审批中,一般还有一种流程处理就是会签的操作,会签处理是几个审批步骤中审批人同时处理是否通过的,一般同时通过即为通过。
会签是指创建一个或多个子流程供相关人员进行审批,等待全部人员完成处理后再次回到主流程上,然后决定是否继续流转到下一个流程步骤上去,一般的申请单的主流程如下所示。
这里设置的会签处理就是其中一个步骤,一旦会签处理步骤发起会签,就会构建多个可供审批的子流程了,如下所示。
在会签发起的步骤,指定参与具体流程会签审批的人员,然后流程则会流转到不同人员进行相关的处理【待办事项】。
我在工作流中定义会签完成后,由会签发起人审核(会签结果审核),决定是否进入下一步流程,在审核过程中决定如何处理这个申请单。
2、工作流模块介绍
1)流程环节管理
从上面的基础知识介绍中,我们知道,流程环节是构成流程模板和流程实例的基本单元,我们需要定义不同类型的流程处理环节,如审批、会签、阅办等等,不同类型的流程环节,在流程步骤的处理环节中是不一样的,我们也为这些不同的环节定义不同的审批界面。
首先我们在Bootstrap框架的系统菜单中选择【工作流管理】【工作流维护】【流程环节管理】菜单,就可以进入对应的流程环节管理界面。
在流程环节管理界面中,会列出系统所有定义好的流程环节,我们也可以定义自己的流程步骤。
在系统主界面里面,我们一般已经预定义了一些常规的如审批、会签、阅办、归档等类型,我们如果需要定义特殊的审批界面,我们就可以在这里定义一些不同的流程环节,也可以对已有的环节进行一定的修改处理。
2)流程模板管理
通过第一步的流程环节定义,我们接下来就基于流程环节,定义流程模板的内容了,流程模板是我们开展一些工作流的基础,也就是说,我们先有特定流程的模板,然后才有具体的流程示例。
流程模板我们定义的时候,需要指定它的具体名称,另外有几个字段是必须注意的,就是它的对应业务表名和创建流程URL、查看流程URL这几个信息。
指定这些内容,我们在指定的视图页面中处理不同的流程信息,创建在Create视图、查看在ViewDetail视图,其中还会包含一个index视图列出该类型的申请单,这几个列表都可以使用代码生成工具快速生成,具体代码的生成过程,我会在随后的文章中及进行详细介绍。
这样的自动化,可以迅速提高我们开发工作流业务的效率,并且和整个系统风格保持统一。这个就是我们整个开发框架系列的精髓所在,以工具提高效率,统一过程。
再次回到流程模板的处理来,我们刚才只是定义了流程模板的一些基础信息,对于这个流程模板,我们还需要确定它的流程步骤,这个才是工作流的灵魂所在,动态化的流程步骤,可以满足我们大多数变化流程的需要。
流程步骤的定义,如下界面所示,可以指定流程处理人,通过选定角色、部门或者具体人员都可以,如果没有选择具体的处理人,那么默认会以当前用户部门的人员供选择。
如但用户选择人员的时候,弹出层可以根据组织机构、角色进行用户的筛选和选择。
3)业务受理列表
业务受理列表,是根据我们数据库中定义的流程模板,动态列出申请单的创建入口,提供一个统一的入口方便我们处理。
一下是我们工作流模块中定义好的一些流程模板,可以供创建业务表单。
这些业务表单入口,单击后就可以创建对应类型的申请单了,我们以刚才介绍的请假申请为例,单击后进入请假申请单的Create视图界面,创建新的申请。
其他的业务申请单也是类似,我们只需要使用代码生成工具Database2Sharp对具体业务表单的工作流模块代码进行生成后,就可以配置使用,并且可以创建对应的业务表单的了。
对于一些具有明细表单的操作,也有案例可以供参考。
4)我的审批工作
我的审批工作是列出和我相关的审批表单,包括已办、待办、 发起的几种类型的分类,其中每个种类型又可以继续细化不同表单类型,方便我们快速选择查看,如下列表所示。
通过快速定位所需要的类型申请单,我们可以很好的完成一些待办工作,以及可以查看自己参与的流程申请单的处理情况等等。
双击其中的申请单,可以查看具体的申请详细信息,包括流程审批信息和业务表单信息等。
而如果是流程处理中的申请单,我们可以在相关的处理按钮中执行我们自己的审批操作。
5)所有申请单
所有申请单是提供一个给流程管理员的一个入口,方便对一些错误或者不需要的申请单进行删除等维护操作。
这里面列出的是系统所有的申请单,这个页面一般不暴露给普通用户,而是作为后台数据管理的一个页面,对不需要的数据进行删除操作的。
6)我的草稿
我的草稿是提供一个界面维护我自己的申请单草稿的,界面效果如下所示。
在我们创建申请单的时候,有时候录入数据后暂时想存起来而不提交的话,保存为草稿就可以,下次则可以直接从草稿中继续申请单的处理。
基于Metronic的Bootstrap开发框架--工作流模块功能介绍的更多相关文章
- 基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)
本篇继续<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>,继续介绍基于Metronic的Bootstrap开发框架的工作模块功能,介绍工作流模块中相关业务表单的界 ...
- 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍
在前面介绍了一系列的<基于Metronic的Bootstrap开发框架经验总结>的随笔文章,随笔主要是介绍各个知识点的内容,对框架的总体性界面没有很好的阐述,本篇随笔主要介绍这个Boots ...
- 基于Metronic的Bootstrap开发框架经验总结(13)--页面链接收藏夹功能的实现2(利用Sortable进行拖动排序)
在上篇随笔<基于Metronic的Bootstrap开发框架经验总结(12)--页面链接收藏夹功能的实现>上,我介绍了链接收藏夹功能的实现,以及对收藏记录的排序处理.该篇随笔主要使用功能按 ...
- 基于Metronic的Bootstrap开发框架经验总结(12)--页面链接收藏夹功能的实现
在一个系统里面,往往有很多菜单项目,每个菜单项对应一个页面,一般用户只需要用到一些常用的功能,如果每次都需要去各个层次的菜单里面去找对应的功能,那确实有点繁琐.特别是在菜单繁多,而客户又对系统整体不熟 ...
- 基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理
最近一直很多事情,博客停下来好久没写了,整理下思路,把最近研究的基于Metronic的Bootstrap开发框架进行经验的总结出来和大家分享下,同时也记录自己对Bootstrap开发的学习研究的点点滴 ...
- (转)基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理
http://www.cnblogs.com/wuhuacong/p/4757984.html 最近一直很多事情,博客停下来好久没写了,整理下思路,把最近研究的基于Metronic的Bootstrap ...
- 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用
Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...
- 基于Metronic的Bootstrap开发框架经验总结(11)--页面菜单的几种呈现方式
在常规的后台管理系统或者前端界面中,一般都有一个导航菜单提供给用户,方便选择所需的内容.基于Metronic的Bootstrap开发框架,是整合了Metroinc样式,以及Boostrap组件模块的内 ...
- 基于Metronic的Bootstrap开发框架经验总结(10)--优化Bootstrap图标管理
在基于Bootstrap开发的项目中,鲜艳颜色的按钮,以及丰富的图表是很吸引人的特点,为了将这个特点发挥到极致,可以利用Bootstrap图标抽取到数据库里面,并在界面中进行管理和使用,这样我们可以把 ...
随机推荐
- Docker系列09—Docker的系统资源限制及验证
本文收录在容器技术学习系列文章总目录 1.限制容器的资源 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源.Docker提供了控制容器可以使用多少内存或CPU的方法,设置 ...
- 第4章 打包和构建 - Identity Server 4 中文文档(v1.0.0)
IdentityServer由许多nuget包组成. 4.1 IdentityServer4 nuget | github上 包含核心IdentityServer对象模型,服务和中间件.仅包含对内存配 ...
- [转]快速新建简单的koa2后端服务
本文转自:https://blog.csdn.net/saucxs/article/details/83788259 既然前端工程化是基于NodeJS,那么选择NodeJs做前后端分离部署也是理所应当 ...
- 第一册:lesson 105.
原文: Full of mistakes. Where's Sandra,Bob? I want her. Do you want to speak to her? Yes I do. I want ...
- "每日一道面试题".net托管堆是否会存在内存泄漏的情况
首先说答案:会 所谓的内存泄漏,就是指内存空间上产生了不再被实际使用却又无非被分配的对象.严格意义上来说,在.net中经常会遇到内存泄漏的情况,因为托管堆内的对象不再被使用时,需要等待下一次GC才会被 ...
- js autocomplete输入延迟触发执行事件
需求:延迟查询,autocomplete延迟触发执行事件.当有下一个事件开始时,本次事件中断.目的是为了防止调用服务器过于频繁. var timeout = 0;//延时处理 $("#cus ...
- CSS Grid 布局完全指南(图解 Grid 详细教程)
CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...
- Gunicorn与uWSGI
Gunicorn与uWSGI perfork perfork是一种服务端编程模型, Nginx, Gunicorn, uWSGI都是这种模型的实现, 简单的说perfok就是master进程启动注册一 ...
- Android 解析标准的点击第三方文件管理器中的视频的intent
解析标准的第三方视频intent private List<String> mCurPlayList = new ArrayList<String>(); private in ...
- 防xss攻击
官方:https://jsxss.com/zh/index.html xss csrf https://www.cnblogs.com/443855539-wind/p/6055816.html 一. ...