- 26
- 0
- 约1.66万字
- 约 17页
- 2017-06-02 发布于河南
- 举报
用友TurboCRM页面详解
第1章 页面布局
1.1. 概述
系统的页面均采用 PHP+EXTJS 方式实现,所有页面全部通过 TUIPage 类进行绘画输出。同时系统
对经常用到的显示方式使用 EXTJS 控件进行了布局封装。在业务开发过程中,只需要针对所使用的布局
数据按照一定的格式组织后,调用该布局封装就可以完成页面显示。布局封装 UML 图如下所示:
TUIPage:页面输出类,输出页面的Header,Body 以及一些其它公共函数,在生成Body 时会调用 TLayout
类的方法生成主页面内容。代码如下:
$page = new TUIPage();
echo $GetHeader(/js/tlist.js;/js/tquery.js);
echo $GetBody($layout);
echo $GetTail();
TLayout:布局基类,定义了一个布局所需要的元素及其相关方法:如 Title,Button、Toolbar、窗口左侧、
右侧、主窗口内容等。子类需要实现其 layout()方法完成布局,同时也可以重写本类方法修改
元素显示。
TObjectLayout:标准对象布局基类:定义了一个标准对象在 LIST 、EDIT 、VIEW 布局时所用到的公共方
法,主要是对象权限的相关方法(是否可读、可写、可导出、可导入等)。其子类包括:TListLayout、
TViewLayout、TEditLayout,这三种对象布局将在”标准页面布局” 中详细说明。
TConfigLayout:非对象的布局基类:重写了 TLayout 的 layout()方法对布局元素进行了组织,子类需要
实现其 layoutMainInfo()方法完成主页面布局,并提供了一些其它公共方法(如按扭、标题等) 。
其中的某些子类对象将在”其它布局” 中详细说明。
TWizardLayout: 向导页面布局基类:同 TConfigLayout,也重写了 TLayout 的 layout()方法对布局元素
进行了组织, 子类需要实现其 layoutMainInfo()方法完成主页面布局。同时也提供了对页面数据
的存取和相关按扭(上一页、下一页、完成、取消)的方法定义。
TLayoutInfo、TLayoutTable、TLayoutCell:页面的布局基础元素,系统的标准对象VIEW 、EDIT 页面
布局可以在 KEY 中进行配置,同时也可以手动组织这三个类完成 VIEW 和 EDIT 页面布局。
页面显示同 TEditLayout 和 TViewLayout 。代码示例如下:
$layoutTable = new TLayoutTable(4, array(tc_weekly_model_define));
$layoutTable-addCell(Weekly.Industry,1);
$layoutTable-addCell(Weekly.Industry,0,3);
$layoutTable-addCell(Weekly.ProjectName,1);
$layoutTable-addCell(Weekly.ProjectName,0,3);
$layoutInfo = new TLayoutInfo(OBJ_WEEKLY, 0);
$layoutInfo-addTable($layoutTable);
$layout-setLayoutInfo($layoutInfo);
1.2. 标准对象布局
标准对象布局包括:TListLayout、TEditLayou、TViewLayout 三种,其页面数据的显示分别在 tlist.js 、
tedit.js 、tview.js 进行了详细的定义,在使用这三种布局时,只需要对显示数据进行组织,其中:
TListLayout: 其数据依赖于对象的$model 的listAttr 和 getDatalist()方法。
TEditLayout: 其数据依赖于对象的”KEY-查看页面布局”和$model 的getDataObject ()方法。
TViewLayout:其数据依赖于对象的”KEY-编辑页面布局”和$model 的getDataObject ()方法。
1.2.1. TListLayout
原创力文档

文档评论(0)