如何将某个应用的首页代替苍穹的原有的首页原创
8人赞赏了该文章
3,637次浏览
编辑于2022年08月05日 15:52:07
关键字:首页 应用首页
一、需求
有些客户希望用户进来的时候可以看到自己二开的应用首页,所以将自己的应用首页替换掉将原苍穹的首页。
二、思路与方案
需要扩展首页导航栏所在的动态表单,增加新页签,然后把原来首页所在页签隐藏掉,在插件将应用的首页show到新页签里,同时要激活新页签。
三、实现过程
1.扩展首页所在的界面,首先将鼠标放在首页导航栏空白处,然后按ctrl+alt+G打开首页编辑界面【pc_main_console】,找到所在的应用进行扩展。
2.在扩展界面设置首页页签不可见,去掉初始不可见即可。
3.新建页签【物品管理系统应用】,标识为【kded_mytabpage】,并勾选首页签属性。
4.注册插件demo.oa.ChangeMainPagePlugin
package demo.oa; import java.util.EventObject; import java.util.HashMap; import java.util.Map; import kd.bos.form.FormShowParameter; import kd.bos.form.IFormView; import kd.bos.form.ShowType; import kd.bos.form.container.Tab; import kd.bos.form.plugin.AbstractFormPlugin; public class ChangeMainPagePlugin extends AbstractFormPlugin { @Override public void afterCreateNewData(EventObject e) { // TODO Auto-generated method stub super.afterCreateNewData(e); showSpecificForm("kded_gmsys", "物品管理系统", "kded_mytabpage", "_apphome"); } @Override public void afterBindData(EventObject e) { // TODO Auto-generated method stub super.afterBindData(e); Tab tab = getControl("tabap"); tab.activeTab("kded_mytabpage"); //这里填写新增页签那个的标识 } /** * * @param appId 应用编码 * @param appName * @param targetKey 页签标识 * @param formId 首页标识的后缀 */ private void showSpecificForm(String appId,String appName,String targetKey,String formId) { FormShowParameter fp = new FormShowParameter(); IFormView mv = getView().getMainView(); fp.setAppId(appId); fp.getOpenStyle().setTargetKey(targetKey); fp.getOpenStyle().setShowType(ShowType.InContainer); fp.setHasRight(true); fp.setFormId(appId+formId); fp.setPageId("kded_gmsys"+getView().getMainView().getPageId()); Map<String,Object> a = new HashMap(); a.put("appid", appId); a.put("appname", appName); a.put("appmainnumber", appId+formId); fp.setCustomParams(a); getView().showForm(fp); } }
注意 appId+formId =应用首页的标识
四、效果图
五、开发环境版本
V4.0.0.14
六、参考资料
赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!