根据应用菜单打开不同的列表界面效果

1 业务背景
某个应用内有多个菜单引用了相同的单据列表,但是需要显示不同的查询范围
2 思路
(1)可以通过配置默认查询方案实现,但是每个用户都需要配置。
不同的菜单有不同的业务场景,本质是不可以通过设置查询方案来回切换得
(2)需要扩展应用首页,进行二开处理,监听左侧菜单点击事件
3 解决方案
(1)随便创建一个单据A作为左侧菜单绑定的页面
(2)将单据A绑定两个不同得菜单

(3)对该应用得应用首页进行扩展,并注册插件

(4)实现kd.bos.form.control.events.TreeMenuClickListener接口,监听左树点击事件,并设置打开指定列表页面
public void registerListener(EventObject e) {
super.registerListener(e);
//监听左侧菜单栏
TreeMenu tree = this.getView().getControl("navigationbar");
tree.addTreeMenuClickListener(this);
}
@Override
public void treeMenuClick(TreeNodeEvent treeNodeEvent) {
//获取点击得当前菜单得源页面编码
String nodeId = (String) treeNodeEvent.getNodeId();
AppMenuInfo appMenuInfo = AppMetadataCache.getAppMenuInfo("应用编码", nodeId);
//打开指定的列表页面
ListShowParameter listShowParameter = new ListShowParameter();
listShowParameter.setFormId("bos_list");
listShowParameter.setBillFormId("单据编码");
listShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
//判断点击不同的菜单进行传参
if(appMenuInfo!=null &&appMenuInfo.getFormId().equals("菜单绑定的源单编码")&&nodeId.equals("1988427567475984384")){
listShowParameter.setCustomParam("key","audit");//取已审核数据
listShowParame根据应用菜单打开不同的列表界面效果
1 业务背景某个应用内有多个菜单引用了相同的单据列表,但是需要显示不同的查询范围2 思路(1)可以通过配置默认查询方案实现,但是每个...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



