基于Extjs的web表单设计器 第一节


  前面一节介绍了表单设计器的背景和最终的大概样式,本节主要介绍表单设计器的需求及功能设计。

在讲需求之前先明确几个常用的概念:

主表或者卡片表——具有多行多列的一个区域的控件块,如下图所示。

明细表——就是常用的表格类型的控件块,表头信息就确立了该列的数据类型,如下图所示。

卡片式的表:指的是一个表单模板只包括一个主表;

主子表:指的是一个表单模板包含一个主表、一个明细表;

多子表:指的是一个表单模板包含一个主表、多个明细表;

嵌套多子表:指的是一个表单模板嵌套了多个主子表或者多个多子表;

  表单设计器的总体要求:

  1. 能够支持复杂的单据样式(主表、主子表、多子表、嵌套多子表);
  2. 能够支持所见即所得的图形化表单设计方式。用户设计出来的表单模板是什么样式的,那么生成加载出来也就应该是什么样式的;
  3. 采用拖拽式的方式来拖动各种表单模板的控件,让用户体验更好、更方便;
  4. 表单常用控件的归纳及设计;
  5. 各种控件可以方便的调整显示的顺序,交换位置,交换区域等;
  6. 各种控件的所有属性能够比较方便的设置、修改。包括:控件名称、默认值、取值范围、数据源、控件之间的数据联动、控件的隐藏与否等等;
  7. 主表区域的控件列数支持动态调整;
  8. 明细表格的列头支持分组列头,以及列之间交换位置;
  9. 明细表格的常用数字、金额等数据列支持不同的汇总方式(如:求和、求平均、最大最小值、计数等);
  10. 开放表单模板的一些常用易变动的数据接口,方便某些特殊表单的特殊处理;
  11. 表单项、表单区域、表单模板的删除控制;
  12. 表单控件数据源、取数公式的归纳;

初步总结了以上12个设计需求,按照需求的总体要求做出来的表单设计器是可以满足我们的实际业务需求的。

下一节我介绍设计详细过程。