This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nms-nmsweb/WebRoot/page/show/showMap.jsp

270 lines
10 KiB
Plaintext
Raw Normal View History

2018-09-27 16:21:05 +08:00
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="/jstl/c"%>
<%@ taglib prefix="fn" uri="/jstl/fn"%>
<%@ taglib prefix="fmt" uri="/jstl/fmt"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>i18n_sm.message.title_n81i</title>
<script type="text/javascript" src="<%=path%>/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="<%=path%>/js/jquery.processing.plugin.js"></script>
<script type="text/javascript" src="<%=path%>/js/ui/jquery-ui.min.js"></script>
<script src="<%=path %>/js/jquery.topology-2.0.js"></script>
<script src="<%=path %>/js/jquery.contextmenu.r2.js"></script>
<link href="<%=path%>/css/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css"></link>
<link href="<%=path%>/css/show/topology.css" rel="stylesheet" type="text/css"></link>
<script type="text/javascript">
jQuery(function(){
$(document).progressDialog.showDialog("i18n_sm.message.loading_n81i...");
});
</script>
</head>
<body oncontextmenu="event.returnValue=false">
<div id="border_Div">
<div id="board" class="board">
<!-- 图片修改窗口 -->
<div id="imageBox" class="imageBox">
<div id="imgList">
</div>
<span style="vertical-align:bottom;float: right;"><input type='button' value='i18n_sm.button.ok_n81i' id="apply" /><input type='button' value='i18n_sm.button.cancle_n81i' id="cancel" /></span>
</div>
<!-- 右侧菜单列表 -->
<div style="position: absolute; height: 100%; right: 0;">
<div id="rightMenuFlag"
style="float: left;width: 20px;text-align: center;">
<img src="<%=path%>/images/show/anniu_1.png" border="0" />
</div>
<ul id="rightMenuContent"
style="width: 150px; height: 50%;list-style-type: none;margin:0px;display: none;"
class="menucenter">
</ul>
</div>
<!-- 操作信息窗口 -->
<div id="action_info" class="actionInfo">
</div>
<input type="hidden" id="gid" value="${groupId }"/>
<input type="hidden" id="sysNpId" value="${sysPositionId }"/>
<input id= "del_Npids" type="hidden" value=""/>
<input id= "del_Nodeids" type="hidden" value=""/>
</div>
</div>
<script >
jQuery(function(){
//加载"修改图片" 用图片url
jQuery.post("<%=path %>/nodePosition/nodePosition.do?action=loadImg",
{},function(data){
if(data.length>0){
$.each(data, function(i, imgUrl) {
var thisSrc = "<%=path%>"+imgUrl;
var $icon = $("<img border='0' width = '24' height = '24' onclick='javaScript:mouseclickF()' checkVal='0' onmouseout='javaScript:mouseoutF(this)' onmouseover='javaScript:mouseoverF(this)'/>");
$icon.attr('src',thisSrc).attr('style','margin: 1px');
$("#imgList").append($icon);
});
}
});
//发送请求,载入节点及关联关系
$('#board').editTopology("<%=path %>/nodePosition/nodePosition.do?action=getIconModules");
//新右键菜单
$('#board').contextMenu('menu1',{
onShowMenu: function(e,menu){
//获取触发点的图标对象
var $a_obj = $(e.srcElement).closest('A');
if($a_obj.size()>0){ //存在保存
$('#board').data('active_obj',$a_obj);
}
//事件对象判断
var $Obj = $(e.srcElement);
if($a_obj.size()>0 ){//当前对象是图标
$("li[ltype!='node']",menu).hide();
var data = $a_obj.data('data');
if(data.nodeType == 'system'){//要是系统先把删除干掉
$("li[ltype='node'][lvalue='del']",menu).hide();
$("li[ltype='node'][lvalue='1']",menu).hide();
}else{
if(data.id == '0'){//先保存再就行节点组机柜编辑
$("ul li[ltype!='normal'][lvalue='1']",menu).hide();
}else if(data.viewType == '1'){//节点组
//$("li[lvalue]",menu).hide();
$("li[ltype='node'][lvalue='1']",menu).show();
}
}
}else if($Obj[0].tagName == 'DIV' && $Obj.attr('divType') == 'line'){//线
//$("ul li[ltype!='line']",menu).hide();
$("ul[id='menuList']",menu).hide();
}else{//桌面
$("ul li[ltype!='normal']",menu).hide();
}
return menu;
},
bindings : {
save : function(){//保存操作
if($("#del_Npids").val()!=""){
var resu = deleteNode("<%=path %>/nodePosition/nodePosition.do?action=deleteNodes",$('#del_Npids').val(),$('#del_Nodeids').val());
if(resu==true){
saveNode("<%=path %>/nodePosition/nodePosition.do?action=updateNodes",0);
}
}else{
saveNode("<%=path %>/nodePosition/nodePosition.do?action=updateNodes",0);
}
},
reset : function(){//页面重置
document.location.reload();
},
link : function(){//开始创建关联关系
$('#board').data('action_flag',true);//事件标志对象——开始
var $fromNode = $('#board').data('active_obj');
var nl1 = $fromNode.data('data');
if(!nl1){alert("i18n_sm.message.data_n81i");return;}
var node_id1 = $fromNode.data('node_id');
$("#action_info").html("<input type='button' value='i18n_sm.button.cancle_n81i' id='exitLink'><br/>i18n_sm.message.actionInfo_n81i<br/>"+ nl1.nodeName).show();
$("#board A[divType='node']").bind('click',function(){if($('#board').data('action_flag'))addLinkInPage(); else return; });
$("#exitLink").live('click',function(){
$('#board').data('action_flag',false);//事件标志对象——结束
$("#action_info").hide();
});
},
//cancel : function(){//取消关联
// $('#board').data('action_flag',false);//事件标志对象——结束
// $("#action_info").hide();
//},
unLink : function(){//删除关联关系或节点
//var nodesSize = $("a[divType='node'][active='1']").size();
//var lineSize = $("div[divType='line'][active='1'][id*='_x_']").size();
deleteNodesInPage(0);
//deleteLinesInPage(0);
},
changeImg : function(){//修改图标、图片
$("#imageBox").show(function(){
var $icon = $('#board').data('active_obj');
var nl = $icon.data('data');
var nodePosition ={top: nl.positionY+70,left: nl.positionX+70};
$(this).css('top',nodePosition.top+'px').css('left',nodePosition.left+'px');
}).find("#apply").click(function(){
var $icon = $('#board').data('active_obj');
var nsrc = $("#imageBox img[checkVal='1']").attr('src');
$icon.find('img').attr("src",nsrc);
var nl = $icon.data('data');
nl.imageUrl = nsrc;
$icon.data('data',nl);
$("#imageBox").hide();
});
$("#imageBox #cancel").click(function(){
$("#imageBox").hide();
});
},
openTopology : function(){ //打开拓扑页面
var icon = $('#board').data('active_obj');
var data=icon.data("data");
//alert(data.nodeId);
//$("#gid").value=data.nodeId;
var url;
if(data.childNum >0){//有子节点组
url = "<%=path %>/nodePosition/nodePosition.do?action=getChildNg&gid="+data.nodeId+"&npGroupId="+data.id+"&from=edit";
}else{
url = "<%=path %>/nodePosition/nodePosition.do?action=editMap&gid="+data.nodeId+"&npGroupId="+data.id;
}
url = encodeURI(url);
url = encodeURI(url);
window.location.href=url;
}
}
});
//右边菜单
var $content=$("#rightMenuContent");
var initWidth=$content.width();
//菜单触发事件(隐藏、显示右边菜单)
$("#rightMenuFlag").click(function(){
$content.stop(true,true);
if(!$content.is(":hidden")){
$content.children().hide();
$content.animate({width:0},function(){$(this).hide()});
}else{
$content.show().animate({width:initWidth},function(){
$(this).children().fadeIn(300);
})
}
});
//从桌面拖到菜单事件
$content.droppable({
greedy : true,
drop:function(event,ui){
var icon=ui.draggable;
if(icon[0].tagName=='A' || icon[0].tagName=='SPAN'){
icon.fadeOut(300,function(){
//创建列表节点并保存信息
var data=icon.data("data");
var node_id=icon.data("node_id");
$content.createLiNode(node_id,data);
//$("#"+node_id).draggable({
// cursorAt : {cursor :"move"},
// revert:false
//});
//删除桌面展示关系线
$('#board').find("div[divType='line'][id*='"+node_id+"']").attr('action','delete').hide();
icon.hide(500,function(){
icon.remove();
});
});
}else{
}
}
});
//从菜单拖到桌面事件
$('#board').droppable({
greedy : true,
drop:function(event,ui){
//添加桌面展示图标
var icon=ui.draggable;
//alert(icon[0].tagName);
if(icon[0].tagName=='LI' || icon[0].tagName=='SPAN'){
var node_id = icon.data("node_id");
$('#board').createIconNode(node_id,icon.data("data"));
$("a[divType='node'][id='"+node_id+"']")
.attr('action','update')
.css('top',(event.clientY>10 ? (event.clientY-10) : 1)+'px')
.css('left',(event.clientX>10 ? (event.clientX-10) : 1)+'px');
$("a[divType='node'][id='"+node_id+"']").bind('move',function(){
$(this).attr('action','update').resetLine();
});
window.setTimeout(function(){$("a[divType='node'][id='"+node_id+"']").trigger('move')},100);
//删除列表节点并保存信息
icon.hide(500,function(){
icon.remove();
});
}
}
})
})
</script>
<div id='menu1'style="display: none;">
<ul id='menuList'>
<li id='save' ltype='normal'>i18n_sm.menu.save_n81i</li>
<li id='reset' ltype='normal'>i18n_sm.menu.reset_n81i</li>
<li id='unLink' ltype='line'>i18n_sm.menu.unLink_n81i</li>
<li id='link' ltype='node'>i18n_sm.menu.link_n81i</li>
<!-- <li id='cancel' ltype='node'>取消操作</li> -->
<li id='unLink' ltype='node' lvalue='del'>i18n_sm.menu.unNode_n81i</li>
<li id='changeImg' ltype='node'>i18n_sm.menu.changeImg_n81i</li>
<li id='openTopology' ltype='node' lvalue='1'>i18n_sm.menu.openTopology_n81i</li>
</ul>
</div>
</body>
</html>