但实际上流程的每一个步骤的业务数据都需要靠表单来展现,用表单来实现业务数据的存储,如果总是需要靠代码来实现的话,没有一个功能强劲的自定义表单工具来支撑的话,再好的工作流系统也不过是瘸腿的马,跑不长远,更别说可视化的完成业务流程了。
做过mis系统开发的人都知道,表单这块涉及到表现层,操作界面的人机交互,后台又涉及到业务逻辑,业务数据的存储,是开发mis系统的重点,难点。而工作流引擎都是将这层业务模块的实现剥离,让用户自己去实现,工作流引擎只实现一个抽象的流程流转。如果要做到流程的自定义,业务模块的自定义,一定需要有一个强大的自定义表单模块来支持,才能使得流程的定义变得可视化,可操作,可提供给最终端的用户使用。
自定义表单,因为涉及到界面的展示,人机操作交互,页面的构件一定要丰富。
常用的构件:label,textbox,combobox,spin , shape , checkboxlist , radiolist , dropdownlist , webgrid , upload等等;
复杂的构件:表格,树控件,统计图标展现控件,多列下拉列表控件等等。
表格的展现和输入应该是最丰富的,功能应该做到很方便和强大,比如做到和数据集的绑定,快速方便的展现数据,单元格的输入支持多种输入方式,下拉combox,多列的下拉输入,弹出日期选择,弹出窗口选择,回选数据等等。单元格,行的事件的支持,双击,单据,离开等等。
多样齐全的数据验证功能:比如判断空,是否数字,取值范围判断,是否日期,是否电话号码,省份证验证,汉字验证,等等多样的验证。
自定义表单,有可视化表单设计界面,直接采用拖、拉、点、拽的方式来设计表单。常见的数据获取保存等等,直接用页面构件,不需要用户写代码就能完成(有时候简单的sql语句还是需要写)。
采用b/s的方式来设计,易于做web发布,提供给最终端的用户使用。
采用ajax的方式来实现随时随地的和后台交互,做到局部刷新,粒状更新,同步、异步调用等,使得界面交互性强,易于操作。
数据层和样式分离,便于和其它系统集成;
支持多种后台数据库;
编辑层和最终生成的表单分离,易于发布和集成。
下面是eform自定义表单,结合工作流管理系统的一个示例:
说明:
实现员工报销的一个流程
主要业务要求:
员工填写报销单,单据为主子表的设计,部门经理和总经理会签,任何一位经理拒签后,都打回重新填写,打回后员工也可作废报销单;
重新填写再次申报,直到经理都审核通过,财务通知领取报销金额,员工领取后,流程实例结束。
业务流程图:
eform自定义表单模块设计:费用报销单
启动流程:
流程运行轨迹图:流程刚完成初始化,运行到填写报销单步骤
提交费用报销申请:如下图,点击“保存执行”,即提交,流程会流转到审核阶段。
经理审核:
两步审核都通过后,财务发出通知
员工领取报销费用。
流程实例结束。
相关链接:
web工作流管理系统开发之一 工作流概念
web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造
web工作流管理系统开发之六 表单权限与流程的权限控制
web工作流管理系统开发之七 最新的dtd格式校验修改
web工作流管理系统开发之八 开源osworkflow之任务管理