From 50efa0ab3c111479fb949d8b2aaa95485c0d1ed8 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Tue, 23 Apr 2024 13:25:56 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=A0=91=E5=BD=A2=E5=9B=BE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/views/include/deviceTree.jsp | 8 +- .../src/main/webapp/jspJS/utils/deviceTree.js | 455 ++++++++---------- 2 files changed, 203 insertions(+), 260 deletions(-) diff --git a/pqs9000/src/main/webapp/WEB-INF/views/include/deviceTree.jsp b/pqs9000/src/main/webapp/WEB-INF/views/include/deviceTree.jsp index c26b0e7..a472b98 100644 --- a/pqs9000/src/main/webapp/WEB-INF/views/include/deviceTree.jsp +++ b/pqs9000/src/main/webapp/WEB-INF/views/include/deviceTree.jsp @@ -1,12 +1,12 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> + pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%> + href="${ctx}/css/plugin/metroStyle/metroStyle.css">
+ style="width: 280px; float: left; height: 100%; margin-top: 5px">
@@ -32,7 +32,7 @@ <%-- --%> <%-- --%> diff --git a/pqs9000/src/main/webapp/jspJS/utils/deviceTree.js b/pqs9000/src/main/webapp/jspJS/utils/deviceTree.js index ba15dad..27450d4 100644 --- a/pqs9000/src/main/webapp/jspJS/utils/deviceTree.js +++ b/pqs9000/src/main/webapp/jspJS/utils/deviceTree.js @@ -74,7 +74,7 @@ function pointSelected() { var gdname = nodes[0].getParentNode().getParentNode().getParentNode(); $('#pointInfo').text( - '所选监测点:' + gdname.name + '->' + bdname.name + '->' + nodes[0].name); + '所选监测点:' + gdname.name + '->' + bdname.name + '->' + nodes[0].name); var line_index = nodes[0].nodeIndex; $("#lineIndex").val(line_index); @@ -128,7 +128,7 @@ function zTreeOnAsyncSuccess() { var devname = childNodes[i].getParentNode(); var bdname = childNodes[i].getParentNode().getParentNode(); var gdname = childNodes[i].getParentNode().getParentNode() - .getParentNode(); + .getParentNode(); zTree.expandNode(gdname, true); zTree.expandNode(bdname, true); @@ -136,7 +136,7 @@ function zTreeOnAsyncSuccess() { zTree.expandNode(childNodes[i], true); $('#pointInfo').text( - '所选监测点:'+ gdname.name + '->' + bdname.name + '->' + childNodes[i].name); + '所选监测点:'+ gdname.name + '->' + bdname.name + '->' + childNodes[i].name); var line_index = childNodes[i].nodeIndex; $("#lineIndex").val(line_index); @@ -214,12 +214,12 @@ function onVerify() { closeHigh(); - if (limitMax > 0 && arrPoint.length > limitMax) { - if (arrVerify.length == 0) { - zTree.checkAllNodes(false); - } else { - for (var i = 0; i < arr.length; i++) { - var index = $.inArray(arr[i], arrVerify); + if (limitMax > 0 && arrPoint.length > limitMax) { + if (arrVerify.length == 0) { + zTree.checkAllNodes(false); + } else { + for (var i = 0; i < arr.length; i++) { + var index = $.inArray(arr[i], arrVerify); if (index === -1) { zTree.checkNode(arr[i], false, false); @@ -275,161 +275,103 @@ function closeHigh() { // 模糊搜索name满足条件的节点 function searchNode(value) { - // if (value == ""){ - // resetTree() - // return; - // } + var hiddenNodes = []; + var ztreeObj = $.fn.zTree.getZTreeObj("tree"); + var keyword=$("#search_value").val(); + //显示上次搜索后隐藏的结点,注意:使用hideNodes()方法时需要引包jquery.ztree.exhide-3.5.min.js + //ztreeObj.showNodes(hiddenNodes); + //获取不符合条件的子父结点 + hiddenNodes=ztreeObj.getNodesByFilter(filterFunc); + //隐藏不符合条件的子父结点,注意:使用hideNodes()方法时需要引包jquery.ztree.exhide-3.5.min.js + ztreeObj.hideNodes(hiddenNodes); + var treeObj = $.fn.zTree.getZTreeObj("tree"); - var allNodes = treeObj.getNodes(); - treeObj.hideNodes(allNodes); var nodes = treeObj.getNodesByParamFuzzy("name", value);// 获取搜索的节点 closeHigh(); - treeObj.expandAll(false);// 展开第一层节点 - treeObj.expandNode(treeObj.getNodes()[0], true); - // 高亮并展开搜索到的节点 for (var i = 0; i < nodes.length; i++) { - if(nodes[i].nodeType == 5){ - treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode()); - treeObj.showNode(nodes[i]); - }else if(nodes[i].nodeType == 4){ - treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode()); - treeObj.showNode(nodes[i]); - treeObj.showNode(nodes[i].children); - }else if(nodes[i].nodeType == 3){ - var a = nodes[i].getParentNode().getParentNode().getParentNode(); - treeObj.showNode(nodes[i].getParentNode().getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode()); - treeObj.showNode(nodes[i]); - treeObj.showNode(nodes[i].children); - }else if(nodes[i].nodeType == 2){ - treeObj.showNode(nodes[i].getParentNode().getParentNode()); - treeObj.showNode(nodes[i].getParentNode()); - treeObj.showNode(nodes[i]); - treeObj.showNode(nodes[i].children); - }else if(nodes[i].nodeType == 1){ - treeObj.showNode(nodes[i].getParentNode()); - treeObj.showNode(nodes[i]); - treeObj.showNode(nodes[i].children); - }else if(nodes[i].nodeType == 0){ - treeObj.showNode(nodes[i]); - treeObj.showNode(nodes[i].children); + nodes[i].highlight = true; + treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效 + if(nodes[i].nodeType == 3){ + treeObj.expandNode(nodes[i], true); + }else { + treeObj.expandNode(nodes[i].getParentNode(), true); } - nodes[i].highlight = true; - treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效 - treeObj.expandNode(nodes[i].getParentNode(), true); - } - - var hiddenNodes = []; - var ztreeObj = $.fn.zTree.getZTreeObj("tree"); - var keyword=$("#search_value").val(); - //显示上次搜索后隐藏的结点,注意:使用hideNodes()方法时需要引包jquery.ztree.exhide-3.5.min.js - //ztreeObj.showNodes(hiddenNodes); - //获取不符合条件的子父结点 - hiddenNodes=ztreeObj.getNodesByFilter(filterFunc); - //隐藏不符合条件的子父结点,注意:使用hideNodes()方法时需要引包jquery.ztree.exhide-3.5.min.js - ztreeObj.hideNodes(hiddenNodes); - - var treeObj = $.fn.zTree.getZTreeObj("tree"); - var nodes = treeObj.getNodesByParamFuzzy("name", value);// 获取搜索的节点 - - closeHigh(); - - treeObj.expandAll(false);// 展开第一层节点 - treeObj.expandNode(treeObj.getNodes()[0], true); - - // 高亮并展开搜索到的节点 - for (var i = 0; i < nodes.length; i++) { - nodes[i].highlight = true; - treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效 - treeObj.expandNode(nodes[i].getParentNode(), true); } treeObj.selectNode(nodes[0]); -// treeObj.expandAll(true); - - // $("#serchB").css("display", "none"); - // $("#resetB").css("display", ""); } /** * 查找子结点,如果匹配模糊查询的关键字则返回false,否则返回true */ function searchChildren(pNode,keyword){ - var childs=pNode.children; - var isexit=true; + var childs=pNode.children; + var isexit=true; - for(var i = 0;i < childs.length;i++){ - if(childs[i].name.indexOf(keyword)!=-1){ - return false; - } - } - for(var i = 0;i < childs.length;i++){ - if(childs[i].isParent){ - isexit=searchChildren(childs[i],keyword); - if(!isexit){ - return isexit; - } - }else{ - if(childs[i].name.indexOf(keyword)!=-1){ - return false; - } - } - } - return isexit; + for(var i = 0;i < childs.length;i++){ + if(childs[i].name.indexOf(keyword)!=-1){ + return false; + } + } + for(var i = 0;i < childs.length;i++){ + if(childs[i].isParent){ + isexit=searchChildren(childs[i],keyword); + if(!isexit){ + return isexit; + } + }else{ + if(childs[i].name.indexOf(keyword)!=-1){ + return false; + } + } + } + return isexit; } function searchParent(pNode,keyword){ - var parent=pNode.getParentNode(); - var isexit=true; - if(parent.name.indexOf(keyword)!=-1){ + var parent=pNode.getParentNode(); + var isexit=true; + if(parent.name.indexOf(keyword)!=-1){ return false; } if(parent.getParentNode()){ - isexit=searchParent(parent,keyword); - if(!isexit){ - return isexit; - } - }else{ - if(parent.name.indexOf(keyword)!=-1){ - return false; - } - } - return isexit; + isexit=searchParent(parent,keyword); + if(!isexit){ + return isexit; + } + }else{ + if(parent.name.indexOf(keyword)!=-1){ + return false; + } + } + return isexit; } - //查找不符合条件的结点 - //返回true表示需要隐藏,返回false表示不需要隐藏 。 - function filterFunc(node){ - var keyword=$("#search_value").val(); - //如果当前结点或其子节点匹配模糊查询的关键字,则该结点不隐藏 - if(node.name.indexOf(keyword)!=-1){ - return false; - } - if(node.isParent){ - var b=searchChildren(node,keyword); - if(!b){ - return b; - } - } - if(node.getParentNode() !=null){ - var b=searchParent(node,keyword); - if(!b){ - return b; - } - } - return true; - } +//查找不符合条件的结点 +//返回true表示需要隐藏,返回false表示不需要隐藏 。 +function filterFunc(node){ + var keyword=$("#search_value").val(); + //如果当前结点或其子节点匹配模糊查询的关键字,则该结点不隐藏 + if(node.name.indexOf(keyword)!=-1){ + return false; + } + if(node.isParent){ + var b=searchChildren(node,keyword); + if(!b){ + return b; + } + } + if(node.getParentNode() !=null){ + var b=searchParent(node,keyword); + if(!b){ + return b; + } + } + return true; +} /******************************************************************************* * zTree操作deviceTree代码段结束 @@ -471,6 +413,7 @@ function valueChange(value) { closeHigh(); resetTree(); }else{ + initTree(treeAllData); searchNode(value); } } @@ -484,47 +427,47 @@ $(function() { if (path.indexOf("monitor") != -1 || path.indexOf("expmodel") != -1) { setting = { - check : { - enable : true, - nocheckInherit : true - }, - data : { - simpleData : { - enable : true - } - }, - view : { - fontCss : setHighlight, // 高亮一定要设置,setHighlight是自定义方法 - addDiyDom : addDiyDom - }, - callback : { - onCheck : onVerify, - beforeCheck : doVerify, - onClick : pointSelected, - beforeClick: beforeClick + check : { + enable : true, + nocheckInherit : true + }, + data : { + simpleData : { + enable : true } - }; + }, + view : { + fontCss : setHighlight, // 高亮一定要设置,setHighlight是自定义方法 + addDiyDom : addDiyDom + }, + callback : { + onCheck : onVerify, + beforeCheck : doVerify, + onClick : pointSelected, + beforeClick: beforeClick + } + }; getNodeData(0); } else { setting = { - check : { - enable : true, - nocheckInherit : true - }, - data : { - simpleData : { - enable : true - } - }, - view : { - fontCss : setHighlight // 高亮一定要设置,setHighlight是自定义方法 - }, - callback : { - onCheck : onVerify, - beforeCheck : doVerify, - onClick : pointSelected + check : { + enable : true, + nocheckInherit : true + }, + data : { + simpleData : { + enable : true } - }; + }, + view : { + fontCss : setHighlight // 高亮一定要设置,setHighlight是自定义方法 + }, + callback : { + onCheck : onVerify, + beforeCheck : doVerify, + onClick : pointSelected + } + }; initDiv(); getData(); triggerCheckBox(2); @@ -549,34 +492,34 @@ function resetTree(){ if(path.indexOf("monitor") != -1 || path.indexOf("expmodel") != -1){ zTreeOnAsyncSuccess(); }else if(path.indexOf("percent") != -1){ - triggerCheckBox(1); - setTreeSelected(1, 10); + triggerCheckBox(1); + setTreeSelected(1, 10); }else if(path.indexOf("normlimit") != -1){ triggerCheckBox(2); setTreeSelected(2, 1); - triggerCheckBox(1); - setTreeSelected(1, -1); + triggerCheckBox(1); + setTreeSelected(1, -1); }else{ triggerCheckBox(2); setTreeSelected(2, 1); } - $("#serchB").css("display", ""); - $("#resetB").css("display", "none"); + $("#serchB").css("display", ""); + $("#resetB").css("display", "none"); } function initDiv() { document.getElementById("tree").style.height = document .getElementById("father").offsetHeight - - document.getElementById("search").offsetHeight - 5 + "px"; + - document.getElementById("search").offsetHeight - 5 + "px"; } // 数据库获取终端树数据 function getNodeData(type) { document.getElementById("search_value").value = ""; - $("#serchB").css("display", ""); - $("#resetB").css("display", "none"); + $("#serchB").css("display", ""); + $("#resetB").css("display", "none"); var endTime = getEndTime(); var startTime = getStartTime("月份", endTime); $.ajax({ @@ -584,9 +527,9 @@ function getNodeData(type) { type : "post", async : true, dataType : "json", - beforeSend: function () { - i = ityzl_SHOW_LOAD_LAYER(); - }, + beforeSend: function () { + i = ityzl_SHOW_LOAD_LAYER(); + }, data : { startTime : startTime, endTime : endTime @@ -603,17 +546,17 @@ function getNodeData(type) { triggerCheckBox(2); setTreeSelected(2, 1); }else if(type ==2){ - triggerCheckBox(1); - setTreeSelected(1, 10); + triggerCheckBox(1); + setTreeSelected(1, 10); }else if(type ==3){ triggerCheckBox(2); setTreeSelected(2, 1); - triggerCheckBox(1); - setTreeSelected(1, -1); + triggerCheckBox(1); + setTreeSelected(1, -1); } } - ityzl_CLOSE_LOAD_LAYER(i); + ityzl_CLOSE_LOAD_LAYER(i); } }); } @@ -621,8 +564,8 @@ function getNodeData(type) { //数据库获取厂家终端树数据 function getmancTree(type) { document.getElementById("search_value").value = ""; - $("#serchB").css("display", ""); - $("#resetB").css("display", "none"); + $("#serchB").css("display", ""); + $("#resetB").css("display", "none"); var endTime = getEndTime(); var startTime = getStartTime("月份", endTime); @@ -631,9 +574,9 @@ function getmancTree(type) { type : "post", async : true, dataType : "json", - beforeSend: function () { - i = ityzl_SHOW_LOAD_LAYER(); - }, + beforeSend: function () { + i = ityzl_SHOW_LOAD_LAYER(); + }, data : { startTime : startTime, endTime : endTime @@ -650,17 +593,17 @@ function getmancTree(type) { triggerCheckBox(2); setTreeSelected(2, 1); }else if(type ==2){ - triggerCheckBox(1); - setTreeSelected(1, 10); + triggerCheckBox(1); + setTreeSelected(1, 10); }else if(type ==3){ triggerCheckBox(2); setTreeSelected(2, 1); - triggerCheckBox(1); - setTreeSelected(1, -1); + triggerCheckBox(1); + setTreeSelected(1, -1); } } - ityzl_CLOSE_LOAD_LAYER(i); + ityzl_CLOSE_LOAD_LAYER(i); } }); } @@ -668,8 +611,8 @@ function getmancTree(type) { //数据库获取电压等级终端树数据 function getscaleTree(type) { document.getElementById("search_value").value = ""; - $("#serchB").css("display", ""); - $("#resetB").css("display", "none"); + $("#serchB").css("display", ""); + $("#resetB").css("display", "none"); var endTime = getEndTime(); var startTime = getStartTime("月份", endTime); @@ -678,9 +621,9 @@ function getscaleTree(type) { type : "post", async : true, dataType : "json", - beforeSend: function () { - i = ityzl_SHOW_LOAD_LAYER(); - }, + beforeSend: function () { + i = ityzl_SHOW_LOAD_LAYER(); + }, data : { startTime : startTime, endTime : endTime @@ -697,18 +640,18 @@ function getscaleTree(type) { triggerCheckBox(2); setTreeSelected(2, 1); }else if(type ==2){ - triggerCheckBox(1); - setTreeSelected(1, 10); + triggerCheckBox(1); + setTreeSelected(1, 10); }else if(type ==3){ triggerCheckBox(2); setTreeSelected(2, 1); - triggerCheckBox(1); - setTreeSelected(1, -1); + triggerCheckBox(1); + setTreeSelected(1, -1); } } - ityzl_CLOSE_LOAD_LAYER(i); + ityzl_CLOSE_LOAD_LAYER(i); } }); } @@ -716,8 +659,8 @@ function getscaleTree(type) { //数据库获取干扰源类型终端树数据 function getloadTypeTree(type) { document.getElementById("search_value").value = ""; - $("#serchB").css("display", ""); - $("#resetB").css("display", "none"); + $("#serchB").css("display", ""); + $("#resetB").css("display", "none"); var endTime = getEndTime(); var startTime = getStartTime("月份", endTime); @@ -726,9 +669,9 @@ function getloadTypeTree(type) { type : "post", async : true, dataType : "json", - beforeSend: function () { - i = ityzl_SHOW_LOAD_LAYER(); - }, + beforeSend: function () { + i = ityzl_SHOW_LOAD_LAYER(); + }, data : { startTime : startTime, endTime : endTime @@ -745,17 +688,17 @@ function getloadTypeTree(type) { triggerCheckBox(2); setTreeSelected(2, 1); }else if(type ==2){ - triggerCheckBox(1); - setTreeSelected(1, 10); + triggerCheckBox(1); + setTreeSelected(1, 10); }else if(type ==3){ triggerCheckBox(2); setTreeSelected(2, 1); - triggerCheckBox(1); - setTreeSelected(1, -1); + triggerCheckBox(1); + setTreeSelected(1, -1); } } - ityzl_CLOSE_LOAD_LAYER(i); + ityzl_CLOSE_LOAD_LAYER(i); } }); } @@ -763,8 +706,8 @@ function getloadTypeTree(type) { //数据库获取监测点性质终端树数据 function getmonitorTree(type) { document.getElementById("search_value").value = ""; - $("#serchB").css("display", ""); - $("#resetB").css("display", "none"); + $("#serchB").css("display", ""); + $("#resetB").css("display", "none"); var endTime = getEndTime(); var startTime = getStartTime("月份", endTime); @@ -773,9 +716,9 @@ function getmonitorTree(type) { type : "post", async : true, dataType : "json", - beforeSend: function () { - i = ityzl_SHOW_LOAD_LAYER(); - }, + beforeSend: function () { + i = ityzl_SHOW_LOAD_LAYER(); + }, data : { startTime : startTime, endTime : endTime @@ -792,17 +735,17 @@ function getmonitorTree(type) { triggerCheckBox(2); setTreeSelected(2, 1); }else if(type ==2){ - triggerCheckBox(1); - setTreeSelected(1, 10); + triggerCheckBox(1); + setTreeSelected(1, 10); }else if(type ==3){ triggerCheckBox(2); setTreeSelected(2, 1); - triggerCheckBox(1); - setTreeSelected(1, -1); + triggerCheckBox(1); + setTreeSelected(1, -1); } } - ityzl_CLOSE_LOAD_LAYER(i); + ityzl_CLOSE_LOAD_LAYER(i); } }); } @@ -929,16 +872,16 @@ function triggerCheckBox(type) { * 初始化终端树时,设置其选中状态 如果传入的参数<=0,则全选 type-1:复选框 type-2:无复选框 ******************************************************************************/ function setTreeSelected(type, selectNumber) { - var count = 0; - //selectNumber = selectNumber <= 0 ? 1 : selectNumber; - limitMax = selectNumber; + var count = 0; + //selectNumber = selectNumber <= 0 ? 1 : selectNumber; + limitMax = selectNumber; - if (selectNumber < 0) { - return; - } + if (selectNumber < 0) { + return; + } - var zTree = $.fn.zTree.getZTreeObj("tree"); - var nodes = zTree.transformToArray(zTree.getNodes()); + var zTree = $.fn.zTree.getZTreeObj("tree"); + var nodes = zTree.transformToArray(zTree.getNodes()); for (var i = 0; i < nodes.length; i++) { if (nodes[i].level == 4) { @@ -952,11 +895,11 @@ function setTreeSelected(type, selectNumber) { zTree.updateNode(nodes[i]); // 更新节点,让高亮生效 count++; - if (selectNumber > 0 && count == selectNumber) { - break; - } - } - } + if (selectNumber > 0 && count == selectNumber) { + break; + } + } + } } // 初始化终端树 @@ -1036,17 +979,17 @@ function initTree(treeData) { function getMonitorType(){ $.ajax({ - type: "POST", - url: "/pqs9000/theme/getThemeInfo", - async: false, - data: {}, - dataType: 'json', - success: function (data) { - var name = data.body.name + "上报"; - loadColor = data.body.value; - var option = $(""); + type: "POST", + url: "/pqs9000/theme/getThemeInfo", + async: false, + data: {}, + dataType: 'json', + success: function (data) { + var name = data.body.name + "上报"; + loadColor = data.body.value; + var option = $(""); $('#datatype').append(option); - } - }) + } + }) }