V3.0.0.0

一、升级清单:

2018-07-25_133444

二、升级相关文档

1、多业务类型支持,AEV页面合并

1) 功能描述及应用场景

多业务类型是指一个业务对象可以配置多个业务类型,并根据这个业务类型列表分别配置页面布局、业务对象下自定义方法的执行体中也可以根据业务类型区分需要执行的逻辑处理。简单的说就是支持单表单业务对象多页面列表[可以有多个管理页面、多个新增编辑查看页面、或者多个新增编辑查看共用页面]。

例如FMS的MF_ORDER表对应了无数个的业务对象【海运出口MfOrder】、【海运进口MfOrderOI】、【内贸管理MfOrderIT】、【空运出口AirOrder】、

【空运进口AirOrderOI】、【海运散货MfOrderBCE】5个业务对象。

h122901

使用这5个业务对象加上MF_ORDER表上的业务子类字段就组成了上图的20子类的新增入口。5个业务对象就需要5份后台代码(controller+domain+example+mapper java+mapper xml+service+service interface)7个文件,前端页面这里FMS只需要使用到各业务对象的AEV页面(add+edit+view+addjs+editjs+viewjs)6个前端文件。

以上13*5=65个文件。后台代码冗余严重、前台代码也冗余严重,后台代码多对项目启动存在一定的影响。

 

 

根据以上的例子,云平台实现了多业务类型支持和AEV页面合并功能。新功能只需要配置一个业务对象MfOrder,然后在MfOrder对象下配置一个业务类型列表(eg:)

 

业务对象 业务类型 描述
MfOrder 001 海运出口
002 海运进口
003 内贸管理
004 空运出口
005 空运进口
006 海运散货

 

然后在这个业务对象下配置页面列表如下:

 

业务对象 业务类型 页面类型
MfOrder 001 ALL新增编辑查看
002 ALL新增编辑查看
003 ALL新增编辑查看
004 ALL新增编辑查看
005 ALL新增编辑查看
006 ALL新增编辑查看

 

然后就是详细配置各页面列表的布局。。。。。

 

最终新版配置方式生成的文件如下:

 

后台代码

(controller+domain+example+mapper java+mapper xml+service+service interface)7个文件.

前台代码

(all+alljs)一份2个文件,共6个业务类型,6*2=12文件

 

以上供 17 个文件

 

 

另外旧版本的配置方式,MfOrder、MfOrderOI对下都有子对象ArBcFrieght费用对象,然后MfOrder下的费用表格需要显示A\B\C\D字段、MfOrderOI下的费用表格需要显示A\B\C\E\D字段,这时候是需要拷贝一份ArBcFrieght—》ArBcFrieghtCopy然后重新配置这个对象的表格列配置为A\B\C\E\D,然后把

MfOrderOI下的子对象ArBcFrieght子对象关系解除,重新绑定为MfOrderOI—》

ArBcFrieghtCopy。

 

针对以上的情况,在新版本的配置中,可以在布局上直接配置表格列。就是支持配置很多个表格的表格列配置。

 

 

2)、功能限制

多业务对象只支持在主对象上配置(主对象是指这个对象下有配置页面列表有对应的菜单入口,即使这个对象又当其他对象的子对象也是没关系的)

 

如果一个业务对象配置了多业务类型,那么页面列表中的数据,业务类型字段为必输。页面列表中不能存在业务类型为空的数据。

 

 

 

3)、 配置

  1. 配置业务对象多业务类型列表

在业务对象的编辑页面下的页签【业务类型】

h122902

  1. 在业务对象下的页面列表配置页面布局

h122903

页面列表下的页面类型中新增了一种类型【ALL新增编辑查看公用页面】,如果你配置的业务对象不需要区分详细的新增、编辑、查看页面;云平台建议把页面类型选择为【ALL新增编辑查看公用页面】;原来的选项可能为【AEV新增编辑查看页面】;这两个类型的差别在于AEV会生成3个前台 html、3个前台JS;ALL只生成1个前台HTML、1个前台JS文件.

 

 

 

  1. 设计业务对象页面布局(和原来的配置方式没什么差别,就表格(GRID)、工具栏(FORM_TOOLBAR,GRID_TOOLBAR)有新的配置方式、查询表单、表单下的元素的配置,以上可以不在使用旧版本的引用方式进行布局)

h122904

 

  1. 针对表格的配置

在页面布局类型为 GRID的这笔布局下配置表格列

注意所有的数据(布局元素)的(布局元素业务对象名称)需要是同个业务对象名称,就是和布局GRID上配置的业务对象名称一致.

 h122905

 

表格列列表:

h122906

 

普通表格列配置:

(业务布局元素类型) 选择【ELEMENT】,填写(布局元素业务对象名称)(属性名称)(控件类型)(顺序)(可见);以上字段除了(可见)非必输其他的为必输{配置表格普通列时候};

h122907

 

表格操作列配置:(业务布局元素类型) 选择【ELEMENT】,填写(布局元素业务对象名称)(属性名称)(控件类型) 选择【10操作按钮】 (方法名称)(顺序)(可见) ;以上字段除了(可见)非必输其他的为必输{配置表格操作列时候};

 h122908

 

 

 

 

  1. 针对表格工具栏配置

 

旧版本配置表格工具栏的方式为配置一笔页面布局元素类型为【GRID_TOOLBAR】的布局。

新版配置方法为配置一笔页面不仅元素类型为【TOOLBAR】布局,然后再这笔布局下配置按钮列表,也就是说新版本布局支持用户为各个页面上的表格自己定义工具栏的按钮,旧版一个业务对象对应的表格的按钮工具栏只能定义一份,新版本的表格工具栏配置跟着页面布局,有多个页面布局上使用了这个业务对象的表格,就可以配置多份表格工具栏并这些工具栏中的按钮及排序等可以不一致,旧版本的是所有工具栏是完全一致的。

h122909

 

在这笔布局下配置按钮列表:

h122910

表格工具栏下按钮元素的配置:

(业务布局元素类型) 选择【BUTTON】,填写(布局元素业务对象名称)(方法名称)(顺序)(可见) ;以上字段除了(可见)非必输其他的为必输{配置表格工具栏下按钮列表时候};

h010301 

 

 

 

  1. 针对表单的配置

旧版本配置查询表单的查询字段方式为配置一笔页面布局元素类型为【FORM_HEAD】的业务对象查询表单配置引用方式[真正的查询列配置在业务对象下表格列配置的配置]。或者为在栅格布局下配置一笔页面布局元素类型为【FORM_COLUMN】,填写(布局元素业务对象名称)(方属性名称)(控件类型)(顺序)(可见)等的布局元素的配置数据列表。

新版本配置方式为:在栅格下配置布局元素列表下配置布局;选择(页面布局元素类型)为【ELEMENT】,填写(布局元素业务对象名称)(方属性名称)(控件类型)(顺序)(可见);以上除了(可见)为非必输,其他的必输在{配置查询表单的场景下}

h010302

 

 

 

 

  1. 针对查询表单的配置

旧版本配置查询表单的查询字段方式为配置一笔页面布局元素类型为【SEARCH_FROM】的业务对象查询表单配置引用方式[真正的查询列配置在业务对象下表格列配置的配置]

新版本配置方式为:在栅格下配置布局元素列表下配置布局;选择(页面布局元素类型)为【ELEMENT】,填写(布局元素业务对象名称)(方属性名称)(控件类型)(查询条件类型)(区间类型)(顺序)(可见);以上除了(区间类型)(可见)为非必输,其他的必输在{配置查询表单的场景下}

 h010303

 

 

 

 

 

备注:

以上的所有配置目前表格列配置、表格工具栏配置,可视化下还不支持新版本配置,需要在业务对象管理页面下的页面列表下的布局中配置.

 

4)、    多业务类型支持或者是All页面类型[AEV共用页面]需要进行【地址转换】。

 

选择有配置了多业务类型、或者配置了ALL页面类型[AEV共用页面]的业务对象,然后点击管理页面上方的【地址转换】按钮。

5)、    其他修改项

  1. 页签懒加载的资源权限配置数据,旧版本系统需要生成出代码后到对应的页面去取得懒加载页面的前台HTML地址,然后在系统管理的权限资源中手动新增添加;新版本修改为【导出权限配置】按钮功能上集成了自动计算懒加载页面的地址并自动挂到对应的父资源权限下。
  2. 权限资源导出的文件中的脚本加入的目标系统存在的情况判断,如果存在则不新增、如果不存在则新增;就是说语句可以多次执行。同样【同步权限到目标数据库】、【同步到目标数据库】等功能原来权限资源处理都是零散的代码,目前修改为统一的公共代码处理。

二、业务对象模块维护介绍

1、业务对象下的模块的数据维护界面

h010304

2、维护的菜单:基础数据–模块表管理,如图:

h010305

3、!!!!必须提交后的数据才能在业务对象中过滤出来。

三. 用户管理点击重置按钮没有效果(GL-7883)

修改文件:sysUserManage.js

h010306

 

四、可视化布局(新)

1)可视化界面

h010307

2)可视化操作说明
  • 工具栏
    保存:保存当前布局
    编辑/布局/预览:切换编辑、布局、预览模式
    撤销/重做:撤销、重做编辑步骤
    清空:删除所有布局和控件元素
    缩放:对编辑区进行缩放调整
    仅取主对象:请求数据是否仅取主对象,默认为勾选状态。二、侧边栏(左侧)
    布局:可拖拽到编辑区新增布局(行、列)
    容器组件:可拖拽到编辑区新增容器组件
    基础组件:可拖拽到编辑区容器内新增控件(容器必须是非父栅格)三、侧边栏(右侧)
    页面列表:显示页面列表信息,高亮显示的为当前编辑的页面。双击列表可切换编辑页面(重新请求数据)。
    属性:显示编辑器当前选择的容器或控件展示对应的属性信息,可编辑。侧边栏的分隔条可以拖动调整宽度,点击可以展开、收场侧边栏。侧边栏面板标题可以点击来展开、收起对应面板。
  • 编辑区
    编辑区展示页面的布局容器和控件
  1. 编辑模式下会显示容器的外框、展开/收缩按钮及容器的布局容器类型、页面布局元素类型、是否父栅格、样式名称等信息。点击展开/收缩按钮可展开、收起对应容器,点击是否父栅格标记可切换容器的是否父栅格属性。
  2. 布局模式会显示容器的外框,并且隐藏界面侧边栏。
  3. 预览模式下不显示容器外框等额外信息,并且隐藏界面侧边栏。预览模式下不可编辑。
  4. 如果当前页面没有布局信息,默认添加 DIV.module 和 DIV.container-fluid 容器
    2. 点击编辑区内的容器或控件,则选中当前元素,并在侧边栏属性面板显示当前选中的元素的属性信息。选中的元素会有红色外框标记,并在外框的右上角显示上移、下移、删除按钮。点击上移、下移按钮可以调整选中元素的顺序,点击删除按钮可以删除选中元素,如果容器元素包含子元素,子元素也会被删除。
    3. 编辑区内的容器和控件可拖拽并释放到指定位置,如果当前指定位置可以释放,容器会显示为绿色虚线框和底色,并在释放位置显示蓝色指示线(如未显示,则释放到容器的最后位置)。否则显示为红色虚线框及底色。
    4. TOOLBAR 配置:
    a. 如容器布局元素类型为 TOOLBAR,容器右上角会显示齿轮形状的设置图标。点击图标弹出设置面板。设置面板左侧显示所有方法定义,右侧显示已选取的方法按钮列表。已选取的方法在左侧列表显示为灰色。点击列表项可以选中/取消选中该列表项(同时按住ctrl键可多选)。h010308点击 按钮可以把左侧选中的方法添加到右侧列表,点击可以把左侧列表的所有方法添加到右侧列表。
    c. 点击按钮调整列表中选中方法的顺序。
    d. 点击按钮可以移除右侧列表中选中的方法。点击可以清空右侧列表。
    e. 点击取消按钮关闭设置面板并放弃所做的设置操作。点击确定按钮关闭设置面板并接受所做的设置操作,右侧列表方法添加显示到 TOOLBAR 中(按钮)。

5、GRID 配置
a、如容器布局元素类型为 GRID,容器右上角会显示齿轮形状的设置图标。点击图标弹出设置面板。设置面板左侧显示所有属性定义,右侧显示已选取的字段(表格列)列表,及是否可见复选框,如果是操作列,同时显示方法名称。已选取的字段在左侧列表显示为灰色。点击列表项可以选中/取消选中该列表项(同时按住ctrl键可多选)。左侧列表下方显示方法定义下拉框。

h010309

b、点击 按钮可以把左侧选中的字段添加到右侧列表,点击可以把左侧列表的所有字段添加到右侧列表。如方法定义下拉框中有选择方法,则添加为操作列。
c. 点击按钮调整列表中选中方法的顺序。
d. 点击按钮可以移除右侧列表中选中的方法。点击可以清空右侧列表。
e. 点击取消按钮关闭设置面板并放弃所做的设置操作。点击确定按钮关闭设置面板并接受所做的设置操作,右侧列表字段添加显示到 GRID中(表格列)。

6、ELEMENT 配置

a、如容器布局元素类型为 ELEMENT ,容器右上角会显示齿轮形状的设置图标。点击图标弹出设置面板。设置面板左侧显示所有属性定义(已选取的字段显示为灰色),右侧显示已选取的字段(表格列)列表,按行、列进行显示。

h010312

b、可配置h010313显示的行数及列数。
c. 点击行列单元格可以选中该单元格(同时按住ctrl键可多选)。点击合并按钮可合并选中的单元格(必须为同一行中连续的单元格)。点击拆分单元格可拆分选中的单元格。

d、点击撤销、重做按钮可以执行撤销、重做操作。
e. 左侧列表字段可以拖拽至右侧单元格中,可侧单元格中的字段可拖拽调整位置及顺序。鼠标移动到右侧的字段上会显示删除按钮,点击可删除该字段。
f. 点击取消按钮关闭设置面板并放弃所做的设置操作。点击确定按钮关闭设置面板并接受所做的设置操作,并根据右侧列表显示的行列及字段在ELEMENT容器内添加相应的ROW、COL布局容器及控件。

五、界面高度自适应

    配置方法如下:
    1. 引入 elasticLayout.js,同时页面如果有引用了 fixgrid 这个文件,可移除掉,这功能已包含在 elasticLayout.js 里了。有些页面有定义一个 overAreaQueryScroll 方法,也要移除掉,这个方法的实现不太好且与 elasticLayout.js 功能冲突,请用 elasticLayout 来配置实现。
        h010314
    2. 对需要进行自适应缩放的容器 div 添加 ‘elastic-layout’ 的 class,最外层是需要适应到窗口高度的容器(一般就是 class 为 ‘module’ 的那个 div)。
    3. 下层结构为左右结构额外添加一个 ‘elastic-horizontal’ 的 class。
    4. 包含表格的 div 额外添加一个 ‘elastic-grid’ 的 class。
    5. 包含 Tab 控件的 div 额外添加一个 ‘elastic-tabs’ 的 class,包含向导控件的 div 额外添加一个 ‘elastic-steps’ 的 class。
    6. 下层结构为上下结构的,如需要按不同比例分配高度(默认为平均分配), 需要添加一个 ‘elastic-ratio-x-x’ 的 class。如需要按 2:1 分配高度,则设置为 ‘elastic-ratio-2-1’。
    7. 可以进行嵌套组合。
    8. 触发 window.resize 事件时,会重新计算高度。
    9. 对于会触发页面布局调整的按钮(例如点击后会有显示隐藏界面内容的操作),可配置 ‘elastic-layout-btn’ 样式。在点击此按钮时会自动触发 resize 事件并重新计算布局。

 

可视化配置自适应高度,举个栗子

 

TestCaseNew301 – 管理页

h010315

这个页面是简单的上下布局,表格自适应高度。步骤如下

1、找到最外层容器,添加 “elastic-layout” 样式名称

h010316

2、确定要自适应高度的容器,在这个页面是包含表格的这个 DIV 添加样式名称 “elastic-layout”,由于是表格,再额外添加 “elastic-grid”

h010317

TestCaseNew301 – 新增、编辑、查看页面

h010318

1、找到最外层容器,添加 “elastic-layout” 样式名称

h010320

2、这个 Tabs 内容是需要自适应高度的,添加 “elastic-layout”,由于是包含 tabs 控件的容器,再添加 “elastic-tabs”

h010321

3、基本信息 tab 页是一个表单,没有需要自适应高度的内容,无需处理

h010322

4、子表&孙子表 Tab内是左右结构,内部各有一个表格自适应高度。在左右结构的 col 的上一层窗口添加 “elastic-layout” 和 “elastic-horizontal” 样式名称,两个 col 也需要添加 “elastic-layout”

h010323

5、两个 col 内再分别进行配置,都是有一个表格需要自适应高度,在包含表格的 容器上添加”elastic-layout elastic-grid”

h010324

总结经验:

1、从最外层一层层往里配置

2、最外一层要配置 elastic-layout

3、找到需要自适应高度的容器并配置上 elastic-layout

4、如果是左右结构的布局,需要在其上一层容器配置 elastic-layout elastic-horizontal,左右结构的各列都需要配置上 elastic-layout

5、tab控件需要在 TABS 上配置 elastic-layout elastic-tabs

6、表格控件、树控件自适应高度,需要在直接包含控件的这一层容器上添加elastic-layout,并添加对应控件的样式(elastic-grid 或 elastic-tree)

六、云平台自定义SQL配置方式

视图定义
  1. 新增视图定义,选择视图类型为:自定义SQL

h010325

  1. 在子表视图创建语句,选择相应的数据库类型,添加自己的SQL语句

h010326

  1. 勾选视图,点击同步字段

h010327

同步完成后,该视图对象的视图字段表会创建自定义SQL中关联的表和字段。需指定主键字段。

h010328

h010329

业务对象

  1. 创建业务对象,关联表选择创建的视图。根据需求配置该业务对象并生成。

h010330

  1. 生成运行业务对象,查询方法即可搜索出自定义SQL对应的数据内容h010331