采用扩展方式对EAS系统主界面作了二次开发,在组织切换的时候会比关闭掉?跟踪过程如下:
一、切换组织程序流程
LoginInFrame
|
|_____NewWinMainUI
|
|____UISysTab
|
|___MainMenuBar
|
|__SystemEntry#SwitchOrg
MainUIObjectManager#closeAllNonSysApp
NewWinMainUI#
UIObjectManager
二、增加扩展类
MainFunctionMenuUICTEx
三、修改客户端配置文件:
1、BOS IDE环境下的路径(工作空间):
... untimeclientdeployclientconfig.xml
2、EAS Server环境下的路径:
D:kingdee750easserverdeployfileserver.eareasWebClientdeployclientconfig.xml
3、修改内容项
<configitemname="systemtablist">
<!--key决定页签的加载顺序,value的格式为"CC#II#L1标题#L2标题#L3标题",其中CC为页签对应的界面对象的类名,II为该页签对应的图标-->
<attributekey="1"value="com.kingdee.eas.base.uiframe.client.MainFunctionMenuUICTEx#imgLabel_icon_menu#Menu#功能菜单#功能菜單"/>
<attributekey="2"value="com.kingdee.eas.base.message.client.MessageCenterUI#imgLabel_icon_news#Message Center#消息中心#消息中心"/>
</configitem>
四、总结
1、BOS IDE环境下也是有区分客户端、服务端的,如果二次开发的时候,仅需要将第三方组件包在客户端生效,可放置在
untimeclient 路径下
2、EAS界面UI类是支持通过CTEx扩展的,但是像主界面这个比较特殊,系统运行时需要根据配置文件来判定主界面中默认显示的菜单【应用中心、消息中心】
3、组织切换时,会强制关闭非系统预置页签,由于二次开发扩展了主页面(原类名+CTEx),和配置文件中不一致,这样会被系统认为非系统预置页签,所以会被关闭掉。