/** * Created by lenovo on 2016/5/20. */ var tree = { zTree: '', pNode: '', init: { initEvent: { initRMenu: function () { $("#rMenu").hover(function () {//设置进入右键菜单事件 // tree.bindClick($("#r_addFolder"),function(){ // tree.addFolder(); // }); tree.bindClick($("#r_addNode"), function () { tree.addNode(); }); tree.bindClick($("#r_updateNode"), function () { tree.updateNode(); }); tree.bindClick($("#r_deleteNode"), function () { tree.deleteNode(); }); }, function () {//设置离开右键菜单事件 tree.hideItem(); }); } } }, showRightMenu: function (postionJson) { $("#rMenu").css({//设置右键菜单的位置 top: postionJson.y - 10 + "px", left: postionJson.x - 10 + "px", display: "block" }); tree.showItem(["#r_addNode", "#r_updateNode", "#r_deleteNode"]); tree.init.initEvent.initRMenu();//加载菜单选项的事件 }, showItem: function (itemArray) {//显示某些域 for (var i = 0; i < itemArray.length; i++) { $(itemArray[i]).show(); } }, hideItem: function (itemArray) {//隐藏某些域 if (itemArray == undefined) {//如果为传入值,则禁用缺省的域 tree.hideItem(["#rMenu", "#r_addNode", "#r_updateNode", "#r_deleteNode"]); } for (var i = 0; i < itemArray.length; i++) { $(itemArray[i]).hide(); } }, addNode: function () {//添加节点,将id作为隐藏信息,放到模态框 $("#treeParentId").text(tree.pNode["id"]); //清空之前的值 $("#featureName").val(""); $("#memo").val(""); $("#treeNodeId").val(""); $("#parentName").children().remove(); $("#parentName").append("<div>当前节点为:"+tree.pNode["name"]+"</div>"); $('#newFeature').modal('show'); }, updateNode: function () {//更新节点-修改节点名称 $.ajax({ type: "POST", url: $('#context').val() + "/feature/getFeatureById.do", data: {"id": tree.pNode["id"]}, dataType: "json", success: function (r) { //获取面的列表,将下拉列表初始化 if (r.data) { $("#treeNodeId").text(tree.pNode["id"]); $("#treeParentId").text(r.data.parentId); $("#featureName").val(r.data.featureName); $("#memo").val(r.data.memo); $('#newFeature').modal('show'); } }, error: function (request) { //提示错误信息 alert(r.message); } }); }, deleteNode: function () {//删除节点 if (window.confirm("如果有子节点则不能删除,请确认!")) { // var parentNode = tree.zTree.getNodeByParam("id", tree.pNode.pid);//获取父节点对象 // tree.zTree.removeNode(tree.pNode);//移除节点 // parentNode.isParent = true;//设置父节点为文件夹节点 // tree.zTree.refresh(); $.ajax({ type: "POST", url: $('#context').val() + "/feature/delete.do", dataType: "json", data: {"id": tree.pNode.id}, success: function (data) { var jData = eval(data); if (jData.success == true) { alert("删除成功"); //刷新页面 location.href = $('#context').val() + "/content/org/org.jsp"; } alert(jData.message); }, error: function (request) { alert("删除失败"); } }); } }, createNodeId: function () {//动态生成节点id。生成策略:在父节点id后追加递增数字 var nodes = tree.zTree.getNodesByParam("pid", tree.pNode.id); if (nodes.length == 0) {//生成id的算法 return tree.pNode.id + "1"; } else { return nodes[nodes.length - 1].id + 1; } }, bindClick: function (obj, fn) {//绑定click事件 obj.unbind("click"); obj.bind("click", fn); } };