在很早之前的随笔里面,已经介绍了WInform框架中工作流模块的功能,不过由于工作流模块中界面处理部分比较麻烦,一直没有在Bootstrap框架中进行集成,最近由于项目的关系,花了不少精力,把工作流模块重新梳理迁移到Bootstrap框架上,本篇随笔主要介绍基于Metronic的Bootstrap开发框架的工作模块功能。

1、工作流的设计模型

在我们开始介绍工作流模块功能之前,我们需要了解下工作流模块的设计模型,以便我们更好深入了解各个部分的功能。

我们知道,我们在Office里面创建任何文档,都有一个模板的概念,这样我们方便利用一些现成的数据和布局,工作流也一样,有一个流程模板的概念。每个流程模板,本身会预定义了一系列的处理流程,以便在流程实例里面进行不同的处理,因此流程模板还包含了多个流程步骤对象。每个流程实例,除了他们自己的流程数据和字段信息外,它本身还有一个表单设计的问题,如费用审批,可能包含填写的费用清单数据等,所以流程实例还应该包含了流程的业务表单对象。

在工作流处理表中,首先我们区分流程模板和流程实例两个部分,这个其实就是类似模板和具体文档的概念,我们一份模板可以创建很多个类似的文档,文档样式结构类似的。同理,流程模板实例为流程实例后,就是具体的一个流程表单信息了,其中流程模板和流程实例表单都包括了各个流程步骤。在流程实例的层次上,我们运行的时候,需要记录一些日志方便跟踪,如流程步骤的处理日志,流程实例表单的处理日志等这些信息。

一旦流程实例根据模板创建后,流程先根据模板初始化后,在处理过程还可以动态增加一些审批步骤,使得我们的处理更加弹性化。

当然,为了更好的处理流程的相关信息,还需要记录流程处理人,流程会签人、流程阅办人,以及常用审批意见等相关辅助表,以便对流程的各个处理信息进行合理处理和展示。

对于一个流程处理操作,我们知道一般有审批通过、拒绝、退回到某步骤、转发到内部阅读、阅读,以及包括起草者能撤销表单呢等操作,当然如果还有一些具体的业务,可能还会有一些流程的处理才操作,不过基本上也可以归结为上面几种,只是他们每步处理的数据内容不同而已。因此审批的操作步骤分类如下所示。

在流程审批中,一般还有一种流程处理就是会签的操作,会签处理是几个审批步骤中审批人同时处理是否通过的,一般同时通过即为通过。

会签是指创建一个或多个子流程供相关人员进行审批,等待全部人员完成处理后再次回到主流程上,然后决定是否继续流转到下一个流程步骤上去,一般的申请单的主流程如下所示。

这里设置的会签处理就是其中一个步骤,一旦会签处理步骤发起会签,就会构建多个可供审批的子流程了,如下所示。

在会签发起的步骤,指定参与具体流程会签审批的人员,然后流程则会流转到不同人员进行相关的处理【待办事项】。

我在工作流中定义会签完成后,由会签发起人审核(会签结果审核),决定是否进入下一步流程,在审核过程中决定如何处理这个申请单。

2、工作流模块介绍

1)流程环节管理

从上面的基础知识介绍中,我们知道,流程环节是构成流程模板和流程实例的基本单元,我们需要定义不同类型的流程处理环节,如审批、会签、阅办等等,不同类型的流程环节,在流程步骤的处理环节中是不一样的,我们也为这些不同的环节定义不同的审批界面。

首先我们在Bootstrap框架的系统菜单中选择【工作流管理】【工作流维护】【流程环节管理】菜单,就可以进入对应的流程环节管理界面。

在流程环节管理界面中,会列出系统所有定义好的流程环节,我们也可以定义自己的流程步骤。

在系统主界面里面,我们一般已经预定义了一些常规的如审批、会签、阅办、归档等类型,我们如果需要定义特殊的审批界面,我们就可以在这里定义一些不同的流程环节,也可以对已有的环节进行一定的修改处理。

2)流程模板管理

通过第一步的流程环节定义,我们接下来就基于流程环节,定义流程模板的内容了,流程模板是我们开展一些工作流的基础,也就是说,我们先有特定流程的模板,然后才有具体的流程示例。

流程模板我们定义的时候,需要指定它的具体名称,另外有几个字段是必须注意的,就是它的对应业务表名和创建流程URL、查看流程URL这几个信息。

指定这些内容,我们在指定的视图页面中处理不同的流程信息,创建在Create视图、查看在ViewDetail视图,其中还会包含一个index视图列出该类型的申请单,这几个列表都可以使用代码生成工具快速生成,具体代码的生成过程,我会在随后的文章中及进行详细介绍。

这样的自动化,可以迅速提高我们开发工作流业务的效率,并且和整个系统风格保持统一。这个就是我们整个开发框架系列的精髓所在,以工具提高效率,统一过程。

再次回到流程模板的处理来,我们刚才只是定义了流程模板的一些基础信息,对于这个流程模板,我们还需要确定它的流程步骤,这个才是工作流的灵魂所在,动态化的流程步骤,可以满足我们大多数变化流程的需要。

流程步骤的定义,如下界面所示,可以指定流程处理人,通过选定角色、部门或者具体人员都可以,如果没有选择具体的处理人,那么默认会以当前用户部门的人员供选择。

如但用户选择人员的时候,弹出层可以根据组织机构、角色进行用户的筛选和选择。

3)业务受理列表

业务受理列表,是根据我们数据库中定义的流程模板,动态列出申请单的创建入口,提供一个统一的入口方便我们处理。

一下是我们工作流模块中定义好的一些流程模板,可以供创建业务表单。

这些业务表单入口,单击后就可以创建对应类型的申请单了,我们以刚才介绍的请假申请为例,单击后进入请假申请单的Create视图界面,创建新的申请。

其他的业务申请单也是类似,我们只需要使用代码生成工具Database2Sharp对具体业务表单的工作流模块代码进行生成后,就可以配置使用,并且可以创建对应的业务表单的了。

对于一些具有明细表单的操作,也有案例可以供参考。

4)我的审批工作

我的审批工作是列出和我相关的审批表单,包括已办、待办、 发起的几种类型的分类,其中每个种类型又可以继续细化不同表单类型,方便我们快速选择查看,如下列表所示。

通过快速定位所需要的类型申请单,我们可以很好的完成一些待办工作,以及可以查看自己参与的流程申请单的处理情况等等。

双击其中的申请单,可以查看具体的申请详细信息,包括流程审批信息和业务表单信息等。

而如果是流程处理中的申请单,我们可以在相关的处理按钮中执行我们自己的审批操作。

5)所有申请单

所有申请单是提供一个给流程管理员的一个入口,方便对一些错误或者不需要的申请单进行删除等维护操作。

这里面列出的是系统所有的申请单,这个页面一般不暴露给普通用户,而是作为后台数据管理的一个页面,对不需要的数据进行删除操作的。

6)我的草稿

我的草稿是提供一个界面维护我自己的申请单草稿的,界面效果如下所示。

在我们创建申请单的时候,有时候录入数据后暂时想存起来而不提交的话,保存为草稿就可以,下次则可以直接从草稿中继续申请单的处理。

