`
Supanccy2013
  • 浏览: 225155 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jquery

阅读更多
 var zTree;          //主树
 var zTreeFu;        //副树
 
 //主树、副树公用的根节点
 var zNodesZhu =[{ id:1715, pId:0, name:"深圳市",isParent:true},]; 

 
//主树的设置(主树用来选择A单位)
var setting = {
        data: {  
            simpleData: {  
                enable: true  
            }  
        },  
        //主树采取异步加载的方式
        async: {  
            enable: true,  
            url: getRootPath()+"/shareData/getSubGridAndDept", 
            autoParam:["id","name"],  
            dataFilter: filter  
        },
    	view: {
    		dblClickExpand: false,
    		showLine: true,
    		selectedMulti: false,
    		fontCss: getFont,  
    	},
    	callback: {
    		beforeClick: function(treeId, treeNode) {
    			var zTree = $.fn.zTree.getZTreeObj("tree");
    			if (treeNode.isParent) {//选择父节点-行政区划,展开其子节点
    				if(treeNode.open == false){
    					zTree.expandNode(treeNode); 
    				}
    				else{
    					alert("请选择行政区划下面的单位!");
    				}
    			}else{                 //选择子节点-部门
    				var parent = treeNode.getParentNode();      //获得所选节点的父节点
    				$("#deptZhuName").text(parent.name + "->" + treeNode.name)
    				if(parent.getParentNode()){
    					$("#deptZhuName").text(parent.getParentNode().name + "->" + parent.name + "->" + treeNode.name);
        				if(parent.getParentNode().getParentNode()){
        					$("#deptZhuName").text(parent.getParentNode().getParentNode().name + "->" + parent.getParentNode().name + "->" + parent.name + "->" + treeNode.name)
        				}
    				}
    				if($("#zhuId").val() != treeNode.id){  //如果单击自己的节点则不更新副树
    					$("#fuTreeTitleDiv").show();
    					updateFuShu(treeNode);
    				}
    				$("#zhuId").val(treeNode.id);          //设置隐藏域的值(A部门的Id设置到隐藏域中)
    			}
    		}
    	}
 };

//副树(选择B单位的树的)的设置
var settingFu = {
        data: {  
            simpleData: {  
                enable: true  
            }  
        },  
    	view: {
    		dblClickExpand: false,
    		showLine: true,
    		selectedMulti: false,
    		fontCss: getFont,
    	},
        async: {  
            enable: true,  
            url: getRootPath()+"/shareData/getSubGridAndDept", 
            autoParam:["id","name"],  
            dataType:"json",
            otherParam: {},  //展开副树节点需要判断子节点的单位是否是主树上A单位的共享单位。若是A单位的共享单位那么显示红色
            dataFilter: filter  
        },
    	callback: {
    		beforeAsync: function(treeId, treeNode){              //在B树异步加载之前的处理函数(这里主要判断是否选择A单位和把A单位的部门id传递给B树的处理函数里
    			var zhuId = $("#zhuId").val();
    			if(!zhuId){
    				alert("请先选择配置单位");
    				treeNode.open = false;
    				return false;
    			}
    			else{
    				var zTree = $.fn.zTree.getZTreeObj("treeFu");
    				zTree.setting.async.otherParam = { "zhuId":zhuId,};    //动态的把主树选择节点的id传递给副树的setting
    				return true;
    			}
    		},
    		beforeClick : function(treeId, treeNode) {
    			var zTree = $.fn.zTree.getZTreeObj("treeFu");
    			if (!treeNode.isParent) {       //副树如果选择部门,展开其子节点(是父节点也就是 行政区划)
    				$("#fuId").val(treeNode.id); //设置B单位隐藏域的值
    				var parent = treeNode.getParentNode();
    				$("#deptFuName").text(parent.name + "->" + treeNode.name)
    				if(parent.getParentNode()){
    					$("#deptFuName").text(parent.getParentNode().name + "->" + parent.name + "->" + treeNode.name);
        				if(parent.getParentNode().getParentNode()){
        					$("#deptFuName").text(parent.getParentNode().getParentNode().name + "->" + parent.getParentNode().name + "->" + parent.name + "->" + treeNode.name)
        				}
    				}
    				var params = getParams();
    				if(!params.zhuId){
    					alert("请选择主配置项");
    				}
    				if(!params.fuId){
    					alert("请选择副配置项");
    				}
    				if(params.zhuId && params.zhuId){
    					var choose = window.prompt("请选择操作的序号:\n\n1,将"+treeNode.name+"的全部数据对A部门共享。\n2,将"+treeNode.name+"的全部数据对A用户屏蔽。\n3,将"+treeNode.name+"的部分数据对A用户共享。\n\n","请选择操作对应的数字填入此框中");
    					if(choose == "3"){
    						params.deptBName = treeNode.name; 
    						newForm(params);
    					}
    					else if(choose == "1" || choose == "2"){
    						$.ajax({
    							async:false,
    							type: "post",
    							url: getRootPath()+"/shareData/shareTheDeptAllData",
    							data:{
    								"fuId":$("#fuId").val(),
    								"zhuId":$("#zhuId").val(),
    								"type":choose,
    							},
    							success: function(data, textStatus){
    								alert(data);
    								updateNodeParentNode("treeFu",treeNode);
    							},
    						});
    					}else{
    						alert("选择有误,请重试");
    					}
    				}
    			}
    		}
    	}
};
//点击副树上的行政区划时,得到该行政区划下面的所有单位
function getChildren(ids,treeNode){
	if(treeNode.type == "dept"){
		ids.push(treeNode.id);
	}
	if (treeNode.isParent){
			for(var obj in treeNode.children){
				getChildren(ids,treeNode.children[obj]);
			}
	 }
	 return ids;
}


function getParams(){
	var zhuId = $("#zhuId").val();
	var fuId  = $("#fuId").val();
	var params = {
	   "zhuId":zhuId,
	   "fuId":fuId,
	};
	return params;
}

function getPatamsForFu(){
   return	{"zhuId":$("#zhuId").val()};
}


function zTreeOnCheck(event, treeId, treeNode) {
	$("#afterModify").empty();
	var nodes = getCheckedNodes();
	var str;
	for(var i=0; i<nodes.length; i++){
		if(nodes[i].isParent == false){
			str += '<tr><td>' + nodes[i].name + '</td><td>' +  nodes[i].id + '</td></tr>'
		}
	}
	$("#afterModify").append(str);
};
function getCheckedNodes(){          
 	var zTree = $.fn.zTree.getZTreeObj("treeFu");
	var nodes = zTree.getCheckedNodes(true);
	return nodes;
}


//主树的过滤函数
function filter(treeId, parentNode, childNodes) {  
    if (!childNodes) return null;  
    for (var i=0, l=childNodes.length; i<l; i++) {  
        childNodes[i].name = childNodes[i].name.replace('','');  
    }  
    return childNodes;  
} 

//副树的过滤函数
function filterFu(treeId, parentNode, childNodes) {  
	var zhuId = $("#zhuId").val();
	if(!zhuId){
		alert("请选择配置项");
		return ;
	}
	var visibleNodes = getVisibleDeptId(zhuId);
    if (!childNodes) return null;  
    for (var i=0, l=childNodes.length; i<l; i++) {  
    	for(var j=0; j<visibleNodes.length; j++){
    		if(childNodes[i].id == visibleNodes[j].id){
    			childNodes[i].checked = true;
    		}
    	}
    	if(zhuId == childNodes[i].id){
    		childNodes[i].checked = true;
    		childNodes[i].chkDisabled=true;
    	}

        childNodes[i].name = childNodes[i].name.replace('','');  
    }  
    return childNodes;  
}  

//根据单位的id 得到该单位可以看到的 单位集合(数据库中取)
function getVisibleDeptId(id){
	var result;
	$.ajax({
		async:false,
		type: "post",
		url: getRootPath()+"/shareData/getVisibleDept",
		dataType:"json",
		data:{
			"id":id,
		},
		success: function(data, textStatus){
			result = data;
		}
    });
	return result;
}
//页面加载前加载的函数
$(document).ready(function(){
	     $(window.parent.parent.document).find("#content").attr("height",630);
         zTree = $("#tree");              //主树
	     zTreeFu = $("#treeFu");          //副树
    	 $.fn.zTree.init(zTree, setting, zNodesZhu);            //给主树添加根节点(深圳市):ZnodesZhu是全局变量的树根节点深圳市
});

/**
 * 弹出选择模块的窗口
 * @param flag
 */
 function newForm(params){
	 var ywbase_mapPanel = new Ext.Panel({
			autoWidth : true,
			width : 1000,
			height : 540,
			border : false,
			html:"<iframe src='"+getRootPath()+"/shareData/actionData?zhuId="+params.zhuId+"&fuId=" + params.fuId+ "' style='width:1100px;height:540px;' frameborder='0'/>",
			}); 
	    myDialog= new Ext.Window({
			layout : 'form',
			constrain : true,
			border : false,
			draggable  : true,
			modal:true,
			width : 1100,
			height : 570,
			title : "请选择 " + params.deptBName + " 的功能模块",
			closeAction : 'close',
			resizable : false,
			items:ywbase_mapPanel,
			listeners:  {"close":function(){
				myDialog.destroy(); 
		    	var treeObj = $.fn.zTree.getZTreeObj("treeFu");     //重新加载副树选中节点的父节点
		    	var nodes = treeObj.getSelectedNodes();
		    	if (nodes.length>0) {
		    		treeObj.reAsyncChildNodes(nodes[0].getParentNode(), "refresh",true);
		    	}
		    	zTree = $.fn.zTree.getZTreeObj("tree");     //重新加载主树选中节点的父节点
		    	var nodes = zTree.getSelectedNodes();
		    	if (nodes.length>0) {
		    		zTree.reAsyncChildNodes(nodes[0].getParentNode(), "refresh",true);
		    	}
			} },
		});
//	 	myDialog.setTitle("屏蔽数据 ");
	    myDialog.setPagePosition(window.screen.availWidth/2-560,2*20);
		myDialog.show();
 }
 
 //重新加载特定树上特定节点的父节点
function updateNodeParentNode(treeid,treeNode){
	var treeObj = $.fn.zTree.getZTreeObj(treeid);     //重新加载副树选中节点的父节点
		treeObj.reAsyncChildNodes(treeNode.getParentNode(), "refresh",true);
}
 
function mysubmit(){
//		"zhuId":$("#zhuId").val(),
   var fuIds = getCheckedNodes();
   var idstr = "";
	for(var i=0; i<fuIds.length; i++){
//		alert(fuIds[i].isParent);
		if(fuIds[i].isParent == false)
			{
			idstr += fuIds[i].id; 
			idstr += ',';
			}
	}
    var params = {
       "zhuId":$("#zhuId").val(),	
       "fuIds": idstr
    }
    if(params.zhuId == "" || fuIds == ""){
    	alert('请配置,选择主单位及其可视单位');
    	return ;
    }
	
	$.ajax({
		async:false,
		type: "post",
		url: getRootPath()+"/shareData/save",
		dataType:"json",
		data:params,
		success: function(data, textStatus){
			alert(data.success);
			$.fn.zTree.init($("#treeFu"), settingFu, zNodesZhu);//让副树还原
			$.fn.zTree.init($("#tree"), setting, zNodesZhu);//让副树还原
			$("#afterModify").empty();   
			$("#beforeModify").empty(); 
			$("#zhuId").val("");
			$("#beforeDeptSpan").text("");
			$("#afterDeptSpan").text("");
		}
    });
}

function getFont(treeId, node) {
	return node.font ? node.font : {};
}
function setFontCss(treeId, treeNode) {
	if(treeNode){
		return  {color:"red"};
	}
};
//主树点击一个单位后,更新副树的数据
function updateFuShu(treeNode){
	$("#treeFu").empty();
	$.fn.zTree.init(zTreeFu, settingFu, zNodesZhu);        //初始化副树
}
//主树动态加载设置
function fillTheTable(data,tbodyId){
	$(tbodyId).empty();
	var str;
	for(var i=0; i<data.length; i++){
		str += '<tr><td>' + data[i].name + '</td><td>' +  data[i].gridName + '</td></tr>'
	}
		$(tbodyId).append(str);
}

分享到:
评论

相关推荐

    jQuery源码 jQuery源码 jQuery源码

    jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码...

    jquery插件库(jquery.treeview插件库)

    jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....

    jquery-3.7.0.min.js(jQuery下载)

    jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...

    jquery-3.4.1_jquery_3.4.1.js_jquery-3.4.1_sangat1_jquery3.4.1_jq

    "jquery-3.4.1_sangat1_jquery3.4.1"可能指的是一个特定的项目或者命名约定,"sangat1"可能是项目名或者是个人开发者的名字,而"jquery3.4.1"是jQuery库的另一种写法,它们都指向同一种资源——jQuery 3.4.1。...

    jQuery基础.pptx

    JavaScript+jQuery 网页特效设计 jQuery(3.4.1)基础 1 jQuery简介 jQuery优势 jQuery安装 jQuery语法 1、jQuery简介 1.1 学习jQuery之前,需要以下基础知识 HTML CSS JavaScript 1、jQuery简介 1.2 什么是jQuery? ...

    jquery-3.3.1.js和jquery-3.3.1.min.js

    jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-...

    jQuery1.12.4+jQuery中文手册.rar

    **jQuery 1.12.4 知识点详解** jQuery 是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在本压缩包中,我们有两个版本的jQuery核心库文件:`jquery-1.12.4.js` 和 `jquery...

    最新版JQuery-jquery-3.2.1.min.js

    在本文中,我们将深入探讨最新版的jQuery,即`jquery-3.2.1.min.js`,以及该版本中的一些变化。** ### 1. jQuery 3.x 版本概述 jQuery 3.x 系列是继1.x和2.x后的又一重大更新,它主要关注性能优化、API清理以及对...

    jquery插件库大全(200个).zip

    jquery插件库大全(200个): jqueryQQ表情插件 jquery下拉菜单导航 jquery下拉菜单栏 jquery仿Windows系统选中图标效果 jquery仿京东商品详情页图片放大效果 jquery仿百度新闻焦点轮播 jquery分离布局模版 jquery...

    JavaScript_JQuery_CSS_CSS_DIV漂亮的实例123个

    1. 2款jQuery图片自动切换常用广告代码 2. jquery+css五屏焦点图淡入淡出+圆形按钮切换广告图片代码 3. jQuery+CSS实用图片收缩与放大效果插件 4. jquery+div实现同时滑动切换的图文展示特效插件下载 5. ...

    Jquery多选下拉列表插件jquery multiselect

    **jQuery Multiselect插件详解** 在网页开发中,我们经常需要处理用户的选择操作,特别是当选项较多时,传统的HTML `&lt;select&gt;` 元素显得不够友好。为此,jQuery提供了一个强大的多选下拉列表插件——jQuery ...

    jquery-1.11.0+jquery-UI-1.10.4

    《jQuery 1.11.0与jQuery UI 1.10.4:经典组合的深度解析》 在Web开发领域,jQuery与jQuery UI是两个不可或缺的重要库,它们极大地简化了JavaScript的DOM操作和用户界面设计。本篇将深入探讨jQuery 1.11.0与jQuery ...

    开发工具 jquery-1.11.3.min

    开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-...

    开发工具 jquery.dataTables.min

    开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery....

    前端+jQuery+实现烟花特效

    前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+...

    Java Web Jquery表单验证

    编写基于Jquery的表单验证插件 Java Web Jquery表单验证 jQuery是一个流行的JavaScript库,可用于在网页上进行各种操作,包括表单验证。 1、将基于Jquery的表单验证的调查问卷分为四个部分:FrontPage.html、write....

    [jQuery实战第二版].pdf

    ### jQuery实战第二版知识点概述 #### 一、书籍基本信息与评价 - **书籍名称**:《jQuery实战第二版》(jQuery in Action, Second Edition) - **作者**:Bear Bibeault 和 Yehuda Katz - **出版商**:MANNING - **...

    jQuery.mmenu-jquery.mobile最好看的侧边菜单

    **jQuery.mmenu与jQuery Mobile:打造最佳侧边菜单** jQuery.mmenu是一款强大的JavaScript插件,专为构建响应式、交互式的侧边菜单而设计。它与jQuery Mobile框架结合使用,可以创造出用户界面(UI)中最具吸引力的...

    jquery-2.1.1.js 、jquery-2.1.1.min.js 【jquery包 js】

    《jQuery 2.1.1:JavaScript 的强大库》 jQuery 是一个广泛应用于网页开发的JavaScript库,它的出现极大地简化了JavaScript的复杂性,使得网页交互变得更加简单和高效。在这个主题中,我们将深入探讨jQuery 2.1.1...

    jquery1.7中文手册CHM文档(附jquery1.82chm手册)

    资源名称:jquery1.7 中文手册 CHM文档(附jquery1.82 chm手册)内容简介:因国内jquery中文手册更新太慢了,等了一段时间实在等不下去了,干脆自己动手做一个丰衣足食,时刻更新. 最后感谢Shawphy提供1.4.1版,jehn提供...

Global site tag (gtag.js) - Google Analytics