jquery easyui 異步加載樹

前端代碼:

$('#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;
		}
	}



發佈了37 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章