在开发工作流管理系统时,很多人只重视流程引擎、流程模型的建立,而忽视了自定义表单工具。 自定义表单工具是一个提供独立业务模块的可视编辑工具,业务模块可以通过该工具编辑来生成。 仅从流程实现来说,定制表单确实不重要。 流程实现后,如果能连接到表单就好了。 关于表单业务模块,可以是表单工具生成的,也可以是用代码编写的表单,总之用代码能够实现是最灵活的。
但是,实际上流程中每个步骤的业务数据都需要用表单来表示,需要在表单中实现业务数据的存储。 如果需要用代码实现,没有强大的定制表单工具,再好的工作流系统也只是一匹跛子,从长远来看,无法可视化完成业务流程。
凡是做过mis系统开发的人都知道,表单涉及表现层、操作界面的人机交互,后台涉及业务逻辑、业务数据的存储,是mis系统开发的重点和难点工作流引擎将该业务模块的实现分离出来,由用户自己实现,工作流引擎只是实现抽象的过程流。 定制流程、定制业务模块需要强大的定制表单模块,才能使流程定义可视化、可操作并提供给最终用户。
自定义表单涉及界面展示、人机交互,因此页面的组成部分必须丰富。 常用组件: label、textbox、combobox、spin、shape、checkboxlist、radiolist、dropdownlist、webgrid、upload等;
复杂组件:表、树控件、统计图标显示控件、多列下拉列表控件等。
表格的显示和输入要最丰富,功能要方便有力。 例如,与数据集绑定、快速方便的数据显示、kfdhb输入支持多种输入法。 下拉combox、多列下拉输入、弹出日期的选择、弹出窗口的选择、数据的倒带等。 kfdhb、行事件支持、双击、文件、离开等。 数据验证功能丰富。 例如,可以进行是否为空、是否为数字、取值范围的判断、是否为日期、是否为电话号码、省验证、汉字验证等多种验证。
自定义表单,具有可视觉设计表单的界面。 通过拖动、拉动、点和拉动方式直接设计表单。 用户可以直接使用页面构件(可能仍然需要编写简单的sql语句)来执行常见的数据检索和存储操作,而无需编写代码。
采用b/s方式设计,便于web发布,提供给最终端用户。
采用ajax方式,随时随地实现后台交互,实现本地刷新、粒状刷新、同步、异步调用等,界面交互性强,易于操作。
隔离数据层和样式,便于与其他系统集成
支持多个后台数据库
编辑层与最终生成的表单分离,便于发布和合并。
以下是与工作流管理系统配合使用的eform自定义表单的示例:
说明:
实现员工报销的过程
主要业务要求:
员工填写申报单,文件为主要子表设计,由部门经理和总经理签字,任何经理否认后,重新填写,再次提交后员工也可以停用申报单;
填写重新申报,在经理审核通过之前,财务通知将收到清算金额,员工收到后,流程示例结束。
业务流程图:
eform自定义表单模块设计:费用发票
启动流程:
流程运行轨迹图:流程刚完成初始化,一直运行到填写申报单的步骤
提交费用报销申请:点击"保存执行",提交如下,进入审核阶段。
经理审核:
两个阶段的审查全部通过后,财务发出了通知
工作人员领取报销费用。
流程实例将退出。