diff --git a/src/main/webapp/WEB-INF/views/sys/tagTreeselect.jsp b/src/main/webapp/WEB-INF/views/sys/tagTreeselect.jsp index 4c40ec3ee..ddaf71ee9 100644 --- a/src/main/webapp/WEB-INF/views/sys/tagTreeselect.jsp +++ b/src/main/webapp/WEB-INF/views/sys/tagTreeselect.jsp @@ -17,22 +17,21 @@ addHoverDom: addHoverDom, removeHoverDom: removeHoverDom, selectedMulti:false, - dblClickExpand:false + dblClickExpand:false, + addDiyDom:addDiyDom }, edit: { enable: true, - showRemoveBtn: showRemoveBtn, - showRenameBtn: showRenameBtn, - removeTitle: "remove", - renameTitle: "rename", + showRemoveBtn: false, + showRenameBtn: false }, check:{enable:"${checked}",chkboxType: { "Y" : "${checkedPS}", "N" : "${unCheckedPS}" },nocheckInherit:true}, async:{enable:(type==6),url:"${ctx}/sys/user/treeData",autoParam:["id=officeId"]}, data:{simpleData:{enable:true}}, callback:{ - beforeEditName:beforeEditName, + beforeEditName:false, beforeRename:beforeRename, - beforeRemove:beforeRemove, + beforeRemove:false, //beforeClick: function(treeId, treeNode){ //if("${checked}" == "true"){ //tree.checkNode(treeNode, !node.checked, true, true); @@ -59,7 +58,7 @@ //$("input[type='text']", top.mainFrame.document).focus();// }, onRename:onRename, - onRemove:onRemove + onRemove:false } }; function expandNodes(nodes) { @@ -99,11 +98,25 @@ tree.updateNode(nodes[i],false); } } + /* if(nodes[i].user&&nodes[i].user=="${userId}"){ + nodes[i].icon="${pageContext.request.contextPath}/static/global/plugins/jquery-ztree/3.5.12/css/zTreeStyle/img/diy/5.png"; + tree.updateNode(nodes[i],false); + } */ } nodes=tree.getNodesByParam("level", 0); for(var i=0; i" + treeNode.name + "?"); - } + } */ function beforeRename(treeId, treeNode, newName) { var zTree = $.fn.zTree.getZTreeObj("tree"); if (newName.length == 0) { @@ -244,9 +257,9 @@ } return true; } - function beforeRemove(treeId, treeNode, newName) { + /* function beforeRemove(treeId, treeNode) { return confirm(" " + treeNode.name + "?"); - } + } */ //在重命名节点时,调用后台存储,将返回结果更新 function onRename(e, treeId, treeNode) { loading("..."); @@ -274,14 +287,20 @@ var zTree = $.fn.zTree.getZTreeObj("tree"); zTree.updateNode(treeNode); closeTip(); + }, + complete:function(XMLHttpRequest,status){//发生异常,关闭遮罩层 + if(status !="success"){ + closeTip(); + } } }); } - function onRemove(e, treeId, treeNode) { + /* function onRemove(e, treeId, treeNode) { loading("..."); if(typeof treeNode=="string"){ var zTree = $.fn.zTree.getZTreeObj("tree"); - zTree.removeNode(treeNode,true); + zTree.removeNode(treeNode,false); + closeTip(); }else{ $.ajax({ type:'post', @@ -296,16 +315,24 @@ success:function(data){ if(data){ var zTree = $.fn.zTree.getZTreeObj("tree"); - zTree.removeNode(treeNode,false); + var pId=treeNode.parentTId; + try{zTree.removeNode(treeNode,false);}catch(e){} + var node = tree.getNodeByTId(pId); + if(node){ + if(!node.isParent){//强制改变没有子节点的特定服务业务类型为父节点,让其改变样式 + node.isParent=true; + tree.updateNode(node,false); + } + } } closeTip(); } }); } - } + } */ //用户只能rename自己添加的节点 - function showRenameBtn(treeId, treeNode) { + /* function showRenameBtn(treeId, treeNode) { if(treeNode.isParent){ return false; } @@ -314,9 +341,9 @@ }else{ return false; } - } + } */ //用户只能remove自己添加的节点 - function showRemoveBtn(treeId, treeNode) { + /* function showRemoveBtn(treeId, treeNode) { if(treeNode.isParent){ return false; } @@ -325,44 +352,123 @@ }else{ return false; } - } + } */ //只有在配置了enableAddBtn的界面上才会显示添加按钮 function addHoverDom(treeId, treeNode) { //开启节点增加 if("${enableAddBtn}"&&"${enableAddBtn}"=="true"){ - //根节点不需要增加节点 - if(treeNode.pId==null||(treeNode.businessType&&treeNode.businessType!=-1)){ - return; + if(treeNode.isParent){ + //根节点不需要增加节点 + if(treeNode.pId==null||(treeNode.businessType&&treeNode.businessType!=-1)){ + return; + } + var sObj = $("#" + treeNode.tId + "_span"); + if (treeNode.editNameFlag || $("#addBtn_"+treeNode.id).length>0) return; + var title=" "; + var addStr = ""; + sObj.after(addStr); + var btn = $("#addBtn_"+treeNode.id); + if (btn){ + btn.bind("click", function(){ + //区别人工添加,在ID前加上manual + var id="manual"+new Date().getTime(); + var zTree = $.fn.zTree.getZTreeObj("tree"); //addSelectedNode + zTree.addNodes(treeNode, {id:id, pId:treeNode.id,parentTId:treeNode.tId, name:" ", + businessType:treeNode.id.replace("businessType",""),user:"${userId}",serviceType:treeNode.serviceType,groupId:"", + serviceCode:""}); + var node = zTree.getNodeByParam("id", id,treeNode); + if(node){ + zTree.updateNode(node); + zTree.editName(node); + } + return; + }); + } } - var sObj = $("#" + treeNode.tId + "_span"); - if (treeNode.editNameFlag || $("#addBtn_"+treeNode.id).length>0) return; - var title=" "; - var addStr = ""; - sObj.after(addStr); - var btn = $("#addBtn_"+treeNode.id); - if (btn){ - btn.bind("click", function(){ - //区别人工添加,在ID前加上manual - var id="manual"+new Date().getTime(); - var zTree = $.fn.zTree.getZTreeObj("tree"); //addSelectedNode - zTree.addNodes(treeNode, {id:id, pId:treeNode.id, name:" ", - businessType:treeNode.id.replace("businessType",""),user:"${userId}",serviceType:treeNode.serviceType,groupId:"", - serviceCode:""}); - var node = zTree.getNodeByParam("id", id,treeNode); - if(node){ - zTree.updateNode(node); - zTree.editName(node); - } - - return false; - }); - } } }; function removeHoverDom(treeId, treeNode) { - $("#addBtn_"+treeNode.id).unbind().remove(); + if("${enableAddBtn}"&&"${enableAddBtn}"=="true"){ + if(treeNode.isParent){ + $("#addBtn_"+treeNode.id).unbind().remove(); + } + } }; + function addDiyDom(treeId, treeNode){ + if (treeNode.parentNode) return; + if("${enableAddBtn}"&&"${enableAddBtn}"=="true"&&treeNode.user&&treeNode.user=="${userId}"){ + if(treeNode.tId){ + var aBtn=$("#"+treeNode.tId+"_a"); + var editStr = ""+"' treenode_edit'>"; + var removeStr = ""+"' treenode_remove'>"; + aBtn.append(editStr); + aBtn.append(removeStr); + //添加重命名按钮绑定事件 + var editBtn = $("#"+treeNode.tId+"_editBtn"); + if(editBtn){ + editBtn.bind("click", function(){ + var zTree = $.fn.zTree.getZTreeObj("tree"); + //替代beforeEditName + if(confirm("" + treeNode.name + "?")){ + zTree.editName(treeNode); + } + return; + }); + } + //添加移除按钮绑定事件 + var removeBtn = $("#"+treeNode.tId+"_removeBtn"); + if(removeBtn){ + removeBtn.bind("click", function(){ + var zTree = $.fn.zTree.getZTreeObj("tree"); + var pId=treeNode.parentTId; + //替代beforeRemoveName + if(confirm(" " + treeNode.name + "?")){ + loading("..."); + if(typeof treeNode=="string"){ + zTree.removeNode(treeNode,false); + var node = tree.getNodeByTId(pId); + if(node){ + if(!node.isParent){//强制改变没有子节点的特定服务业务类型为父节点,让其改变样式 + node.isParent=true; + tree.updateNode(node,false); + } + } + closeTip(); + }else{ + $.ajax({ + type:'post', + async:true, + cache:false, + url:'${ctx}/specific/specificServiceCfg/ajaxRemoveApp', + data:{ + "specServiceId":treeNode.id + }, + //dataType:"json", + //contentType:"application/json; charset=utf-8", + success:function(data){ + if(data){ + zTree.removeNode(treeNode,false); + //修复父节点下没有子节点的时候其图标变成非文件夹 + var node = tree.getNodeByTId(pId); + if(node){ + if(!node.isParent){ + node.isParent=true; + tree.updateNode(node,false); + } + } + } + closeTip(); + } + }); + } + } + return; + }); + } + } + } + }