序时簿页面打开后通用查询的组织条件中会默认显示所有有权限的组织,框架会将当前登录的组织默认放在第一个然后页面打开时会默认选中第一个组织也就是当前登录的组织,一些场景下需要修改页面默认的组织条件:
2.1 配置页面新增initData的after插入:
2.2 在对应的handler中将默认要选择的组织移动至第一位:
package com.kingdee.eas.customer;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.webframework.component.bizcommonquery.OrgDataEntity;
import com.kingdee.bos.webframework.dynamic.event.view.IWebInitDataEventHandler;
import com.kingdee.bos.webframework.dynamic.event.view.WebInitDataEvent;
import com.kingdee.bos.webframework.dynamic.handler.AbstractWebEventHandler;
import com.kingdee.bos.webframework.exception.WafException;
public class WebInitDataEventHandlerCL extends AbstractWebEventHandler implements IWebInitDataEventHandler {
@Override
public void onRequest(WebInitDataEvent event) throws WafException,
BOSException {
Map<String,Object> initData = (Map<String, Object>) event.getInitData().get("queryInitData");
List orgData = ((OrgDataEntity) initData.get("orgData")).getRows();
//将默认显示的组织放在第一个
String orgId = "iwoAAAAADe7M567U"; // 默认显示的组织id
if (orgId!=null) {
for (int i=0;i<orgData.size();i++) {
HashMap map = (HashMap)orgData.get(i);
if (map.get("id").toString().equals(orgId)) {
orgData.remove(map);
orgData.add(0, map);
break;
}
}
}
}
}
2.3 效果展示: