⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree_level_agent_select.js

📁 达内CRM培训项目java源码:主要系统功能 1 用户登录 2 客户管理:查询客户、增加客户、修改客户; 3 订单管理:查询订单、生成订单、修改订单、订单确认; 4 产品管理:查询产品
💻 JS
📖 第 1 页 / 共 3 页
字号:
	rStrTree += this.root.name;
	rStrTree += "</td></tr>";
	rStrTree += "</table>";
}

var strTree = "";
var rStrTree = "";  // 根节点对应html代码(分层展示)

/***/
/* 通过每个节点img部分的Id来得到其srcIndex,以用于该节点的展开
 modify by yancj 2004-1-5
*/
var fID = 0;


/** 画出节点 */
function drawNode(node) {
	strTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	strTree += "<tr ><td id='" + node.id + "'>";
	var fIDid = fID++;

	this.drawFrontLine(node);
	if (node.type == "folder")
	{
		strTree += "<a onClick='openThisFolder()' onFocus='this.blur()'  href='#'><img id='" + (fIDid) + "' border='0' src='"+node.fImage+"'></a>";
		//strTree += "<a onFocus='this.blur()' href='#'><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td valign='middle' style='FONT-SIZE: 12px;'>";
		/*if(node.orgname !=""){
		strTree += "<a onFocus='this.blur()' id='folderLink' href='"+node.orgname+"' target='"+node.code+"' >"+node.name+"</a>";
		}else{
			strTree+=node.name;}
		*/
		strTree+=node.name;
		if(node.affirmUrl!=""&&node.canClick=="yes"){
		strTree += "<a onFocus='this.blur()'  onclick="+node.affirmUrl+" ><img border='0' src='"+node.affirmImage+"' alt='确认' style='cursor:hand'></a>";

		}
		strTree+="<td>&nbsp;</td>";

	} else {
		strTree += "<img border='0' src='"+node.fImage+"'>";
		strTree += "<img border='0' src='"+node.image+"'>";
		strTree += "</td><td valign='middle' >";
		//strTree += "<a onFocus='this.blur()'  href='"+node.orgname+"' target='"+node.code+"') >"+node.name+"</a>";
		strTree += node.name+"  "+node.agentId+" ";
		strTree += "</td><td valign='middle' >";
	   if(node.affirmUrl!=""&&node.canClick=="yes"){
			strTree += "<a onFocus='this.blur()' onclick="+node.affirmUrl+"><img border='0' src='"+node.affirmImage+"' alt='确认' style='cursor:hand'></a>";
	   }

	}
	strTree += "</td></tr>";
	strTree += "</table>";

	// 对所有符合查询条件的节点
	for(i = 0; i < ids.length; i++) {
		if (ids[i] == node.id) {
			// 将该节点img对应的Id写到数组里去,当页面节点树建立后,对所有符合条件的节点展开
			srcids[idx++] = fIDid;
		}
	}

}
/** 画出节点(全部展开)liuhr */
function drawAllNode(node) {
	strTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	strTree += "<tr ><td id='" + node.id + "'>";
	var fIDid = fID++;
	this.drawFrontLine(node);
	if (node.type == "folder")
	{
		strTree += "<img  border='0' src='"+img_minus_last+"'></td>";
		strTree += "<td><a onFocus='this.blur()' href='#' ><input id='Ck" + node.id + "'  type='checkbox' value='1' onclick='selected()'></a></td><td><img border='0' src='"+node.image+"'>";
		strTree += "</td><td valign='middle'>";
		strTree += "<a onFocus='this.blur()' id='"+node.id+"' onclick='selected()' href='#'>"+node.name+"</a>";
	} else {
		strTree += "<img border='0' src='"+node.fImage+"'></td>";
		strTree += "<td><a onFocus='this.blur()' href='#'><input id='Ck" + node.id + "' type='checkbox'  value='checkbox' onclick='selected()' ></a></td><td><img border='0' src='"+node.image+"'>";
		strTree += "</td><td valign='middle'>";
		strTree += "<a onFocus='this.blur()' id='"+node.id+"' onclick='selected()' href='#' >"+node.name+"</a>";
	}
	strTree += "</td></tr>";
	strTree += "</table>";

	// 对所有符合查询条件的节点
	for(i = 0; i < ids.length; i++) {
		if (ids[i] == node.id) {
			// 将该节点img对应的Id写到数组里去,当页面节点树建立后,对所有符合条件的节点展开
			srcids[idx++] = fIDid;
		}
	}
}

/** 画出节点(分层展示),clickOnFolderLevel事件需要参数,并且实现方式不同
 * add by yancj 2004.2.9
 */
function drawNodeLevel(node) {
	strTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	strTree += "<tr ><td nowrap id='" + node.id + "'>";
	var fIDid = fID++;
	this.drawFrontLine(node);
	if (node.type == "folder")
	{
    var norgname=node.orgname;
    strTree += "<a onClick=\"clickOnFolderLevel('" +node.id+"','"+node.name+"', '"+node.parentId+"','"+node.type+"','"+norgname+"','"+node.code+"')\"";
		strTree += " onFocus='this.blur()'  href='#'><img id='" + fIDid + "' border='0' src='"+node.fImage+"'></a>";
		strTree += "<a onFocus='this.blur()' href='#'><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td nowrap valign='middle'>";
		strTree += "<a onFocus='this.blur()' id='folderLink' href='"+node.orgname+"' target='"+node.code+"' >"+node.name+"</a>";
	} else {
		strTree += "<img border='0' src='"+node.fImage+"'>";
		strTree += "<a onFocus='this.blur()' href='"+node.orgname+"' target='"+node.code+"')><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td nowrap valign='middle'>";
		strTree += "<a onFocus='this.blur()'  href='"+node.orgname+"' target='"+node.code+"') >"+node.name+"</a>";
	}
	strTree += "</td></tr>";
	strTree += "</table>";

	levelids[lidx++] = fIDid;

	// 对所有符合查询条件的节点
	for(i = 0; i < ids.length; i++) {
		if (ids[i] == node.id) {
			// alert(node.id);\
			// 将该节点img对应的Id写道数组里去,当页面节点树建立后,对所有符合条件的节点展开
			srcids[idx++] = fIDid;
			// 展开符合条件的节点的父节点
			addParentID(node);
		}
	}
}
/***/


/** 将父节点的img对应Id加入数组
  add by yancj 2004-1-5
*/
function addParentID(node) {
	try {
		// alert("childID: "+node.id);
		var pNode = tree.getParent(node);
		// alert("parentID: "+pNode.id);
		if (pNode != null) {
			var aTag = findATag(document.getElementById(pNode.id).firstChild);
			srcids[idx++] = aTag.firstChild.id;
			// 递归
			addParentID(pNode);
		}
	}
	catch (E) {
  }
}

/** 将父节点的img对应Id加入数组
  add by yancj 2004-2-10
*/
function addParentIDById(nodeId) {
	try {
		// alert("childID: "+nodeId);
		var pId = tree.getParentId(nodeId);
		//alert("parentID: "+pId);
		if (pId != null) {

			var aTag = findATag(document.getElementById(pId).firstChild);

			srcids[idx++] = aTag.firstChild.id;

			// 递归
			addParentIDById(pId);
		}
	}
	catch (E) {
  }
}

/* 找出<a 后包含的img
  add by yancj 2004-1-5
*/
function findATag(docNode) {
	// alert("aTag? " + docNode.nodeName);
	if (docNode.nodeName == 'A')
		return docNode;
	else
		return findATag(docNode.nextSibling);
}

/** 画出整个树的节点组
  modify by yancj 2004.1.5
  for 画第一个符合查询条件的节点
*/
function drawNodes(node) {

	if (node.type != "root")
	{
		strTree += "<div id='d"+node.id+"' style='display:none'>";
	}
	for (var i=1;i<this.length;i++)
	{
		if (this.nodes[i].parentId!=null && this.nodes[i].parentId == node.id)
		{
			if(this.nodes[i].id==this.firstSearchNodeId){
				// 画出符合条件的第一个节点
				this.drawFirstSearchNode(this.nodes[i]);
			}else{
			   this.drawNode(this.nodes[i]); //画出节点
		  }
			this.drawNodes(this.nodes[i]); //递归画出整个节点组的节点
		}
	}
	if (node.type != "root")
	{
		strTree += "</div>";
	}

}

/** 画出整个树的节点组
  (全部展开)liuhr
*/
function drawAllNodes(node) {

	for (var i=1;i<this.length;i++)
	{
		if (this.nodes[i].parentId!=null && this.nodes[i].parentId == node.id)
		{
			if(this.nodes[i].id==this.firstSearchNodeId){
				// 画出符合条件的第一个节点
				this.drawFirstSearchNode(this.nodes[i]);
			}else{
			   this.drawAllNode(this.nodes[i]); //画出节点
		  }
			this.drawAllNodes(this.nodes[i]); //递归画出整个节点组的节点
		}
	}

}
/** 画出当前节点的一级子节点组
 * add by yancj 2004.1.9
 * 使用div来插入一级子节点组的html代码。div的id为当前节点id,加前缀d
*/
function drawNodesLevel(node) {
  strTree="";
	// alert(" drawNodesLevel ");
	for (var i=1;i<this.length;i++)
	{
		if (this.nodes[i].parentId!=null && this.nodes[i].parentId == node.id)
		{
			if(this.nodes[i].id==this.firstSearchNodeId){
				// 画出符合条件的第一个节点;
				this.drawFirstSearchNode(this.nodes[i]);
			}else{
			   this.drawNodeLevel(this.nodes[i]); //画出节点
			   if (this.nodes[i].type == "folder")
	       {
		       strTree += "<div style='display:none' id='d" + this.nodes[i].id + "'>";
		       strTree += "</div>";
	       }
		  }
		}
	}

  if (node.type == "root")
	{
		strTree = rStrTree + strTree; // 画根节点的html代码
	}
}


/** 画出节点前的前导图片,有空格或线条图片.
	如果其父节点是一个末节点,那么该对应列的前导图片为空格图片.
	如果不是末节点,应该添加线条图片.
	这里进行了递归运算,但由于其图片顺序为反顺序,所以设置一个tempStr来暂存需要画出的图片,
	用以保证其图片顺序为正确顺序. */
function drawFrontLine(node) {
	var tempStr = "";
	for (var i=1;i<this.length;i++)
	{
		if (this.nodes[i].id == node.parentId)
		{
			if (this.nodes[i].isLast)
			{
				tempStr = "<img src='"+img_blank+"'>" + tempStr;;
			} else {
				tempStr = "<img src='"+img_line+"'>" + tempStr;
			}
			this.drawFrontLine(this.nodes[i]);
		}
	}
	strTree += tempStr;
}


/** 当点击目录节点的前导"加号|减号"图片时,展开层或收缩层,并用相应的图片替代现有图片,实现动态收缩动作 */
function clickOnFolder() {
	var srcIndex = event.srcElement.sourceIndex;

	var divElement = document.all[srcIndex+7]; //得到层对象

	var imgElement = document.all[srcIndex+2]; //得到图片对象
	var fimgElement = document.all[srcIndex]; //得到前导图片对象(即它本身)
	if (divElement.style.display == "none")
	{
		divElement.style.display = "";
		imgElement.src=img_folder_open;;
		if (fimgElement.src!=null && fimgElement.src.indexOf(img_plus)!=-1)
		{
			fimgElement.src=img_minus;
		} else {
			fimgElement.src=img_minus_last;
			}
	} else {
		divElement.style.display = "none";
		imgElement.src=img_folder_close;
		if (fimgElement.src!=null && fimgElement.src.indexOf(img_minus)!=-1)
		{
			fimgElement.src=img_plus;;
		} else {
			fimgElement.src=img_plus_last;
		}
	}
}
function openThisFolder(){
 var divElement, srcElement,divId;
 var srcIndex = event.srcElement.sourceIndex;
  srcElement = window.event.srcElement;
  divId = "d"+srcElement.parentElement.parentElement.id;

  divElement=document.getElementById(divId);
  var imgElement = document.all[srcIndex+2]; //得到图片对象
	var fimgElement = document.all[srcIndex]; //得到前导图片对象(即它本身)
	if (divElement.style.display == "none")
	{
		divElement.style.display = "";
		imgElement.src=img_folder_open;;
		if (fimgElement.src!=null && fimgElement.src.indexOf(img_plus)!=-1)
		{
			fimgElement.src=img_minus;
		} else {
			fimgElement.src=img_minus_last;
			}
	} else {
		divElement.style.display = "none";
		imgElement.src=img_folder_close;
		if (fimgElement.src!=null && fimgElement.src.indexOf(img_minus)!=-1)
		{
			fimgElement.src=img_plus;;
		} else {
			fimgElement.src=img_plus_last;
		}
	}

}
/**
 * 展开一级子目录方式: 当点击目录节点的前导"加号|减号"图片时,展开层或收缩层,并用相应的图片替代现有图片,实现动态收缩动作
 * add by yancj 2004.4.9
 */
/**
 * 展开一级子目录方式: 当点击目录节点的前导"加号|减号"图片时,展开层或收缩层,并用相应的图片替代现有图片,实现动态收缩动作
 * add by yancj 2004.4.9
 */
function clickOnFolderLevel(nid, nname, nparentId, ntype, norgname, ncode) {
	tree.drawNodesLevel(new node(nid, nname, nparentId,ntype, norgname, ncode));
        var dId="d"+nid;
	document.getElementById(dId).innerHTML=strTree;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -