1.树形图调整

This commit is contained in:
wr
2024-04-23 13:25:56 +08:00
parent ac39b8c0ce
commit 50efa0ab3c
2 changed files with 203 additions and 260 deletions

View File

@@ -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"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<div id="father"
style="width: 280px; float: left; height: 100%; margin-top: 5px">
style="width: 280px; float: left; height: 100%; margin-top: 5px">
<div class="has-feedback" style="width: 100%;">
<form class="form-inline" style="padding-top: 5px;padding-bottom: 5px;">
<label style="font-size: 12px;font-weight: 500;">分类方式:</label>
@@ -32,7 +32,7 @@
<%-- </button>--%>
<%-- <button type="button" id="resetB"--%>
<%-- class="btn-primary"--%>
<%-- onclick=""--%>
<%-- onclick="resetTree()"--%>
<%-- style="padding: 0 5px; height: 25px; width: 55px; border-radius: 4px; border: 1px solid;display:none;">--%>
<%-- <i class="glyphicon glyphicon-refresh"></i>重置--%>
<%-- </button>--%>

View File

@@ -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 = $("<option value='4'>"
+ name + "</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 = $("<option value='4'>"
+ name + "</option>");
$('#datatype').append(option);
}
})
}
})
}