前端代码:
$('#adinfotree').tree({
url: url,
animate:true,
onLoadSuccess: function(node, data){
var node = $('#adinfotree').tree('find', '0000');
$('#adinfotree').tree('select', node.target);
},
onSelect: function(node){
global.isFirst = true;
var selected = $('#adinfotree').tree('getSelected');
currnode = node;
global.compnm = currnode.text;
global.compid = currnode.attributes.compid;
global.apidNull = currnode.attributes.apid;
if(global.apidNull == "isNull" || node.id == 0){
global.apid = "";
}else{
global.apid = global.apidNull;
}
if(node.id == '0000'){//如果是“全部”,则不能添加广告
initGrid({compid : currnode.attributes.compid, apid : global.apid});
$('#addut').linkbutton('disable');
global.isBatch=false;
}else if(node.attributes.hasAp != null){//如果是“企业”,则批量加广告
initGrid({compid : currnode.attributes.compid, apid : global.apid});
$('#addut').linkbutton({
'text' : "批量添加广告"
});
global.isBatch = true;
}else{
initGrid({compid : currnode.attributes.compid, apid : global.apid});
global.isBatch=false;
}
}
});
后台代码:
@RequestMapping(value = "/tree/compinfo/getcompinfoORapinfo", method = RequestMethod.POST)
@ResponseBody
public List<treenode1> getCompInfosOrApInfo(HttpServletRequest request,
@RequestParam(value = "id", required = false) String compid) {
compid = Function.dealNull(compid);
if (null == compid || "0000".equals(compid)) {// 加载企业
List<CompInfo> compinfos = getCompInfos(request);
List<Map<String, String>> compInfoList = getCompInfosView(compinfos);
List<treenode1> applist = new ArrayList<treenode1>();
Map<String, Object> attributes = null;
int size = compInfoList.size();
for (int i = 0; i < size; i++) {
treenode1 node = new treenode1();
attributes = new HashMap<String, Object>();
attributes.put("compid", compInfoList.get(i).get("compid"));
node.setText(compInfoList.get(i).get("compnm"));
node.setId(compInfoList.get(i).get("compid"));
node.setState("closed");
attributes.put("apid", "isNull");// 为了方便前台js判空
attributes.put("hasAp", "111");
node.setAttributes(attributes);
node.setIconCls("icon-company");
applist.add(node);
}
List<treenode1> all = new ArrayList<treenode1>();
treenode1 node = new treenode1();
Map<String, Object> attributes2 = new HashMap<String, Object>();
attributes2.put("compid", "");
node.setId("0000");
node.setText("全部");
node.setAttributes(attributes2);
node.setIconCls("icon-all");
node.setChildren(applist);
all.add(node);
return all;
} else {// 加载AP
List<ApInfo> apInfoList = apInfoService.getApInfos(
Constants.DEF_STRING_NULL, compid,
Constants.DEF_STRING_NULL, Constants.DEF_STRING_NULL,
Constants.STATUS_ON, "APNM", "ASC");
List<treenode1> grouplist = new ArrayList<treenode1>();
int apSize = apInfoList.size();
for (int j = 0; j < apSize; j++) {
treenode1 group = new treenode1();
group.setId(j + "31");
group.setText(apInfoList.get(j).getApnm());
group.setIconCls("icon-wifi");
Map<String, Object> attr = new HashMap<String, Object>();
attr.put("apid", apInfoList.get(j).getApid());
attr.put("compid", compid);
group.setAttributes(attr);
grouplist.add(group);
}
return grouplist;
}
}