流程设计器用于设计工作流流程模板文件,该流程文件可以被运行以发起工作流。流程文件是以json格式组织的文件,默认存储在服务器端WebBuilder的资源目录wb/system/resource下。
流程设计器顶部是操作工具条,右侧是设置流程、节点和连接的属性编辑器,客户区是流程文件打开后的设计器。
我们可以在主页面中,点击[开发套件]->[流程设计器]来打开该模块。
在流程设计器中点击流程设计器的空白处将在属性编辑器中显示当前流程的流程属性,点击节点将在属性编辑器中显示该节点的属性,点击连接线将在属性编辑器中显示当前连线的属性。
流程属性
属性名称 | 说明 |
背景色 | 设置整个流程设计器使用的背景色。 |
流程名称 | 用于标识流程。 |
处理对话框 | 在[我的流程]模块中,点击[处理]按钮时弹出的对话框。 |
查看对话框 | 在[我的流程]模块中,点击[查看]按钮时弹出的对话框。 |
前置模块 | 在服务器端执行流程的动作之前运行的模块。 |
后置模块 | 在服务器端执行流程的动作之后运行的模块。 |
按钮宽度 | 默认生成的动作按钮的最小宽度。 |
备注 | 提示性说明文本。 |
节点属性
属性名称 | 说明 |
样式 | 预置的节点类型和样式。 |
字体色 | 节点的标签字体色。 |
字体大小 | 节点的标签字体大小。 |
背景色 | 节点的背景色。 |
图标 | 节点的图标。 |
名称 | 节点的标识。 |
处理人员 | 流程流转到该节点,指定由哪些用户处理。详见后述人员选择对话框说明。 |
抄送人员 | 流程流转到该节点,指定哪些用户可以查看。详见后述人员选择对话框说明。 |
通过人数 | 指定当该节点的处理人数达到该值后,流程即可以往下继续流转。人数可以为绝对值或百分比数,例如6或100%等,分别表示处理人员中有6人或100%通过时流程继续往下流转。 |
动作类型 | 设置单个或多个默认的动作类型,并把动作类型对应的按钮添加到对话框底部。详见后述动作类型说明。 |
处理对话框 | 在[我的流程]模块中,点击[处理]按钮时弹出的对话框。如果缺省设置默认将使用流程的[处理对话框]属性的设置。 |
查看对话框 | 在[我的流程]模块中,点击[查看]按钮时弹出的对话框。如果缺省设置默认将使用流程的[查看对话框]属性的设置。 |
按钮宽度 | 生成的动作按钮的最小宽度。如果缺省设置默认将使用流程的[按钮宽度]属性的设置。 |
标题 | 在[我的流程]模块中,当流程处理到该节点时显示的提示性文本,例如“{#flow.userDispName#}已经完成报销”。 |
备注 | 提示性说明文本。 |
连线属性
属性名称 | 说明 |
使用直线 | 指定该连线对两个节点之间是否采用直线连接,默认使用折线连接。 |
字体色 | 连线上的标签字体色。 |
字体大小 | 连线上的标签字体大小。 |
背景色 | 连线使用的颜色。 |
图标 | 节点的标签边上的图标。 |
标题 | 节点的标签。 |
条件 | 一段ServerScript脚本,如果该脚本return true,执行通过动作时将转到目标节点。 |
备注 | 提示性说明文本。 |
当设置处理人员或抄送人员属性时将打开该对话框,选择的人员为所有子项选择人员的并集。
选择人员的子项包括:
流程动作是指对流程执行预定义的某种操作。当设置动作类型属性时,将打开动作类型设置对话框。
预定义的动作类型包括:
动作类型的其他一些属性:
在WebBuilder中可以方便和快速地开发复杂的工作流应用,开发工作流应用可以通过以下步骤来进行:
详细的方法使用说明请参考API文档。
流程的运行从开始节点开始,从结束节点结束。流程发起后,首先调用开始节点指定的处理对话框,并在该对话框底部的按钮栏中自动生成根据动作类型属性指定的按钮。 点击指定的动作按钮时将执行对应的动作类型,如果点击通过动作按钮,流程将流转到下一个节点。
在[我的应用]->[我的工作流]模块中可以处理和查看我的流程,这些流程包括当前节点需要我处理的流程、抄送给我的流程或我处理过的历史流程。 流程的当前节点的处理人员由[处理人员]属性定义,流程的抄送人员在[抄送人员]属性中定义,其中抄送人员只能查看不能处理。 在[我的工作流]模块中点击[处理]按钮将打开由处理对话框属性指定的对话框,点击[查看]按钮将打开由查看对话框属性指定的对话框。
当流程流转到结束节点后,流程结束。
流程的参数包括以下几类:
以上的参数均会被自动保存到流程实例中,并在每次打开对话框模块或其他模块时自动传递这些参数值。
在执行非对话框模块时,系统将传递流程中所有参数JSONObject对象到request attribute的sys.params属性中,使用该对象可用于增加、修改或删除流程参数值。
如以下代码可以修改流程参数值:
1 var flowParams = app.get('sys.params'); //获取存放流程参数的JSONObject对象
2 var myParam = flowParams.get('myParam'); //获取某个流程参数值
3 flowParams.put('myParam', myParam + otherValue); //设置某个流程参数值
当我们需要把流程或对话框中的参数保存到业务数据库表时,可以在指定动作的[执行模块]属性中完成。
预定义的系统流程参数包括:
WebBuilder官网:http://www.geejing.com
WebBuilder社区:http://www.putdb.com