基于Metronic的Bootstrap开发框架--工作流模块功能介绍的更多相关文章

  1. 基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)

    本篇继续<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>,继续介绍基于Metronic的Bootstrap开发框架的工作模块功能,介绍工作流模块中相关业务表单的界 ...

  2. 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍

    在前面介绍了一系列的<基于Metronic的Bootstrap开发框架经验总结>的随笔文章,随笔主要是介绍各个知识点的内容,对框架的总体性界面没有很好的阐述,本篇随笔主要介绍这个Boots ...

  3. 基于Metronic的Bootstrap开发框架经验总结(13)--页面链接收藏夹功能的实现2(利用Sortable进行拖动排序)

    在上篇随笔<基于Metronic的Bootstrap开发框架经验总结(12)--页面链接收藏夹功能的实现>上,我介绍了链接收藏夹功能的实现,以及对收藏记录的排序处理.该篇随笔主要使用功能按 ...

  4. 基于Metronic的Bootstrap开发框架经验总结(12)--页面链接收藏夹功能的实现

    在一个系统里面,往往有很多菜单项目,每个菜单项对应一个页面,一般用户只需要用到一些常用的功能,如果每次都需要去各个层次的菜单里面去找对应的功能,那确实有点繁琐.特别是在菜单繁多,而客户又对系统整体不熟 ...

  5. 基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

    最近一直很多事情,博客停下来好久没写了,整理下思路,把最近研究的基于Metronic的Bootstrap开发框架进行经验的总结出来和大家分享下,同时也记录自己对Bootstrap开发的学习研究的点点滴 ...

  6. (转)基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

    http://www.cnblogs.com/wuhuacong/p/4757984.html 最近一直很多事情,博客停下来好久没写了,整理下思路,把最近研究的基于Metronic的Bootstrap ...

  7. 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用

    Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...

  8. 基于Metronic的Bootstrap开发框架经验总结(11)--页面菜单的几种呈现方式

    在常规的后台管理系统或者前端界面中,一般都有一个导航菜单提供给用户,方便选择所需的内容.基于Metronic的Bootstrap开发框架,是整合了Metroinc样式,以及Boostrap组件模块的内 ...

  9. 基于Metronic的Bootstrap开发框架经验总结(10)--优化Bootstrap图标管理

    在基于Bootstrap开发的项目中,鲜艳颜色的按钮,以及丰富的图表是很吸引人的特点,为了将这个特点发挥到极致,可以利用Bootstrap图标抽取到数据库里面,并在界面中进行管理和使用,这样我们可以把 ...

随机推荐

  1. SQL优化总结之二

    1.列优先 如图有表A和表B,对其查询时,会有如下语句: select a.*,b.* from a,b where a.id = b.a_id; 注意from 后边的表名, a.如果多表查询是完全无 ...

  2. 开源项目福利-github开源项目免费使用Azure PipeLine

    微软收购Github后,很多人猜想微软可能会砍掉VSTS,然而事实VSTS并没有砍掉,关于Azure Devops的详细信息可以查看 这篇博客,如果想查看原文也可以从链接里提供的原始地址里查看. 今天 ...

  3. 第43章 添加更多API端点 - Identity Server 4 中文文档(v1.0.0)

    您可以向托管IdentityServer4的应用程序添加更多API端点. 您通常希望通过它们所托管的IdentityServer实例来保护这些API.这不是问题.只需将令牌验证处理程序添加到主机(请参 ...

  4. 第13章 切换到混合流并添加API访问 - Identity Server 4 中文文档(v1.0.0)

    在之前的快速入门中,我们探讨了API访问和用户身份验证.现在我们想把这两个部分放在一起. OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单个协议和使用令牌服务进行单次交换来 ...

  5. 【转载】网站服务器运维记实:阿里云1核2G突发性能t5服务器突然变得卡顿

    阿里云突发性能服务器1核2G的t5服务器在高资源利用率的情况下运行一段时间后,发现服务器反应变得很慢,通过windows远程桌面连接上服务器后查看到CPU性能一直在90%到100%之间,无法降下来.前 ...

  6. 开源IM项目-InChat登录接口设计与实现(基于Netty)

  7. O(n*logn)级别的算法之二(快速排序)的三种实现方法详解及其与归并排序的对比

    一,单路快排1.测试用例: #ifndef INC_06_QUICK_SORT_DEAL_WITH_NEARLY_ORDERED_ARRAY_SORTTESTHELPER_H #define INC_ ...

  8. react create-react-app 跨域

    "proxy":"http://youAddr.com" 直接到根目录package.json里增加上面这行就行了,改成自己需要的地址.

  9. AngularJS处理服务器端返回的JSON数据的格式问题

    用ng的$http服务发起ajax请求,php返回的JSON数据格式要正确! 一开始我的php页面是这样返回数据的: if($result){ $oid = mysqli_insert_id($con ...

  10. git克隆github上的代码(整个分支),并使用vs code上传到github

    好久没写博客辣,之前一直用sublime text3,最近开始用vc写,感觉很良好.然后公司也在用git,就写一个克隆上传的教程吧 1.下载git https://www.git-scm.com/do ...