工作流管理系统开发之四 自定义表单

时间:2022-05-19 04:28:25
       在开发工作流管理系统时,很多人只重视流程引擎,流程模型的建立,而忽略了自定义表单工具。自定义表单工具是实现独立业务模块的可视化编辑工具,业务模块可以通过这种工具编辑生成。如果单纯从流程实现来说,确实自定义表单不是重点,流程实现了,可以挂接上表单就可以了。至于表单业务模块,可以是表单工具生成的,也可以是代码编写的表单,总之能用代码来实现的是最灵活的。 
      但实际上流程的每一个步骤的业务数据都需要靠表单来展现,用表单来实现业务数据的存储,如果总是需要靠代码来实现的话,没有一个功能强劲的自定义表单工具来支撑的话,再好的工作流系统也不过是瘸腿的马,跑不长远,更别说可视化的完成业务流程了。   

       做过mis系统开发的人都知道,表单这块涉及到表现层,操作界面的人机交互,后台又涉及到业务逻辑,业务数据的存储,是开发mis系统的重点,难点。而工作流引擎都是将这层业务模块的实现剥离,让用户自己去实现,工作流引擎只实现一个抽象的流程流转。如果要做到流程的自定义,业务模块的自定义,一定需要有一个强大的自定义表单模块来支持,才能使得流程的定义变得可视化,可操作,可提供给最终端的用户使用。

自定义表单,因为涉及到界面的展示,人机操作交互,页面的构件一定要丰富。
常用的构件:
label,textbox,combobox,spin , shape , checkboxlist , radiolist , dropdownlist , webgrid , upload等等;

复杂的构件:表格,树控件,统计图标展现控件,多列下拉列表控件等等。

表格的展现和输入应该是最丰富的,功能应该做到很方便和强大,比如做到和数据集的绑定,快速方便的展现数据,单元格的输入支持多种输入方式,下拉combox,多列的下拉输入,弹出日期选择,弹出窗口选择,回选数据等等。单元格,行的事件的支持,双击,单据,离开等等。

多样齐全的数据验证功能:比如判断空,是否数字,取值范围判断,是否日期,是否电话号码,省份证验证,汉字验证,等等多样的验证。 

自定义表单,有可视化表单设计界面,直接采用拖、拉、点、拽的方式来设计表单。常见的数据获取保存等等,直接用页面构件,不需要用户写代码就能完成(有时候简单的sql语句还是需要写)。

采用b/s的方式来设计,易于做web发布,提供给最终端的用户使用。

采用ajax的方式来实现随时随地的和后台交互,做到局部刷新,粒状更新,同步、异步调用等,使得界面交互性强,易于操作。

数据层和样式分离,便于和其它系统集成;

支持多种后台数据库;

编辑层和最终生成的表单分离,易于发布和集成。

下面是eform自定义表单,结合工作流管理系统的一个示例:

说明:
实现员工报销的一个流程 

 

主要业务要求: 
员工填写报销单,单据为主子表的设计,部门经理和总经理会签,任何一位经理拒签后,都打回重新填写,打回后员工也可作废报销单;
重新填写再次申报,直到经理都审核通过,财务通知领取报销金额,员工领取后,流程实例结束。

 

业务流程图:

工作流管理系统开发之四 自定义表单

 

eform自定义表单模块设计:费用报销单

工作流管理系统开发之四 自定义表单

 


启动流程:

工作流管理系统开发之四 自定义表单

 

流程运行轨迹图:流程刚完成初始化,运行到填写报销单步骤

 工作流管理系统开发之四 自定义表单

 

 

提交费用报销申请:如下图,点击“保存执行”,即提交,流程会流转到审核阶段。

工作流管理系统开发之四 自定义表单

 

 

经理审核:

工作流管理系统开发之四 自定义表单

 

 

 

两步审核都通过后,财务发出通知

工作流管理系统开发之四 自定义表单

 

 

员工领取报销费用。