文档库 最新最全的文档下载
当前位置:文档库 › 用友NC V63 UAP系列技术红皮书——轻量级框架技术部分

用友NC V63 UAP系列技术红皮书——轻量级框架技术部分

用友NC V63 UAP系列技术红皮书——轻量级框架技术部分
用友NC V63 UAP系列技术红皮书——轻量级框架技术部分

用友NCV63UAP系列技术红皮书——轻量级框架技术部分

UAP中心编著

四川挚友软件有限公司

技术服务部

https://www.wendangku.net/doc/db805322.html,

目录

第一章LFW框架 (2)

1.1LFW框架概述 (3)

1.2LFW整体结构 (3)

第二章LFW应用 (4)

2.1LFW应用的组成部分简介 (5)

第三章代码创建LFW页面应用 (6)

3.1代码创建Window (7)

3.1.1默认实现 (7)

3.1.2自定义实现 (7)

3.2代码创建View (8)

3.3代码创建UIMeta (9)

第四章新版参照开发说明 (10)

3.1 4.1参照页面生成类(RefModel)说明 (11)

3.1.11、参照页面生成类继承关系 (11)

3.1.22、参照页面生成类说明 (11)

2.2参照页面显示字段实体类(RefGroupVO)说明 (12)

3.1.31、参照页面显示字段实体类继承关系 (12)

3.1.42、参照页面显示字段实体类说明 (12)

2.3参照页面控制类(Controller)说明 (12)

3.1.51、参照页面控制类继承关系 (12)

3.1.62、参照页面控制类说明 (13)

2.4参照SqlVO实体类(SqlVO)说明 (13)

2.5查询条件WherePartVO实体类(WherePartVO)说明 (13)

2.6参照标签属性(LfwRefNode) (13)

2.7参照开发示例 (15)

3.1.7树参照开发示例 (15)

3.1.8表参照开发示例 (18)

3.1.9树表参照开发示例 (21)

3.1.10注意 (25)

第一章LFW框架

本章内容概要:●LFW框架概述●LFW整体结构

1.1LFW框架概述

LFW平台构建于UAP基础技术平台之上,分享了UAP技术平台的各种优势,是UAP平台基于纯Web 技术的一个实现。平台采用合适的技术,合适的建模方法,通用的规范标准,开放的组件架构,在UAP核心技术平台之上构建了基于组件模式的新一代UI实现。平台实现了设备无关、技术无关的统一渲染引擎框架,基于组件模式的UI为业务产品的按需装配、按需加载、高效研发与可靠运行提供了强大的技术支撑。

1.2LFW整体结构

第二章LFW应用

本章内容概要:

●LFW应用的组成部分简介●使用插件开发应用过程

2.1LFW应用的组成部分简介

要开发LFW的应用首先要了解的是LFW界面是如何组成的。

一个完整的LFW应用通常包括以下部分:

Application

Window

View

Plugin/pluginout

UIMeta

Model

事件

第三章代码创建LFW页面应用

本章内容概要:

●代码创建Window ●代码创建View

●代码创建UIMeta

创建Java子类继承nc.uap.lfw.core.model.PageModel类。

3.1代码创建Window

3.1.1默认实现

在nc.uap.lfw.core.model.PageModel类中已实现createPageMeta()方法,调用createPageMeta()方法,返回Window(LfwWindow类型)对象。

3.1.2自定义实现

在创建的Java子类中重写createPageMeta()方法,调用createPageMeta()方法,返回Window(LfwWindow 类型)对象,参考代码如下:

//创建window对象

LfwWindow window=new LfwWindow();

//设置window对象的id

window.setId("windowid");

//设置window对象的app执行方式

window.setProcessorClazz(AppRequestProcessor.class.getName());

//创建view对象

LfwView view=new LfwView();

//设置view对象id

view.setId("main");

//设置view对象controller控制类

view.setControllerClazz("nc.uap.lfw.reference.app.AppReferenceController");

//将view加入到当前window对象中

window.addView(view);

3.2代码创建View

//创建view对象

LfwView view=new LfwView();

//设置view的id

view.setId("main");

//设置view的controller控制类

view.setControllerClazz("nc.uap.lfw.reference.app.AppReferenceController");

//增加控件到view

TextComp locateComp=new TextComp();

locateComp.setId("locatetext");

locateComp.setText("定位");

view.getViewComponents().addComponent(locateComp);

//增加事件,回车后过滤

EventConf enterEvent=KeyEvent.getOnEnterEvent();

//设置事件id

enterEvent.setId("locatetextKeyListener");

//标识当前事件是否在服务端运行

enterEvent.setOnserver(false);

//如果是客户端事件,增加事件执行脚本

enterEvent.setScript("doFilter(pageUI.getView('main').getComponent('locatetext').getValue())"); //增加事件到控件事件集合中

locateComp.addEventConf(enterEvent);

3.3代码创建UIMeta

//创建Window的UIMeta对象

UIMeta uiMeta=new UIMeta();

//创建View的UIView对象

UIView uiView=new UIView();

//设置UIView的id

uiView.setId("main");

//增加UIView到Window的UIMeta元素集合中uiMeta.setElement(uiView);

//创建View的UIMeta

UIMeta viewUIMeta=new UIMeta();

//设置UIMeta的id

viewUIMeta.setId("main");

//选择设置当前View是否是流式布局,默认为true viewUIMeta.setFlowmode(false);

//设置UIView的UIMeta为当前创建的View的UIMeta uiView.setUimeta(viewUIMeta);

//在View的UIMeta中增加布局和元素UIFlowvLayout flowvLayout=new UIFlowvLayout(); flowvLayout.setId("borderLayout");

viewUIMeta.setElement(flowvLayout);

UIFlowvPanel locateTextpanel=new UIFlowvPanel(); locateTextpanel.setId("locateTextpanel"); locateTextpanel.setHeight("30");

locateTextpanel.setLeftPadding("20"); locateTextpanel.setBottomBorder("#");

flowvLayout.addPanel(locateTextpanel);

UITextField locateField=new UITextField(); locateField.setId("locatetext");

locateField.setWidth("220");

locateField.setViewId("main");

locateTextpanel.setElement(locateField);

第四章新版参照开发说明

本章内容概要:

●创建流程

●流程创建步骤

●流程设计器的定义

●流程设计器的组成

●实现plugin事件

●触发plugout

●流程相关操作

●实现流程动作的cmd

●流程相关的接口和工具类

4.1参照页面生成类(RefModel)说明

1、参照页面生成类继承关系

nc.uap.lfw.core.model.PageMode

l

uap.lfw.ref.model.LfwAbstractBaseRefModel

uap.lfw.ref.model.LfwAbstractRefModel uap.lfw.ref.model.LfwTreeRefModel

uap.lfw.ref.model.LfwGridRefModel

uap.lfw.ref.model.LfwTreeGridRefModel

2、参照页面生成类说明

1)抽象基类

uap.lfw.ref.model.LfwAbstractBaseRefModel

2)抽象类,提供默认的参照页面显示格式和默认的参照页面控制事件。

uap.lfw.ref.model.LfwAbstractRefModel

3)树参照页面生成抽象类,提供默认的树参照页面显示格式和默认的树参照页面控制事件。

uap.lfw.ref.model.LfwTreeRefModel

4)表参照页面生成抽象类,提供默认的表参照页面显示格式和默认的表参照页面控制事件。

uap.lfw.ref.model.LfwGridRefModel

5)树表参照页面生成抽象类,提供默认的树表参照页面显示格式和默认的树表参照页面控制事件。

4.2参照页面显示字段实体类(RefGroupVO)说明

1、参照页面显示字段实体类继承关系

2、参照页面显示字段实体类说明

1)表参照页面显示字段实体抽象类

2)树参照页面显示字段实体抽象类

3)树表参照页面显示字段实体抽象类

uap.lfw.ref.vo.LfwRefGroupVO

uap.lfw.ref.vo.LfwTreeRefGroupVO

uap.lfw.ref.vo.LfwTreeGridRefGroupVO

uap.lfw.ref.vo.LfwRefGroupVO

uap.lfw.ref.vo.LfwTreeRefGroupVO

uap.lfw.ref.model.LfwTreeGridRefModel

uap.lfw.ref.vo.LfwTreeGridRefGroupVO

4.3参照页面控制类(Controller)说明

1、参照页面控制类继承关系

uap.lfw.ref.ctrl.LfwSqlReferenceController uap.lfw.ref.ctrl.LfwSqlTreeReferenceController

uap.lfw.ref.ctrl.LfwSqlGridReferenceController

uap.lfw.ref.ctrl.LfwSqlTreeGridReferenceController

2、参照页面控制类说明

1)控制抽象基类

uap.lfw.ref.ctrl.LfwSqlReferenceController

2)树参照控制抽象类

uap.lfw.ref.ctrl.LfwSqlTreeReferenceController

3)表参照控制抽象类

uap.lfw.ref.ctrl.LfwSqlGridReferenceController

4)树表参照控制抽象类

uap.lfw.ref.ctrl.LfwSqlTreeGridReferenceController

4.4参照SqlVO实体类(SqlVO)说明

uap.lfw.ref.sqlvo.LfwReferenceSqlVO

4.5查询条件WherePartVO实体类(WherePartVO)说明

uap.lfw.ref.sqlvo.LfwWherePartVO

4.6参照标签属性(LfwRefNode)

id——必填项——参照ID。

lfwRefCode——必填项——参照注册编码,值与数据库bd_refinfo表中的name字段对应。

dataListener——选填项——自定义参照控制类,需要继承默认参照控制类,值为controller全路径。

refnodeDelegator——选填项——参照命令类,值为命令类全路径;如果为空,则使用平台默认提供的命令类

(https://www.wendangku.net/doc/db805322.html,mand.LfwRefOkCommand)。

relationRefNodeId——选填项——关联参照ID,当关联参照值改变时,清空当前参照值。

text——选填项——参照显示窗口标题内容;如果多语资源无效,则使用。

i18nName——选填项——多语编码,值为参照显示窗口标题内容多语编码。

langDir——选填项——多语资源文件所在目录名称。

注意:i18nName和langDir同时有效,多语资源有效。

readDs——不需要输入,固定值:masterDs。

readFields——必填项——从readDs读入字段,与readDs字段对应,一般是PK字段+name/code字段,格式:字段之间以逗号相隔“,”。

writeDs——选填项——输出datasetID。

WriteFields——选填项——写入到writeDs字段,与writeDs字段对应,一般是PK字段+name/code字段,格式:字段之间以逗号相隔“,”。

allowInput——选填项——是否允许输入不存在的参照PK并保存,默认值:false(否)。

multiSel——选填项——是否多选,默认值:false(否)。

selLeafOnly——选填项——是否只选中叶子节点,默认值:false(否)

read——选填项——是否只读,默认值:false(否)

dialogWidth——选填项——参照显示窗口宽度,如果为空,则使用平台默认宽度。

dialogHeight——选填项——参照显示窗口高度,如果为空,则使用平台默认高度。

4.7参照开发示例

树参照开发示例

1、创建参照页面控制类(类名称自定义)

1)创建SqlCpOrgRefController类,继承uap.lfw.ref.ctrl.LfwSqlTreeReferenceController 2)实现类中定义的抽象方法getTreeSqlVO,创建ILfwRefSqlVO对象并返回:

相关文档