initial commit

This commit is contained in:
chenjinsong
2018-09-27 16:21:05 +08:00
commit dc91c4c987
2011 changed files with 408920 additions and 0 deletions

View File

@@ -0,0 +1,176 @@
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="/jstl/c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<!-- 弹出对话框 -->
<link href="<c:url value='/css/nms.css'/>" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery-1.4.2.min.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/onmouse.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery.suggest.js'/>"></script>
<script src="<c:url value='/js/ui/jquery-ui.min.js'/>"></script>
<link rel="stylesheet" href="<c:url value='/css/themes/base/jquery.ui.all.css'/>" />
</head>
<script language="javascript" type="text/javascript">
$(function() {
$( "#downloadDialog" ).dialog({
autoOpen: true,
minWidth: 240,
modal: true,
//隐藏右上角的关闭按钮以下2行
closeOnEscape:false,
open:function(event,ui){$(".ui-dialog-titlebar-close").hide();},
resizable:false//大小固定
});
});
function toConfigDevice(){
var seqId = jQuery("select[id=seqId] option:selected").val();
var deviceBrandCode = jQuery("select[id=deviceBrandCode] option:selected").val();
var deviceBrandTypeCode = jQuery("select[id=deviceBrandTypeCode] option:selected").val();
var maxDevNum = jQuery("select[id=maxDevNum] option:selected").val();//最大叠加数
if(isBlank(maxDevNum)) {
maxDevNum = 1;
}
if(isNotBlankAndTip(seqId,"i18n_snadt.message.seqId_n81i","seqId")&&isNotBlankAndTip(deviceBrandCode,"i18n_snadt.message.deviceBrandCode_n81i","deviceBrandCode")&&isNotBlankAndTip(deviceBrandTypeCode,"i18n_snadt.message.deviceBrandTypeCode_n81i","deviceBrandTypeCode")) {
document.toConfigDevForm.action="<%=path%>/detection/switchDetection.do?action=configSpecialDevice&seqId="+seqId+"&deviceBrandCode="+deviceBrandCode+"&deviceBrandTypeCode="+deviceBrandTypeCode+"&maxDevNum="+maxDevNum;
document.toConfigDevForm.submit();
}
}
function isNotBlankAndTip(obj,tip,id) {
if(obj!="" && obj!=null && obj!='undefined') {
jQuery("#"+id).next().html('*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
return true;
}else {
jQuery("#"+id).next().html(tip);
return false;
}
}
function isNotBlank(obj) {
if(obj!="" && obj!=null && obj!='undefined') {
return true;
}else {
return false;
}
}
function isBlank(obj) {
if(obj=="" || obj==null || obj=='undefined') {
return true;
}else {
return false;
}
}
//选择品牌时,型号为当前品牌下的型号
function changeDevBrand() {
jQuery("select[id='deviceBrandTypeCode']").empty();
var selecVal = jQuery("select[id='deviceBrandCode'] option:selected").val();
if(isNotBlank(selecVal)) {
jQuery("select[id='deviceBrandTypeCode']").append('<option value="" >i18n_snadt.message.selectDefault_n81i</option>');
<c:forEach items="${deviceBrandTypeList}" var="brandType" >
if('${brandType.deviceRandCode}'==selecVal) {
var htmlStr = '<option value="${brandType.deviceTypeCode}" >${brandType.deviceTypeCode}</option>';
jQuery("select[id='deviceBrandTypeCode']").append(htmlStr);
}
</c:forEach>
jQuery("#devBradnType").show();
}else {
jQuery("#devBradnType").hide();
}
jQuery("#maxDevNumDiv").hide();
}
//选择设备型号时如果最大叠加数大于1则显示选择叠加数否则不显示
function changeMaxDevNum() {
jQuery("select[id='maxDevNum']").empty();//清空叠加数
var selecVal = jQuery("select[id='deviceBrandTypeCode'] option:selected").val();//选中的型号
if(isNotBlank(selecVal)) {
var seleTypeMaxDevNum = 1;
<c:forEach items="${deviceBrandTypeList}" var="brandType" >
if('${brandType.deviceTypeCode}'==selecVal) {
seleTypeMaxDevNum = '${brandType.maxDeviceNum}';
}
</c:forEach>
jQuery("select[id='maxDevNum']").append('<option value="" >i18n_snadt.message.selectDefault_n81i</option>');
if(seleTypeMaxDevNum>1) {
for(var i=1;i<=seleTypeMaxDevNum;i++) {
var htmlStr = '<option value="'+i+'" >'+i+'</option>';
jQuery("select[id='maxDevNum']").append(htmlStr);
}
jQuery("#maxDevNumDiv").show();
}else {
jQuery("#maxDevNumDiv").hide();
}
}else {
jQuery("#maxDevNumDiv").hide();
}
}
</script>
<body>
<form id="toConfigDevForm" action="<%=path%>/detection/switchDetection.do?action=toConfigSpecialDevice" name="toConfigDevForm" method="post">
<div id="downloadDialog" style="display: none;font-size:14px;margin-top:10px;" title="i18n_snadt.message.selectDefault_n81i" align="center">
<div style="font-size: 12px;">
i18n_snadt.text.seqId_n81i<select id="seqId" name="" style="width: 100px;">
<option value="" >i18n_snadt.message.selectDefault_n81i</option>
<c:forEach items="${switcheNodeList}" var="switchNode" >
<option value="${switchNode[1]}" >${switchNode[0]}</option>
</c:forEach>
</select><font color="red">*</font>
<br/><br/>
i18n_snadt.text.deviceBrandCode_n81i<select id="deviceBrandCode" name="" style="width: 100px;" onchange="changeDevBrand();">
<option value="" >i18n_snadt.message.selectDefault_n81i</option>
<c:forEach items="${deviceBrandList}" var="brand" >
<option value="${brand[0]}" >${brand[1]}</option>
</c:forEach>
</select><font color="red">*</font>
<br/><br/>
<div id="devBradnType" style="display: none;">
i18n_snadt.text.deviceBrandTypeCode_n81i<select id="deviceBrandTypeCode" name="" style="width: 100px;" onchange="changeMaxDevNum();">
<option value="" >i18n_snadt.message.selectDefault_n81i</option>
</select><font color="red">*</font>
<div id="maxDevNumDiv" style="display: none;">
<br/>
i18n_snadt.text.maxDevNum_n81i<select id="maxDevNum" name="" style="width: 100px;">
<option value="" >i18n_snadt.message.selectDefault_n81i</option>
</select><font color="red"></font>
</div>
</div>
</div>
<div style="font-size: 12px;margin-top: 10px;" align="center">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="toConfigDevice()" value="i18n_snadt.button.ok_n81i"/>
</div>
</div>
</form>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,945 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="nis.nms.bean.SwitchPortInfo"%>
<%@page import="nis.nms.util.MyNumberFormat"%>
<%@page import="java.math.BigDecimal"%>
<%@page import="nis.nms.bean.DiSystem"%>
<%@ taglib uri="/jstl/c" prefix="c"%>
<%@ taglib uri="/jstl/fn" prefix="fn"%>
<%@ taglib uri="/jstl/fmt" prefix="fmt"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="prama" content="no-cache" />
<meta http-equiv="cache-content" content="no-cache" />
<meta http-equiv="expires" content="0" />
<title>i18n_sdigp.message.title_n81i</title>
<link href="<c:url value='/css/nms.css'/>" rel="stylesheet"
type="text/css" />
<link href="<%=path%>/css/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css"></link>
<link href="<%=path%>/css/themes/base/jquery.ui.css" rel="stylesheet" type="text/css"></link>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery-1.4.2.min.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/js/ui/jquery-ui.min.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery.tools.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/js/Highcharts-2.2.1/highcharts.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/WebCalendar.js' />"></script>
</head>
<script language="javascript" type="text/javascript">
document.onmousemove = function (a) {//鼠标移动
if (!a) a = window.event; //移动时创建一个事件
jQuery("#indexStr2").val(a.clientX+","+a.clientY);
}
//每次打开的时候判断picId是否为空非空则执行点击事件
$(function() {
/*
1.第一次进入:只显示系统基础信息
2.自动刷新进入时(之前可能点击了系统或者端口):之前的系统基础信息和端口信息的伸缩状态要保持不变
queryParConditionDisplay和queryChildConditionDisplay元素的值变化的时间点击图片时
以下方法不会改变以上两个元素的值
如果原来是收缩状态,点击端口和系统时,仍然收缩:这样不对,应该伸开
*/
if('${pid}'=='0') {//顶级设备:点击了系统(此时可能有端口信息,可能处于伸开或者收缩状态)--此时端口信息不会有所以不用管queryChildConditionDisplay的状态
if('${queryParConditionDisplay}'=='') {//伸开,第一次进入走这
toClose('queryChildCondition','openAndCloseChildImgSrc');
//toOpen('queryParCondition','openAndCloseParImgSrc');
document.getElementById("queryChildConditionDisplay").value="none";
}else if('${queryParConditionDisplay}'=='none') {//收缩
//toClose('queryParCondition','openAndCloseParImgSrc');
//toOpen('queryChildCondition','openAndCloseChildImgSrc');
//jQuery("#queryChildConditionDisplay").attr('display','');
}
}else if('${isLeaf}'=='1') {//叶子设备:点击了端口--此时系统信息一定有(伸开或者收缩着)
if('${queryChildConditionDisplay}'=='') {//点击端口时,如果之前系统信息是打开的,则要关闭系统信息
toClose('queryParCondition','openAndCloseParImgSrc');
//toOpen('queryChildCondition','openAndCloseChildImgSrc');
document.getElementById("queryParConditionDisplay").value="none";
}else if('${queryChildConditionDisplay}'=='none') {
//toClose('queryChildCondition','openAndCloseChildImgSrc');
if('${queryParConditionDisplay}'=='') {
//toOpen('queryParCondition','openAndCloseParImgSrc');
}else if('${queryParConditionDisplay}'=='none') {//收缩
//toClose('queryParCondition','openAndCloseParImgSrc');
}
}
}
if('${picId}'!='') {//点击端口的折线图后,定时刷新
jQuery("#${picId}").trigger('click');//
}
//刷新时,滚动条的位置不变
if(${bodyScrollTop!='0'}) {
document.body.scrollTop = ${bodyScrollTop};
}
$('<embed src="<%=basePath %>/page/detection" quality="high" name="powerMap" pluginspage="http://www.adobe.com/svg/viewer/install" type="image/svg+xml" width="520" height="100%" wmode="transparent" style="overflow-y:scroll; "></embed>').appendTo('#player');
$('#player').html('');
$('<embed src="<%=basePath %>/page/detection/switchInfo/${svgName}" quality="high" name="powerMap" pluginspage="http://www.adobe.com/svg/viewer/install" type="image/svg+xml" width="520" height="100%" wmode="transparent" style="overflow-y:scroll; "></embed>').appendTo('#player');
});
window.onscroll=function() {
if(${devScrollHeight=='0'}) {//devScrollHeight可能为98%
return false;
}else if(document.body.scrollTop>=${devScrollHeight}){
return false;
}
document.getElementById("bodyScrollTop").value = document.body.scrollTop;
var oip = document.getElementById("oip");
oip.style.top = document.body.scrollTop +50;
var backBut = document.getElementById("backBut");
backBut.style.top = document.body.scrollTop +2;
}
function goBack(){
//document.location = "<%=path%>/detection/switchDetection.do?action=query";
document.form3.action ="<%=path%>/detection/switchDetection.do?action=query";
document.form3.submit();
}
function detailPortInfo(nameFlag,pid,isLeaf,id) {
//只有isLeaf=1的节点才会有连接有链接的才会执行此方法所以下面的pid==0 || isLeaf==1条件可以没有但是为了防止将来的变化此条件先保留
if(pid==0 || isLeaf==1) {//顶级设备+叶子设备
//获取单击端口的坐标
document.getElementById("picId").value = "";
document.getElementById("nameFlag").value = nameFlag;
document.getElementById("pid").value = pid;
document.getElementById("isLeaf").value = isLeaf;
//以下两个句的作用??:点击端口的时候,要打开端口页面,系统信息页面伸缩状态不变(原则是只能打开一个列表,此操作由页面加载的时候完成)
document.getElementById("queryChildConditionDisplay").value="";
//document.getElementById("queryParConditionDisplay").value="";
var url = "<%=path%>/detection/switchDetection.do?action=detailPortInfo&clickPortId="+id;
document.portForm.action=url;
document.portForm.submit();
}
}
function autoSubmit() {
var url="<%=path%>/detection/switchDetection.do?action=switchDetectInfoGraph";
document.portForm.action=url;
document.portForm.submit();
}
setTimeout('autoSubmit();',300000);//300000:5分钟自动提交一次
function hasElem(id) {
var obj = document.getElementById(id);
if(obj!='undefined' && obj!=null) {
return true;
}else {
return false;
}
}
function toOpen(conditionId,imgSrcId) {
var queryCondition = document.getElementById(conditionId);
var openAndCloseImg = document.getElementById(imgSrcId);
if(hasElem(conditionId) && hasElem(imgSrcId)) {
open(queryCondition,openAndCloseImg);
}
}
function open(queryCondition, img) {
queryCondition.style.display = "";
img.src = "<%=basePath %>images/open.gif";
return;
}
function toClose(conditionId,imgSrcId) {
var queryCondition = document.getElementById(conditionId);
var openAndCloseImg = document.getElementById(imgSrcId);
if(hasElem(conditionId) && hasElem(imgSrcId)) {
close(queryCondition,openAndCloseImg);
}
}
function close(queryCondition, img) {
queryCondition.style.display = "none";
img.src = "<%=basePath %>images/close.gif";
return;
}
/*
点击图片时的操作:
对conditionId进行伸缩替换imgSrcId图片:
如果进行的是伸开则将conditionOtherId收缩替换imgSrcOtherId图片
如果进行的是收缩,则无操作
flagId:本身的伸缩标志,用于定时刷新时,伸缩状态不发生改变
otherFlagId另一个的伸缩标志如果flagId是伸开则otherFlagId要收缩
*/
function toOpenAndFlex(conditionId,imgSrcId,conditionOtherId,imgSrcOtherId,flagId,otherFlagId){
var queryCondition = document.getElementById(conditionId);
var openAndCloseImg = document.getElementById(imgSrcId);
if(hasElem(conditionId) && hasElem(imgSrcId)) {
openAndFlex(queryCondition,openAndCloseImg,conditionOtherId,imgSrcOtherId,flagId,otherFlagId);
}
}
toOpenAndFlex('queryParCondition','openAndCloseParImgSrc','queryChildCondition','openAndCloseChildImgSrc','queryParConditionDisplay','queryChildConditionDisplay')
toOpenAndFlex('queryChildCondition','openAndCloseChildImgSrc','queryParCondition','openAndCloseParImgSrc','queryChildConditionDisplay','queryParConditionDisplay')
/*
对queryCondition进行伸缩替换img图片:
如果进行的是伸开则将otherContionId收缩替换otherImgId图片
如果进行的是收缩,则无操作
*/
function openAndFlex(queryCondition, img, otherContionId, otherImgId,flagId,otherFlagId) {
//open
if (queryCondition.style.display == "none") {
//close other
var otherContion = document.getElementById(otherContionId);
var otherImg = document.getElementById(otherImgId);
if(hasElem(otherContionId) && hasElem(otherImgId)) {
document.getElementById(otherFlagId).value="none";
toClose(otherContionId,otherImgId);
}
//折线图宽度问题占不了100%:点击端口折线图后,查看告警异常信息列表后返回,点击端口信息时
if('${picId}'!='') {//点击顶级设备时清空picId点击叶子设备时清空picId
jQuery("#tabs-1").html('');//清空加载页面时产生的折线图因为此折线图显示的样式不对宽度不为100%),所以此处再次点击,显示的折线图正常
jQuery("#${picId}").trigger('click');//??
}
//obj.innerText = "\u6536\u7f29";
document.getElementById(flagId).value="";
img.src = "<%=basePath %>images/open.gif";
queryCondition.style.display = "";
return;
}
//close
if (queryCondition.style.display == "") {
//obj.innerText = "打开?";//\u5c55\u5f00
queryCondition.style.display = "none";
document.getElementById(flagId).value="none";
img.src = "<%=basePath %>images/close.gif";
return;
}
}
//查询告警列表
function toWarningList() {
var url = "<%=path%>/detection/monitorData.do?action=queryAbnormalSet&entry=switch&cip=${ip}";
document.portForm.action=url;
document.portForm.submit();
}
var chartObj;
var seriesOptions = [];
var policeValue;
var xtilte="";
var ytitle="";
function qryPic() {
var queryCondition = document.getElementById("queryChildCondition");
if(queryCondition.style.display == ""){
var picId = document.getElementById("picIdFlag").value;
}
document.getElementById("picIdFlag").value = picId;
if(picId!='') {//点击顶级设备时清空picId点击叶子设备时清空picId
jQuery("#"+picId).trigger('click');
}
}
function qryPicXt() {
var queryCondition1 = document.getElementById("queryParCondition");
if(queryCondition1.style.display == ""){
var picId = document.getElementById("picIdXtFlag").value;
}
document.getElementById("picIdXtFlag").value = picId;
if(picId!='') {//点击顶级设备时清空picId点击叶子设备时清空picId
jQuery("#"+picId).trigger('click');
}
}
function getPicScorce(dataType,drwTo,dataDesc,unit,numberFormat,id){
if(unit!='' && unit!=null && unit!=undefined) {
unit = "("+unit+")";
}
document.getElementById("picId").value = id;
document.getElementById("picIdFlag").value = id;
var urlTmp = "<%=path%>/detection/switchDetection!getSource.do?dataType="+dataType+"&dataDesc="+dataDesc+"&unit="+unit+"&seqId=${seqId}&detectId=${detectId}&nameFlag=${nameFlag}&ip=${ip}&startTime="+$("#startTime").val();//+"&endTime="+$("#endTime").val();
var urlTmp = encodeURI(urlTmp);
$.ajax( {
url : urlTmp,
type : "POST",
dataType : "json",
success : function(datas) {
if(datas!=null && datas.length>0){
document.getElementById("startTime").value = datas[0].startTime;
}
if(datas!=null && datas.length>1){
//document.getElementById("endTime").value = datas[0].endTime;
xtitle = datas[1].xtitle;//折线图标题
ytitle = datas[1].ytitle;
policeValue = datas[1].policeVal;
var lines = datas[1].lines;
seriesOptions = [];
if(lines[0].data==null || lines[0].data.length==0){// 针对丢包数,仅显示一条折线
seriesOptions[0] = {
name: lines[2].name,
data: lines[2].data,
type: 'line'
};
} else {// 针对bps\pps显示一条step线和点
seriesOptions[0] = {
name: lines[0].name,
data: lines[0].data,
type: 'line',
step: true,
color: '#0CF223'
};
seriesOptions[1] = {
name: lines[1].name,
data: lines[1].data,
type: 'scatter',
color : '#0896E9'
};
}
var tab="tabs-1";
createChart(policeValue,drwTo,numberFormat,unit,tab);
}else{
$("#tabs-1").empty();
$("#tabs-1").append('i18n_sdigp.message.noData_n81i');
}
}
})
jQuery("#portInfoPic").show();
}
function getPicSystemScorce(dataType,drwTo,dataDesc,unit,numberFormat,id){
if(unit!='' && unit!=null && unit!=undefined) {
unit = "("+unit+")";
}
document.getElementById("picId").value = id;
document.getElementById("picIdXtFlag").value = id;
var urlTmp = "<%=path%>/detection/switchDetection!getSystemSource.do?dataType="+dataType+"&dataDesc="+dataDesc+"&unit="+unit+"&seqId=${seqId}&detectId=${detectId}&nameFlag=${nameFlag}&ip=${ip}&startTimeXt="+$("#startTimeXt").val();//+"&endTime="+$("#endTime").val();
var urlTmp = encodeURI(urlTmp);
$.ajax( {
url : urlTmp,
type : "POST",
dataType : "json",
success : function(datas) {
if(datas!=null && datas.length>0){
document.getElementById("startTimeXt").value = datas[0].startTimeXt;
}
if(datas!=null && datas.length>1){
//document.getElementById("endTime").value = datas[0].endTime;
xtitle = datas[1].xtitle;//折线图标题
ytitle = datas[1].ytitle;
policeValue = datas[1].policeVal;
var lines = datas[1].lines;
seriesOptions = [];
if(lines[0].data==null || lines[0].data.length==0){// 针对丢包数,仅显示一条折线
seriesOptions[0] = {
name: lines[2].name,
data: lines[2].data,
type: 'line'
};
} else {// 针对bps\pps显示一条step线和点
seriesOptions[0] = {
name: lines[0].name,
data: lines[0].data,
type: 'line',
step: true,
color: '#0CF223'
};
seriesOptions[1] = {
name: lines[1].name,
data: lines[1].data,
type: 'scatter',
color : '#0896E9'
};
}
var tab="tabs-2";
createChart(policeValue,drwTo,numberFormat,unit,tab);
}else{
$("#tabs-2").empty();
$("#tabs-2").append('i18n_sdigp.message.noData_n81i');
}
}
})
jQuery("#portInfoPicXt").show();
}
function createChart(policeNum,dto,numberFormat,unit,tab) {
if(numberFormat==undefined||numberFormat==null) {
numberFormat=0;//数字保留几位小数
}
chartObj = new Highcharts.Chart(//Highcharts.Chart只显示一个图Highcharts.StockChart显示2个图一个总图一个部分图
{
chart : {
renderTo : tab,//显示折线图的div的id
zoomType : 'x',//图像可以x轴方向缩放
resetZoomButton: {
position: {//resetRoomButton的位置
align: 'right',
x: -10,
//verticalAlign: 'top',
y: -30
}
// relativeTo: 'plot'
},
showAxes : true,
spacingRight : 20,
defaultSeriesType : 'line',//显示折线图的样式area区域显示line显示线
borderWidth: 1//整个图的边宽
},
navigator: {
height: 50,
margin: 50,
outlineColor: '#E0E0E0',
outlineWidth: 2,
xAxis: {
type : 'datetime',
labels: {
align: 'left',
x: 3,
y: -4
},
dateTimeLabelFormats: {
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M',
hour: '%Y-%m-%d %H:%M',
day: '%Y-%m-%d',
week: '%Y-%m-%d',
month: '%Y-%m',
year: '%Y'
}
}
},
/*rangeSelector: {//右上方选择显示日期范围内的数据
buttons: [],
inputEnabled:true,
inputDateFormat:'%Y-%m-%d'
},*/
title : {
text : xtitle//折线图标题
},
subtitle : {
text : ''//这是副标题内容
},
xAxis : {
type : 'datetime',
//maxZoom : 1000 * 60 * 60 * 24 *14,
//startOfWeek: 50,
labels : {
rotation : 20,
y : 20,
x : 20
},
dateTimeLabelFormats: {
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M',
hour: '%Y-%m-%d %H:%M',
day: '%Y-%m-%d',
week: '%Y-%m-%d',
month: '%Y-%m',
year: '%Y'
}
},
yAxis : {
title : {
text : ytitle//左侧标题
},
min:0,//设置y轴的最小值
minorTickInterval: 'auto'/*,
plotLines: [{
value: policeValue,
width: 2,
color: '#F24C52',
dashStyle: 'dash',
label: {
text: '警戒线:('+policeNum+')',
align: 'right',
y: 8,
x: 0
}
}],
plotBands: [{
from: 80,
to: 100,
color: '#F24C52'
}]*/
},
tooltip : {
borderColor : "#374E94",
backgroundColor : {
linearGradient : [ 0, 0, 0, 60 ],
stops : [ [ 0, '#FFFFFF' ], [ 1, '#E0E0E0' ] ]
},
borderWidth : 1,
shared : true,
crosshairs : {
width : 1,
color : 'red'
},
formatter : function() {
var s = Highcharts.dateFormat("%Y-%m-%d %H:%M",
this.x) + ' [';
$.each(this.points, function(i, point) {
s += '<span style="color:#374E94">'
+ point.series.name
+ ':</span><span style="font-weight: bold;color:#F24C52">'
+ Highcharts.numberFormat(point.y,numberFormat) + unit +'</span> ';//当鼠标放到一个点上时显示的y值
});
s = $.trim(s) + "]";
return s;
}
},
plotOptions:{
line:{
lineWidth : 1,
marker: {
radius: 1,//????????
states: {
hover: {
radius: 3
}
}
},
dashStyle: 'solid'
},
area : {
fillColor : {
//linearGradient : [ 0, 0, 0, 200 ],
//stops : [ [ 0, "#F24C52" ], [ 1, 'rgba(255,0,0,0)' ] ]
linearGradient : [ 0, 0, 30, 250 ],
stops : [ [ 0, "#0896E9" ], [ 1, 'rgba(0,157,145,0)' ] ]
},
fillOpacity: 0.08,
lineWidth : 1,
shadow : true,
marker: {
radius: 3,
states: {
hover: {
radius: 5
}
}
}
},
column: {
grouping: false,
shadow: false,
pointPlacement: 'between',
groupPadding: 0,
pointPadding: 0,
borderWidth: 0,
color: '#0CF223'
},
scatter:{
marker: {
radius: 2,
states: {
hover: {
radius: 3
}
},
symbol: 'circle'
}
}
},
exporting : {
buttons : {
exportButton : {
enabled : false
}
}
},
legend: {
enabled: false//不显示折线下发的图标(多条线时,点击可隐藏或者显示折线)
},
series : seriesOptions,//显示的数据
credits: {
enabled: false,
text: 'i18n_sdigp.message.updateTheMarker_n81i'
}
});
Highcharts.setOptions( {
global : {
useUTC : false
}
});
}
function doSvgFun(){
//给生成的svg划线
var clickPortId = "${clickPortId}";//获取单击的端口id
var emSvg = document.getElementById('emSvg');
svgDoc = emSvg.getSVGDocument();
if(svgDoc == null) return ;
svgWnd = svgDoc.svgWnd ; //这个window对象是在svg的初始化里面添加进去的
svgWnd.showSelect(clickPortId) ; //调用svg里的js函数
}
</script>
<body style="overflow-y: scroll;" onload="doSvgFun()">
<form name=form3 id="frmArticleType"
action="<c:url value='/detection/switchDetection.do?action=query'/>" method="post" enctype="multipart/form-data">
<input type="hidden" name="typeids" value="${typeids[0]}"/>
<input type="hidden" name="ctn" id="ctn" value="${ctn }" />
<input type="hidden" name="networElementType" id="networElementType" value="${networElementType }" />
<!-- 来源于拓扑图 begin -->
<input type="hidden" name="requestType" value="${requestType }" />
<input type="hidden" name="nodeGroupId" value="${nodeGroupId }" />
<input type="hidden" name="nodeIp" value="${nodeIp }" />
<!-- 来源于拓扑图 end -->
<div id="divTop" >
<div id="backBut" class="box_2" style="position: absolute; top: body.scrollTop+2; left: 95%;">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="goBack()" value="i18n_sdigp.button.back_n81i"/>
&nbsp;
<input id="indexStr2" type="hidden" />
</div>
</div>
</form>
<div style="margin:10px;width: 98%;height: ${devHeightSum};min-width:1000px;" >
<div style="width:500px;float:left;">
<embed src="<c:url value='/page/detection/switchInfo/${svgName}' />"
quality="high" name="powerMap"
pluginspage="http://www.adobe.com/svg/viewer/install"
type="image/svg+xml" width="520" height="100%" wmode="transparent"
style="overflow-y:scroll; " id="emSvg">
</embed>
</div>
<div style="width:45%;margin-left:550px;margin-top:50px;">
<form action="<%=path%>/detection/switchDetection.do?action=switchDetectInfoGraph" name="portForm" method="post">
<input type="hidden" name="deviceTypeCode" value="${deviceTypeCode }" />
<input type="hidden" name="svgName" value="${svgName }" />
<input type="hidden" name="dataCheckTime" value="${dataCheckTime }" />
<input type="hidden" name="seqId" value="${seqId }" />
<input type="hidden" name="detectId" value="${detectId }" />
<input type="hidden" name="ip" value="${ip }" />
<input type="hidden" name="nameFlag" id="nameFlag" value="${nameFlag }" />
<input type="hidden" name="pid" id="pid" value="${pid }" />
<input type="hidden" name="isLeaf" id="isLeaf" value="${isLeaf }" />
<input type="hidden" name="picId" id="picId" value="${picId }" />
<input type="hidden" name="picIdFlag" id="picIdFlag" value="${picIdFlag }" />
<input type="hidden" name="picIdXtFlag" id="picIdXtFlag" value="${picIdXtFlag }" />
<input type="hidden" name="bodyScrollTop" id="bodyScrollTop" value="${bodyScrollTop}" />
<input type="hidden" name="queryParConditionDisplay" id="queryParConditionDisplay" value="${queryParConditionDisplay }" />
<input type="hidden" name="queryChildConditionDisplay" id="queryChildConditionDisplay" value="${queryChildConditionDisplay }" />
<div style="width: 100%;height:auto;font-size:14px;padding-top:7px;" align="center">
i18n_sdigp.text.ip_n81i:${ip}
&nbsp;&nbsp;&nbsp;&nbsp;i18n_sdigp.text.deviceTypeCode_n81i:${deviceTypeCode}
&nbsp;&nbsp;&nbsp;&nbsp;i18n_sdigp.text.dataCheckTime_n81i:${dataCheckTime}
</div>
<table border="0" cellpadding="0" cellspacing="0" class="table" >
<tr style="display: inline;">
<td class="color_8" width="100%" >
<strong>i18n_sdigp.text.title_n81i</strong>
</td>
<td class="color_8" style="cursor: hand;">
<img id="openAndCloseParImgSrc" onclick="javascript:toOpenAndFlex('queryParCondition','openAndCloseParImgSrc','queryChildCondition','openAndCloseChildImgSrc','queryParConditionDisplay','queryChildConditionDisplay');" align="right" style="padding-right: 20px;"
<c:if test="${queryParConditionDisplay eq 'none'}">src="<%=basePath %>images/close.gif"</c:if>
<c:if test="${queryParConditionDisplay== '' || queryParConditionDisplay eq null}">src="<%=basePath %>images/open.gif"</c:if> />
</td>
</tr>
<tr id="queryParCondition" style="display:${queryParConditionDisplay}" >
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0" class="table" style="border-spacing:0px;border:0px;">
<tr >
<td class="color_1" align="right" width="20%">
i18n_sdigp.text.sysName_n81i
</td>
<td class="color_3" align="left" width="80%" colspan="3">
${diSystem.sysName}
</td>
</tr>
<tr>
<td class="color_1" align="right" width="20%">
i18n_sdigp.text.sysUpTime_n81i
</td>
<td class="color_3" align="left" width="20%">
${diSystem.sysUpTime}
</td>
<td class="color_1" align="right" width="20%">
i18n_sdigp.text.sysLocation_n81i
</td>
<td class="color_3" align="left" >
${diSystem.sysLocation}
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.outoctetsspeed_n81i
</td>
<td class="color_3" align="left">
<a href="#tab2-outoctetsspeedXt" onclick="javascript:getPicSystemScorce('outoctetsspeed',1,'i18n_sdigp.text.outoctetsspeed_n81i','bps',0,'outoctetsspeedXt');" id="outoctetsspeedXt">
<% DiSystem diSystem = (DiSystem) request.getAttribute("diSystem"); %>
<%=MyNumberFormat.formatStr1(diSystem==null?null:(diSystem.getSysOutSpeedSum()==null?null:new BigDecimal(diSystem.getSysOutSpeedSum())),0,1024) %>
</a>
</td>
<td class="color_1" align="right" width="20%">
i18n_sdigp.text.inoctetsspeed_n81i
</td>
<td class="color_3" align="left" width="20%">
<a href="#tab2-inoctetsspeedXt" onclick="javascript:getPicSystemScorce('inoctetsspeed',1,'i18n_sdigp.text.inoctetsspeed_n81i','bps',0,'inoctetsspeedXt');" id="inoctetsspeedXt">
<%=MyNumberFormat.formatStr1(diSystem==null?null:(diSystem.getSysInSpeedSum()==null?null:new BigDecimal(diSystem.getSysInSpeedSum())),0,1024) %>
</a>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.outpktsspeed_n81i
</td>
<td class="color_3" align="left" >
<a href="#tab2-outpktsspeedXt" onclick="javascript:getPicSystemScorce('outpktsspeed',1,'i18n_sdigp.text.outpktsspeed_n81i','pps',0,'outpktsspeedXt');" id="outpktsspeedXt">
<c:if test="${diSystem.sysOutPktsSpeedSum ne null }"> ${diSystem.sysOutPktsSpeedSum}pps </c:if>
</a>
</td>
<td class="color_1" align="right">
i18n_sdigp.text.inpktsspeed_n81i
</td>
<td class="color_3" align="left">
<a href="#tab2-inpktsspeedXt" onclick="javascript:getPicSystemScorce('inpktsspeed',1,'i18n_sdigp.text.inpktsspeed_n81i','pps',0,'inpktsspeedXt');" id="inpktsspeedXt">
<c:if test="${diSystem.sysInPktsSpeedSum ne null }"> ${diSystem.sysInPktsSpeedSum}pps </c:if>
</a>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.sysStatus_n81i
</td>
<td class="color_3" align="left" colspan="3">
${diSystem.sysStatus}
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.sysDesc_n81i
</td>
<td class="color_3" align="left" colspan="3">
${diSystem.sysDescr}
</td>
</tr>
</table>
<table id="portInfoPicXt" border="0" cellpadding="0" cellspacing="0" class="table" style="width:100%;display:none;border-spacing:0px;border:0px;table-layout: fixed;">
<tr >
<td align="center" >
<div style='padding-top: 6px;margin-bottom:3px :height: 30px;vertical-align: middle;' >
i18n_sdigp.text.from_n81i:&nbsp;<input type="text" id="startTimeXt" name="startTimeXt" value="${startTimeXt}" readonly onclick="SelectDate(this,'yyyy-MM-dd hh:mm',${session.i18n_lang == 'zh_CN'?0:1})" size="15" style="height:20px;vertical-align: middle;" onkeydown="if(event.keyCode==8){event.returnValue=false;}"/>
<!-- &nbsp;至: &nbsp;<input type="text" id="endTime" name="endTime" value="${endTime}" readonly onclick="SelectDate(this,'yyyy-MM-dd hh:mm')" size="15" style="height:20px;vertical-align: middle;" onkeydown="if(event.keyCode==8){event.returnValue=false;}" /> -->
<font size="2px">[i18n_sdigp.text.selectOneDay_n81i]</font> <img src="<c:url value='/images/button_chaxun.png'/>" onclick="javascript:qryPicXt();" style="vertical-align: middle;cursor: pointer;"/>
</div>
<div id="tabs-2" style='padding: 0;margin: 0;width:auto; height: 215px;'>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<c:if test="${pid ne 0 && isLeaf eq 1}">
<table border="0" cellpadding="0" cellspacing="0" class="table" style="table-layout: fixed;">
<tr>
<td class="color_8" width="95%"> <strong>i18n_sdigp.text.port_n81i${nameFlag}i18n_sdigp.text.portInfo_n81i</strong>
</td>
<td class="color_8" style="cursor: hand;" >
<img id="openAndCloseChildImgSrc" onclick="javascript:toOpenAndFlex('queryChildCondition','openAndCloseChildImgSrc','queryParCondition','openAndCloseParImgSrc','queryChildConditionDisplay','queryParConditionDisplay');" align="right" style="padding-right: 20px;"
<c:if test="${queryChildConditionDisplay eq 'none'}">src="<%=basePath %>images/close.gif"</c:if>
<c:if test="${queryChildConditionDisplay eq '' || queryChildConditionDisplay eq null}">src="<%=basePath %>images/open.gif"</c:if> />
</td>
</tr>
<tr id="queryChildCondition" style="display:${queryChildConditionDisplay}">
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0" class="table" style="border-spacing:0px;border:0px;">
<tr >
<td class="color_1" align="right" width="20%">
i18n_sdigp.text.ifDescr_n81i
</td>
<td class="color_3" align="left" width="20%">
${switchPortInfo.ifDescr}
</td>
<td class="color_1" align="right">
i18n_sdigp.text.ifType_n81i
</td>
<td class="color_3" align="left">
${switchPortInfo.ifTypeStr}
</td>
</tr>
<tr>
<td class="color_1" align="right" >
i18n_sdigp.text.ifAdminStatus_n81i
</td>
<td class="color_3" align="left" >
<c:if test="${switchPortInfo.ifAdminStatus==1 }"> up </c:if>
<c:if test="${switchPortInfo.ifAdminStatus==2 }"> down </c:if>
<c:if test="${switchPortInfo.ifAdminStatus==3 }"> testing </c:if>
</td>
<td class="color_1" align="right" >
i18n_sdigp.text.ifOperStatus_n81i
</td>
<td class="color_3" align="left" >
<c:if test="${switchPortInfo.ifOperStatus==1 }"> up </c:if>
<c:if test="${switchPortInfo.ifOperStatus==2 }"> down </c:if>
<c:if test="${switchPortInfo.ifOperStatus==3 }"> testing </c:if>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.outoctetsspeed_n81i
</td>
<td class="color_3" align="left">
<a href="#tab-outoctetsspeed" onclick="javascript:getPicScorce('outoctetsspeed',1,'i18n_sdigp.text.outoctetsspeed_n81i','bps',0,'outoctetsspeed');" id="outoctetsspeed">
<% SwitchPortInfo switchPortInfo = (SwitchPortInfo) request.getAttribute("switchPortInfo"); %>${outoctetsspeed}
<%=MyNumberFormat.formatStr1(switchPortInfo==null?null:(switchPortInfo.getIfOutOctetsSpeed()==null?null:new BigDecimal(switchPortInfo.getIfOutOctetsSpeed())),0,1024) %>
</a>
</td>
<td class="color_1" align="right" width="20%">
i18n_sdigp.text.inoctetsspeed_n81i
</td>
<td class="color_3" align="left" width="20%">
<a href="#tab-inoctetsspeed" onclick="javascript:getPicScorce('inoctetsspeed',1,'i18n_sdigp.text.inoctetsspeed_n81i','bps',0,'inoctetsspeed');" id="inoctetsspeed">
<%=MyNumberFormat.formatStr1(switchPortInfo==null?null:(switchPortInfo.getIfInOctetsSpeed()==null?null:new BigDecimal(switchPortInfo.getIfInOctetsSpeed())),0,1024) %>
</a>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.ifouterrors_vary_n81i
</td>
<td class="color_3" align="left" >
<a href="#tab-ifouterrors_vary" onclick="javascript:getPicScorce('ifouterrors_vary',1,'i18n_sdigp.text.ifouterrors_vary_n81i','',0,'ifouterrors_vary');" id="ifouterrors_vary">
${switchPortInfo.ifouterrorsVary}
</a>
</td>
<td class="color_1" align="right" >
i18n_sdigp.text.ifinerrors_vary_n81i
</td>
<td class="color_3" align="left" >
<a href="#tab-inerrorsscale" onclick="javascript:getPicScorce('ifinerrors_vary',1,'i18n_sdigp.text.ifinerrors_vary_n81i','',0,'ifinerrors_vary');" id="ifinerrors_vary">
${switchPortInfo.ifinerrorsVary}
</a>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.outpktsspeed_n81i
</td>
<td class="color_3" align="left" >
<a href="#tab-outpktsspeed" onclick="javascript:getPicScorce('outpktsspeed',1,'i18n_sdigp.text.outpktsspeed_n81i','pps',0,'outpktsspeed');" id="outpktsspeed">
<c:if test="${switchPortInfo.outpktsspeed ne null && switchPortInfo.outpktsspeed!=''}"> <%=new BigDecimal(switchPortInfo.getOutpktsspeed())%>pps </c:if>
</a>
</td>
<td class="color_1" align="right">
i18n_sdigp.text.inpktsspeed_n81i
</td>
<td class="color_3" align="left">
<a href="#tab-inpktsspeed" onclick="javascript:getPicScorce('inpktsspeed',1,'i18n_sdigp.text.inpktsspeed_n81i','pps',0,'inpktsspeed');" id="inpktsspeed">
<c:if test="${switchPortInfo.inpktsspeed ne null && switchPortInfo.inpktsspeed!=''}"> <%=new BigDecimal(switchPortInfo.getInpktsspeed()) %>pps </c:if>
</a>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.ifoutdiscards_vary_n81i
</td>
<td class="color_3" align="left">
<a href="#tab-ifoutdiscardsperc" onclick="javascript:getPicScorce('ifoutdiscards_vary',1,'i18n_sdigp.text.ifoutdiscards_vary_n81i','',0,'ifoutdiscards_vary');" id="ifoutdiscards_vary">
${switchPortInfo.ifoutdiscardsVary}
</a>
</td>
<td class="color_1" align="right">
i18n_sdigp.text.ifindiscards_vary_n81i
</td>
<td class="color_3" align="left">
<a href="#tab-ifindiscardsperc" onclick="javascript:getPicScorce('ifindiscards_vary',1,'i18n_sdigp.text.ifindiscards_vary_n81i','',0,'ifindiscards_vary');" id="ifindiscards_vary">
${switchPortInfo.ifindiscardsVary}
</a>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sdigp.text.ifHighSpeed_n81i
</td>
<td class="color_3" align="left">
<%=(switchPortInfo==null?"":(switchPortInfo.getIfHighSpeed() ==null?MyNumberFormat.formatStr1(new BigDecimal(switchPortInfo.getIfSpeed()),0,1000):switchPortInfo.getIfHighSpeed()+"Mbps")) %>
</td>
<td class="color_1" align="right">
i18n_sdigp.text.ifPhysAddress_n81i
</td>
<td class="color_3" align="left" >
${switchPortInfo.ifPhysAddress}
</td>
</tr>
<tr>
<td class="color_1" align="right" >
i18n_sdigp.text.ifLastChangeStr_n81i
</td>
<td class="color_3" align="left" colspan="3">
${switchPortInfo.ifLastChangeStr}
</td>
</tr>
</table>
<table id="portInfoPic" border="0" cellpadding="0" cellspacing="0" class="table" style="width:100%;display:none;border-spacing:0px;border:0px;table-layout: fixed;">
<tr >
<td align="center" >
<div style='padding-top: 6px;margin-bottom:3px :height: 30px;vertical-align: middle;' >
i18n_sdigp.text.from_n81i: &nbsp;<input type="text" id="startTime" name="startTime" value="${startTime}" readonly onclick="SelectDate(this,'yyyy-MM-dd hh:mm',${session.i18n_lang == 'zh_CN'?0:1})" size="15" style="height:20px;vertical-align: middle;" onkeydown="if(event.keyCode==8){event.returnValue=false;}"/>
<!-- &nbsp;至: &nbsp;<input type="text" id="endTime" name="endTime" value="${endTime}" readonly onclick="SelectDate(this,'yyyy-MM-dd hh:mm')" size="15" style="height:20px;vertical-align: middle;" onkeydown="if(event.keyCode==8){event.returnValue=false;}" /> -->
<font size="2px">[i18n_sdigp.text.selectOneDay_n81i]</font> <img src="<c:url value='/images/button_chaxun.png'/>" onclick="javascript:qryPic();" style="vertical-align: middle;cursor: pointer;"/>
</div>
<div id="tabs-1" style='padding: 0;margin: 0;width:auto; height: 215px;'>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</c:if>
</form>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,466 @@
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="java.math.BigDecimal"%>
<%@page import="nis.nms.util.MyNumberFormat"%>
<%@page import="nis.nms.bean.SwitchPortInfo"%>
<%@ 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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>i18n_sil.message.title_n81i</title>
<link href="<c:url value='/css/nms.css'/>" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery-1.4.2.min.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/onmouse.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery.suggest.js'/>"></script>
<script src="<c:url value='/js/lockTableHeader.js'/>" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var msg = '${MSG}';
if(msg=='1'){
alert("i18n_sil.message.success_n81i");
}else if(msg=='2'){
alert("i18n_sil.message.faild_n81i");
}
//添加记录
function add(id){
document.form3.action = "<%=path%>/detection/metaDataSet!executeAction.do?action=oppAdd&typeids="+id;
document.form3.submit();
}
//批量修改记录:
function upd(){
if(!isRigthCheck("ids", "remove")){
alert("i18n_sil.message.selectInfo1_n81i");
}else{
document.form3.action ="<%=path%>/detection/metaDataSet!executeAction.do?action=oppUpdList";
document.form3.submit();
}
}
//修改记录,暂时不用
function updOld(){
//alert(1);
if(!isRigthCheck("ids", "edit")){
alert("i18n_sil.message.selectInfo2_n81i");
}else{
document.form3.action ="<%=path%>/detection/metaDataSet!executeAction.do?action=oppUpd";
document.form3.submit();
}
}
//生成数据表
function createTable(){
if(confirm("i18n_sil.message.sureToCreate_n81i")){
document.form3.action ="<%=path%>/detection/metaDataSet!executeAction.do?action=createTab";
document.form3.submit();
}
}
//向数据表添加字段
function addFiled(){
if(confirm("i18n_sil.message.sureToAdd_n81i")){
document.form3.action ="<%=path%>/detection/metaDataSet!executeAction.do?action=addFiled";
document.form3.submit();
}
}
//停用:将METADATA表中的STATE字段置为1
function startUpOrStop(type) {
if(!isRigthCheck("ids", "remove")){
alert("i18n_sil.message.selectInfo1_n81i");
}else {
var num = jQuery("input[name='ids']:checked").size();
var mids = new Array(num);
jQuery("input[name='ids']:checked").each(function(i){
mids[i]=$(this).val();
});
jQuery.post("<c:url value='/'/>detection/metaDataSet!getState.do",{ids:mids.toString()},function(datas){checkIsState(datas,type);},"json");
}
}
function checkIsState(datas,type) {
if(datas!=null && datas.length>0) {
if(type=='1'){//停用
document.form3.action="<%=path%>/detection/metaDataSet.do?action=stop";
document.form3.submit();
}else{//启用
document.form3.action="<%=path%>/detection/metaDataSet.do?action=start";
document.form3.submit();
}
}
}
function goBack(){
document.form3.action ="<%=path%>/detection/switchDetection.do?action=query";
document.form3.submit();
}
function ieBrowser(){
if($.browser.msie){
if($.browser.version.split('.')[0]<=7){
return false;
}else{
return true;//ie8+
}
}
}
//程辉 2013-5-8 新增 导出
function emportXls() {
document.form3.action = "<c:url value='/'/>/detection/switchDetection.do?action=emportXls&detectId="+'${detectId}'+"&seqId="+'${seqId}'+"&checkDate="+'${checkDate}';
document.form3.submit();
}
$(function(){
var dh = document.body.clientHeight;
var dhh = dh-60+"px;";
var tableHeight = $("#info").height();
if(tableHeight > dh-60){
$("#maindiv").attr("style","clear:both;margin-left:6px;overflow-y:auto;overflow-x:auto;width:99%;font-size:12px;height: "+dhh);
if(ieBrowser()){
$("#info").attr("style","width:100%;");
}else{
$("#info").attr("style","width:98.5%;");
}
}else{
$("#maindiv").attr("style","clear:both;margin-left:6px;overflow-y:auto;overflow-x:auto;width:98%;font-size:12px;height: "+dhh);
$("#info").attr("style","width:100%;");
}
$("#info").floatHeaderDiv();
//tableHeaderNavigator('I3','info');
});
</script>
</head>
<body>
<div class="middle_list" style="overflow: hidden;">
<form name=form3 id="frmArticleType"
action="<c:url value='/detection/switchDetection.do?action=singleSwitchInfo'/>" method="post" enctype="multipart/form-data">
<input type="hidden" name="typeids" value="${typeids[0]}"/>
<input type="hidden" name="ctn" id="ctn" value="${ctn }" />
<input type="hidden" name="networElementType" id="networElementType" value="${networElementType }" />
<!-- 来源于拓扑图 begin -->
<input type="hidden" name="requestType" value="${requestType }" />
<input type="hidden" name="nodeGroupId" value="${nodeGroupId }" />
<input type="hidden" name="nodeIp" value="${nodeIp }" />
<!-- 来源于拓扑图 end -->
<div id="divTop">
<div class="box_2">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="emportXls()" value="i18n_sil.button.export_n81i"/>
<c:if test="${isSch=='0'&& isHaveTable=='no'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="add(${typeids[0]})" value="i18n_sil.button.add_n81i" disabled="disabled"/> <!-- 预置表的新增 -->
</c:if>
<c:if test="${isSch=='1'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="add(${typeids[0]})" value="i18n_sil.button.add_n81i"
${(ADMFlag && checkTypeInfo.viewLevel ne 4) || (!ADMFlag && checkTypeInfo.viewLevel eq 4) ? "disabled='disabled'":""}/>
</c:if>
<c:if test="${isSch=='0' && isHaveTable=='no'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="upd()" value="i18n_sil.button.update_n81i" disabled="disabled"/>
</c:if>
<c:if test="${isSch=='1'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="upd()" value="i18n_sil.button.update_n81i"
${(ADMFlag && checkTypeInfo.viewLevel ne 4) || (!ADMFlag && checkTypeInfo.viewLevel eq 4) ? "disabled='disabled'":""}/>
</c:if>
<c:if test="${isHaveTable=='no'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="createTable()" value="i18n_sil.button.createTable_n81i"
${(ADMFlag && checkTypeInfo.viewLevel ne 4) || (!ADMFlag && checkTypeInfo.viewLevel eq 4) ? "disabled='disabled'":""}
/>
</c:if>
<c:if test="${isSch=='1'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="startUpOrStop(1)" value="i18n_sil.button.stop_n81i"/> <!-- 非预置的表才有停用 -->
</c:if>
<c:if test="${isSch=='1'}">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="startUpOrStop(0);" value="i18n_sil.button.start_n81i"/> <!-- 非预置的表才有启用 -->
</c:if>
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="goBack()" value="i18n_sil.button.back_n81i"/>
</div>
</div>
<div id="maindiv">
<c:if test="${si ne null}">
<table border="0" cellpadding="0" cellspacing="0" class="table" id="switchInfo">
<tr >
<td colspan="4" class="color_8">
<strong>i18n_sil.text.switchIp_n81i:${switchIp } i18n_sil.text.title_n81i</strong>
</td>
</tr>
<tr>
<td class="color_1" align="right" width="20%">
i18n_sil.text.sysDescr_n81i
</td>
<td class="color_3" align="left" >
${si.sysDescr}
</td>
</tr>
<tr>
<td class="color_1" align="right" width="20%">
i18n_sil.text.sysObjectID_n81i
</td>
<td class="color_3" align="left" >
${si.sysObjectID}
</td>
</tr>
<tr>
<td class="color_1" align="right" >
i18n_sil.text.upTimeStr_n81i
</td>
<td class="color_3" align="left" >
${si.upTimeStr}
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sil.text.sysContact_n81i
</td>
<td class="color_3" align="left">
${si.sysContact}
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sil.text.sysName_n81i
</td>
<td class="color_3" align="left">
${si.sysName}
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sil.text.sysLocation_n81i
</td>
<td class="color_3" align="left">
${si.sysLocation}
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sil.text.sysServices_n81i
</td>
<td class="color_3"align="left">
${si.sysServices}
<fmt:formatDate value="${detectionInfoNew.detectionSetInfo.planCheckTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
</tr>
<tr>
<td class="color_1" align="right">
i18n_sil.text.checkedTimeStr_n81i
</td>
<td class="color_3" align="left">
${si.checkedTimeStr}
<fmt:formatDate value="${detectionInfoNew.detectionSetInfo.planCheckTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
</tr>
</table>
</c:if>
<table border="0" cellpadding="0" cellspacing="0" class="table" id="info">
<tr>
<td width="3%" class="color_top">
i18n_sil.text.index_n81i
</td>
<td width="5%" class="color_top">
i18n_sil.text.ifDescr_n81i
</td>
<td width="7%" class="color_top">
i18n_sil.text.ifHighSpeed_n81i
</td>
<td width="5%" class="color_top">
i18n_sil.text.ifOperStatus_n81i
</td>
<td width="7%" class="color_top">
i18n_sil.text.ifInOctetsSpeed_n81i
</td>
<td width="7%" class="color_top">
i18n_sil.text.inpktsspeed_n81i
</td>
<!--
<td width="7%" class="color_top">
输入丢包率(%)
</td>
<td width="7%" class="color_top">
输入差错率(pps)
</td>
-->
<td width="7%" class="color_top">
i18n_sil.text.ifindiscardsVary_n81i
</td>
<td width="7%" class="color_top">
i18n_sil.text.ifinerrorsVary_n81i
</td>
<td width="7%" class="color_top">
i18n_sil.text.ifOutOctetsSpeed_n81i
</td>
<td width="8%" class="color_top">
i18n_sil.text.outpktsspeed_n81i
</td>
<!--
<td width="7%" class="color_top">
输出丢包率(%)
</td>
<td width="7%" class="color_top">
输出差错率(pps)
</td>
-->
<td width="7%" class="color_top">
i18n_sil.text.ifoutdiscardsVary_n81i
</td>
<td width="7%" class="color_top">
i18n_sil.text.ifouterrorsVary_n81i
</td>
<td width="13%" class="color_top">
i18n_sil.text.lastStringTime_n81i
</td>
</tr>
<c:set var="index" value="${1}" />
<%
List<SwitchPortInfo> siList = (List<SwitchPortInfo>) request.getAttribute("totalSiList");
if(siList!=null && siList.size()>0){
int vs = -1;
for(SwitchPortInfo si : siList){
vs++;
pageContext.setAttribute("vs",vs);
pageContext.setAttribute("si",si);
%>
<c:set var="color" value="color_1"/>
<c:set var="color_end" value="color_7"/>
<c:if test="${vs%2!=0 }">
<c:set var="color" value="color_3"/>
<c:set var="color_end" value="color_6"/>
</c:if>
<tr>
<td class="${color }">
${index+(pageNo-1)*pageSize}
</td>
<td class="${color }">
${si.ifDescr}
</td>
<td class="${color }">
<%=(si.getIfHighSpeed() ==null?MyNumberFormat.formatStr1(new BigDecimal(si.getIfSpeed()),0,1000):si.getIfHighSpeed()+"Mbps") %>
</td>
<td class="${color }">
${si.ifOperStatus}
</td>
<td class="${color }">
<%=MyNumberFormat.formatStr1(si.getIfInOctetsSpeed()==null?null:(new BigDecimal(si.getIfInOctetsSpeed()).multiply(new BigDecimal(8))),0,1024) %>
</td>
<td class="${color }">
<c:if test="${si.inpktsspeed ne null }">
<%=new BigDecimal(si.getInpktsspeed()).setScale(0,BigDecimal.ROUND_UP) %>pps
</c:if>
</td>
<td class="${color }">
${si.ifindiscardsVary}
</td>
<td class="${color }">
${si.ifinerrorsVary}
</td>
<!--
<td class="${color }">
${si.ifInErrorsScale}
</td>
<td class="${color }">
${si.ifInErrorsScale}
</td>
-->
<td class="${color }">
<%=MyNumberFormat.formatStr1(si.getIfOutOctetsSpeed()==null?null:(new BigDecimal(si.getIfOutOctetsSpeed()).multiply(new BigDecimal(8))),0,1024) %>
</td>
<td class="${color }">
<c:if test="${si.outpktsspeed ne null }">
<%=new BigDecimal(si.getOutpktsspeed()).setScale(0,BigDecimal.ROUND_UP) %>pps
</c:if>
</td>
<td class="${color }">
${si.ifoutdiscardsVary}
</td>
<td class="${color }">
${si.ifouterrorsVary}
</td>
<td class="${color }">
${si.lastStringTime}
</td>
</tr>
<c:set var="index" value="${index + 1}" />
<%
}
}else{
%>
<tr>
<td colspan="13" class="color_6" align="center">
i18n_sil.text.noRecord_n81i
</td>
</tr>
<%
}
%>
</table>
</div>
<!-- <div id="divBoot">
<---jsp:include page="/common/page.jsp" />
</div> -->
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,565 @@
<%@ 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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>i18n_sitl.message.title_n81i</title>
<link href="<c:url value='/css/nms.css'/>" rel="stylesheet"
type="text/css" />
<link href="<c:url value='/css/suggest.css'/>" rel="stylesheet"
type="text/css" />
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery-1.4.2.min.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/onmouse.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery.suggest.js'/>"></script>
<style type="text/css">
.mydiv {
background-color: #fff;
border: 1px solid #000;
text-align: center;
line-height: 40px;
font-size: 12px;
font-weight: bold;
z-index: 99;
width: 220px;
height: 80px;
left: 50%; /*FF IE7*/
top: 50%; /*FF IE7*/
margin-left: -150px !important; /*FF IE7 该值为本身宽的一半 */
margin-top: -60px !important; /*FF IE7 该值为本身高的一半*/
margin-top: 0px;
position: fixed !important; /*FF IE7*/
position: absolute; /*IE6*/
_top: expression(eval(document .
compatMode &&
document .
compatMode ==
'CSS1Compat') ?
documentElement .
scrollTop +
(
document .
documentElement .
clientHeight-this .
offsetHeight )/ 2 :
/*IE6*/
document .
body .
scrollTop +
(
document .
body .
clientHeight -
this .
clientHeight )/ 2 );
/*IE5 IE5.5*/
}
.bg {
background-color: #ccc;
width: 100%;
height: 100%;
left: 0;
top: 0; /*FF IE7*/
filter: alpha(opacity = 50);
/*IE*/
opacity: 0.5; /*FF*/
z-index: 1;
position: fixed !important; /*FF IE7*/
position: absolute; /*IE6*/
_top: expression(eval(document .
compatMode &&
document .
compatMode ==
'CSS1Compat') ?
documentElement .
scrollTop +
(
document .
documentElement .
clientHeight-this .
offsetHeight )/ 2 :
/*IE6*/
document .
body .
scrollTop +
(
document .
body .
clientHeight -
this .
clientHeight )/ 2 );
/*IE5 IE5.5*/
}
/*The END*/
</style>
</head>
<script language="javascript" type="text/javascript">
var msg = '${MSG}';
if(msg=='1'){
alert("i18n_sitl.message.success_n81i");
}else if(msg=='2'){
alert("i18n_sitl.message.faild_n81i");
}
function goBack(){
document.form3.action ="<%=path%>/detection/checkTypeSet.do?action=query";
document.form3.submit();
}
function ieBrowser(){
/* if($.browser.msie){
if($.browser.version.split('.')[0]<=7){
return false;
}else{
return true;//ie8+
}
} */
}
//程辉 2013-5-8 新增 导出当前页
function emportCurrentXls() {
document.form3.action = "<c:url value='/'/>/detection/switchDetection.do?action=emportCurrentXls&pageNo="+$("#pageNo").val()+"&pageSize="+'${pageSize }';
document.form3.submit();
closeDiv();
document.form3.action = "<%=path%>/detection/switchDetection.do?action=query";
}
//程辉 2013-5-8 新增 导出全部
function emportAllXls() {
document.form3.action = "<c:url value='/'/>/detection/switchDetection.do?action=emportAllXls";
document.form3.submit();
closeDiv();
document.form3.action ="<%=path%>/detection/switchDetection.do?action=query";
}
function showDiv(){
document.getElementById('popDiv').style.display='block';
document.getElementById('bg').style.display='block';
}
function closeDiv(){
document.getElementById('popDiv').style.display='none';
document.getElementById('bg').style.display='none';
}
$(function(){
var dh = document.body.clientHeight;
var dhh = dh-60+"px;";
var tableHeight = $("#info").height();
if(tableHeight > dh-60){
$("#maindiv").attr("style","clear:both;margin-left:6px;overflow-y:auto;overflow-x:auto;width:99%;font-size:12px;height: "+dhh);
if(ieBrowser()){
$("#info").attr("style","width:100%;");
}else{
$("#info").attr("style","width:98.5%;");
}
}else{
$("#maindiv").attr("style","clear:both;margin-left:6px;overflow-y:auto;overflow-x:auto;width:98%;font-size:12px;height: "+dhh);
$("#info").attr("style","width:100%;");
}
$("#info").floatHeaderDiv();
});
function showGrap(detectId,seqId,ip) {
//检查是否支持SVG图形
if(!isSVG()) {
svgDownloadConn();
}else {
var url = "<%=path%>/detection/switchDetection.do?action=switchDetectInfoGraph&pid=0&detectId="+detectId+"&seqId="+seqId+"&ip="+ip;
document.form3.action=url;
document.form3.submit();
}
}
function showList(detectId,seqId,checkDate,networElementType){
var url ="<c:url value='/detection/switchDetection.do?action=singleSwitchInfo&detectId= "+detectId+"&seqId="+seqId+"&checkDate="+checkDate+"&networElementType="+networElementType+"' />";
if(networElementType == ''){
var url ="<c:url value='/detection/switchDetection.do?action=singleSwitchInfo&detectId= "+detectId+"&seqId="+seqId+"&checkDate="+checkDate+"' />";
}
document.form3.action=url;
document.form3.submit();
}
//检查是否支持SVG图形
function isSVG() {
if(window.ActiveXObject && navigator.userAgent.indexOf("MSIE 9.0")<=0) {//说明是IE浏览器,navigator.userAgent:ie8设置兼容模式时navigator.userAgent的值为MSIE 7.0
try {
var sctXObj = new ActiveXObject("ADOBE.SVGCtl");//new ActiveXObject("ADOBE.SVGCtl")会产生异常,需要捕捉
return true;
}catch(e) {
return false;
}
}else {//非IE浏览器火狐等直接支持svg无需安装插件
return true;
}
}
/*------ 滚动条滚动 延迟加载页面操作--------------*/
var hght=0;//初始化滚动条总长
var topH=0;//初始化滚动条的当前位置
var pagePoint = ${pageNo};
var flashFlag = false;
var memoryData ;
var intervalID ;
$(document).ready(function(){//DOM的onload事件
//$(”#mypage”).load(”table.html”);//table.html的内容被加载到mypage元素
$("#maindiv").scroll( function() {//定义滚动条位置改变时触发的事件。
hght=this.scrollHeight;//得到滚动条总长赋给hght变量
topH=this.scrollTop+this.clientHeight;//得到滚动条当前值赋给top变量
});
$.get("<c:url value='switchDetection.do?action=queryChild'/>&pageSize="+'${pageSize }'+"&pageNo="+(++pagePoint), function(data){//利用jquery的get方法得到table.html内容
memoryData = data;
flashFlag = true;
});
intervalID = setInterval(function(){cando();},1000);//每隔2秒钟调用一次cando函数来判断当前滚动条位置。
function cando(){
if(topH!=0 && hght!=0 && topH == hght && flashFlag){//判断滚动条当前位置是否超过总长的3/2parseInt为取整函数
show();//如果是调用show函数加载内容。
}
//if(topH>parseInt(hght/3)*2){//判断滚动条当前位置是否超过总长的3/2parseInt为取整函数
// show();//如果是调用show函数加载内容。
//}
}
function show(){
flashFlag=false;
hght=0;//恢复滚动条总长,因为$(”#mypage”).scroll事件一触发又会得到新值不恢复的话可能会造成判断错误而再次加载……
topH=0;//原因同上。
var flag2 = true;
if(memoryData!=null&&memoryData!=""&&memoryData.replace(/(^\s*)|(\s*$)/g,"")!=""){
try{
var resultHtml = $(data);
var parentLastIpTd = $("td[rowspan]:last");
var childFirstIpTd = $(resultHtml).find("td[rowspan]:first");
var pLastIp = $(parentLastIpTd).text().trim();
var cFirstIp = $(childFirstIpTd).text().trim();
if (pLastIp == cFirstIp) {
$(parentLastIpTd).attr("rowspan", $(parentLastIpTd).attr("rowspan")+$(childFirstIpTd).attr("rowspan"));
$(resultHtml).children("td[rowspan]:first").remove();
}
$("#info").append($(resultHtml));//用append方法追加内容到mypage元素。
//$("#info").append($(memoryData));//用append方法追加内容到mypage元素。
$("#currentPage").html(pagePoint);
$("#pageNo").val(pagePoint);
flag2 = false;
}catch(err){
}
}
$.get("<c:url value='switchDetection.do?action=queryChild'/>&pageSize="+'${pageSize }'+"&pageNo="+(++pagePoint), function(data){//利用jquery的get方法得到table.html内容
if(flag2){
try{
$("#info").append($(data));//用append方法追加内容到mypage元素。
}catch(err){
}
}else{
flag2 = true;
memoryData = data;
}
//无数据
if(data==null||data==""){
clearInterval(intervalID);
}
flashFlag = true;
});
}
});
/*------ 滚动条滚动 延迟加载页面操作--------------*/
//查询记录
function qry(){
document.form3.action = "<c:url value='/detection/switchDetection.do?action=query'/>";
document.form3.submit();
}
//---------------主机名联想查询 begin-------------
var set_Id;
var ajaxProperties = "";
var ajaxTableName = "";
var ajaxType = "";
var id = "";
var returnDiv = "";
var ajaxValue = "";
function lianxiangkeydown() {
clearTimeout(set_Id);
}
function lianxiangkeyup(ajaxProperties1,ajaxTableName1,ajaxType1,id1,returnDiv1,ajaxValue1) {
if(parent.document.getElementById("lianxiangStatus").value=="2")
{
if(jQuery.trim(ajaxValue1)=="") return false;
ajaxProperties = ajaxProperties1;
ajaxTableName = ajaxTableName1;
ajaxType = ajaxType1;
id = id1;
returnDiv = returnDiv1;
if(!checkStrNoDian(ajaxValue1)){
ajaxValue = ajaxValue1;
}else{
clearTimeout(set_Id);
alert('i18n_sitl.message.inputInfo_n81i');
$("#"+id).val('');
return;
}
clearTimeout(set_Id);
set_Id = setTimeout(ajaxForLianxiang,500);
}
}
function ajaxForLianxiang()
{
jQuery.post("<%=path%>/sysManage/sysPopedomManage!queryInfoForAjax.do",
{"ajaxProperties":ajaxProperties,"ajaxTableName":ajaxTableName,"ajaxType":ajaxType,"ajaxValue":ajaxValue,"nodeType":1},function(data)
{
var lianxiangList = data.split(",");
jQuery("#"+id).suggest(lianxiangList,{hot_list:lianxiangList,attachObject:"#"+returnDiv,showType:"scroll"});
if(lianxiangList == ''){
$("#"+id).css("color","#CBC0B6");
}else{
$("#"+id).css("color","#000000");
}
});
}
//---------------主机名联想查询 end-------------
</script>
<body>
<div class="middle_list" style="overflow: hidden;">
<form name=form3 id="frmArticleType"
action="<c:url value='/detection/switchDetection.do?action=query'/>"
method="post" enctype="multipart/form-data">
<input type="hidden" name="typeids" value="${typeids[0]}" />
<input type="hidden" name="ctn" id="ctn" value="${ctn }" />
<input type="hidden" name="pageNoforexp" id="pageNo" value="${pageNo }"/>
<!-- 来源于拓扑图 begin -->
<input type="hidden" name="requestType" value="${requestType }" />
<input type="hidden" name="nodeGroupId" value="${nodeGroupId }" />
<!-- 来源于拓扑图 end -->
<div id="divTop">
<div class="box_1">
<label class="divTopText"><font class="selectText">i18n_sitl.text.nodeIp_n81i</font> <input type="text" id="nodeIp"
onkeyup="lianxiangkeyup('nodeIp','NodeTable','String','nodeIp','suggest1',this.value);"
name="nodeIp" title="i18n_sitl.message.nodeIp_n81i" value="${nodeIp}" size="20" />
<div id='suggest1' class="ac_results"></div></label>
<label class="divTopText"><font class="selectText">i18n_sitl.text.networElementType_n81i</font>
<select name="networElementType" id="networElementType" style="width:140px;" >
<option value="">i18n_sitl.message.selectDefault_n81i</option>
<c:forEach items="${optionList}" var="optionTable" >
<option value="${optionTable.typeCode}" <c:if test="${optionTable.typeCode == networElementType}">selected="selected"</c:if>>
${optionTable.typeValue}
</option>
</c:forEach>
</select> </label>
<img src="<c:url value='/images/button_chaxun.png'/>"
class="img_middle2" onclick="javascript:qry();" />
</div>
<div class="box_2">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="javascript:showDiv();" value="i18n_sitl.button.export_n81i" />
</div>
<br />
</div>
<div id="maindiv">
<table border="0" cellpadding="0" cellspacing="0" class="table"
id="info">
<tr>
<td width="6%" class="color_top">
i18n_sitl.text.netType_n81i
</td>
<td width="10%" class="color_top">
i18n_sitl.text.nodeIp_n81i
</td>
<td width="12%" class="color_top">
i18n_sitl.text.checkType_n81i
</td>
<td width="12%" class="color_top">
i18n_sitl.text.processIdenName_n81i
</td>
<td width="10%" class="color_top">
i18n_sitl.text.portNum_n81i
</td>
<td width="10%" class="color_top">
i18n_sitl.text.text.dataCheckTime_n81i
</td>
<td width="10%" class="color_top">
i18n_sitl.text.showRecord_n81i
</td>
</tr>
<jsp:include page="/common/svgDownloadConn.jsp" />
<c:choose>
<c:when test="${fn:length(datasList) > 0}">
<c:forEach items="${datasList}" var="typeData">
<c:forEach items="${typeData}" var="rowData" varStatus="vs">
<c:if test="${vs.index==0}" var="flag">
<tr>
<c:forEach items="${rowData}" var="cellData" varStatus="ind"
begin="3" end="8">
<c:set var="dsiId" value="${rowData[1] }" />
<c:set var="seqId" value="${rowData[2] }" />
<c:set var="nodeIp" value="${rowData[4] }" />
<c:set var="checkDate" value="${rowData[9] }" />
<c:choose>
<c:when test="${ind.index eq 3}">
<td class="color_1_1" rowspan="${fn:length(typeData)}"
valign="top">
<c:out value="${cellData}" default="" />
</td>
</c:when>
<c:otherwise>
<td class="color_1_1">
<span class="STYLE1" style="word-break: break-all">
<c:out value="${cellData}" default="" /> </span>
</td>
</c:otherwise>
</c:choose>
</c:forEach>
<td class="color_1_1">
<a href='#showGrap'
onclick="javascript:showGrap('${dsiId}','${seqId}','${nodeIp}');">
i18n_sitl.text.showGrap_n81i </a>
<a onclick="javascript:showList('${dsiId}','${seqId}','${checkDate}','${networElementType }');"
href='#'>
i18n_sitl.text.showList_n81i</a>
</td>
</tr>
</c:if>
<c:if test="${!flag}">
<tr>
<c:forEach items="${rowData}" var="cellData" varStatus="ind"
begin="3" end="8">
<c:set var="dsiId" value="${rowData[1] }" />
<c:set var="seqId" value="${rowData[2] }" />
<c:set var="nodeIp" value="${rowData[4] }" />
<c:set var="checkDate" value="${rowData[9] }" />
<c:choose>
<c:when test="${ind.index eq 3}">
</c:when>
<c:otherwise>
<td class="color_1_1">
<span class="STYLE1" style="word-break: break-all">
<c:out value="${cellData}" default="" /> </span>
</td>
</c:otherwise>
</c:choose>
</c:forEach>
<td class="color_1_1">
<a href='##showGrap'
onclick="javascript:showGrap('${dsiId}','${seqId}','${nodeIp}');">
i18n_sitl.text.showGrap_n81i </a>
<a onclick="javascript:showList('${dsiId}','${seqId}','${checkDate}','');"
href='#'>
i18n_sitl.text.showList_n81i </a>
</td>
</tr>
</c:if>
</c:forEach>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td class="color_6" align="center" colspan="7">
i18n_sitl.text.noRecord_n81i
</td>
</tr>
</c:otherwise>
</c:choose>
</table>
</div>
<c:if test="${!empty datasList}">
<div id="divBoot">
<jsp:include page="/common/page.jsp" />
</div>
</c:if>
</form>
</div>
<div id="popDiv" class="mydiv" style="display: none;">
<input type="hidden" />
<input type="button" class=btn3_mouseout style="width: 100px;"
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="javascript:emportCurrentXls();" value="i18n_sitl.button.exportCurrentPage_n81i" />
&nbsp;
<input type="button" class=btn3_mouseout style="width: 80px"
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="javascript:emportAllXls();" value="i18n_sitl.button.exportAllData_n81i" />
&nbsp;
<br />
<a href="javascript:closeDiv()">i18n_sitl.text.closeWindow_n81i</a>
</div>
<div id="bg" class="bg" style="display: none;"></div>
</body>
</html>

View File

@@ -0,0 +1,83 @@
<%@ page language="java" pageEncoding="utf-8"%>
<%@include file="/common/taglib.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<c:choose>
<c:when test="${fn:length(datasList) > 0}">
<c:forEach items="${datasList}" var="typeData">
<c:forEach items="${typeData}" var="rowData" varStatus="vs">
<c:if test="${vs.index==0}" var="flag">
<tr>
<c:forEach items="${rowData}" var="cellData" varStatus="ind"
begin="3" end="8">
<c:set var="dsiId" value="${rowData[1] }" />
<c:set var="seqId" value="${rowData[2] }" />
<c:set var="nodeIp" value="${rowData[4] }" />
<c:set var="checkDate" value="${rowData[9] }" />
<c:choose>
<c:when test="${ind.index eq 3}">
<td class="color_1_1" rowspan="${fn:length(typeData)}"
valign="top">
<c:out value="${cellData}" default="" />
</td>
</c:when>
<c:otherwise>
<td class="color_1_1">
<span class="STYLE1" style="word-break: break-all">
<c:out value="${cellData}" default="" /> </span>
</td>
</c:otherwise>
</c:choose>
</c:forEach>
<td class="color_1_1">
<a href='##showGrap'
onclick="javascript:showGrap('${dsiId}','${seqId}','${nodeIp}');">
i18n_sitlc.text.showGrap_n81i</a>
<a
href='<c:url value="/detection/switchDetection.do?action=singleSwitchInfo" />&detectId= ${dsiId}&seqId=${seqId}&checkDate=${checkDate}'>
i18n_sitlc.text.showList_n81i </a>
</td>
</tr>
</c:if>
<c:if test="${!flag}">
<tr>
<c:forEach items="${rowData}" var="cellData" varStatus="ind"
begin="3" end="8">
<c:set var="dsiId" value="${rowData[1] }" />
<c:set var="seqId" value="${rowData[2] }" />
<c:set var="nodeIp" value="${rowData[4] }" />
<c:set var="checkDate" value="${rowData[9] }" />
<c:choose>
<c:when test="${ind.index eq 3}">
</c:when>
<c:otherwise>
<td class="color_1_1">
<span class="STYLE1" style="word-break: break-all">
<c:out value="${cellData}" default="" /> </span>
</td>
</c:otherwise>
</c:choose>
</c:forEach>
<td class="color_1_1">
<a href='##showGrap'
onclick="javascript:showGrap('${dsiId}','${seqId}','${nodeIp}');">
i18n_sitlc.text.showGrap_n81i </a>
<a
href='<c:url value="/detection/switchDetection.do?action=singleSwitchInfo" />&detectId= ${dsiId}&seqId=${seqId}&checkDate=${checkDate}'>
i18n_sitlc.text.showList_n81i</a>
</td>
</tr>
</c:if>
</c:forEach>
</c:forEach>
</c:when>
</c:choose>

View File

@@ -0,0 +1,326 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/jstl/c" prefix="c"%>
<%@ taglib uri="/jstl/fn" prefix="fn"%>
<%@ taglib uri="/jstl/fmt" prefix="fmt"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
response.setHeader("Pragma", "No-Cache");
response.setHeader("Cache-Control", "No-Cache");
response.setDateHeader("Expires", 0);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<title>i18n_tcp.message.title_n81i</title>
<link href="<c:url value='/css/nms.css'/>" rel="stylesheet"
type="text/css" />
<link href="<c:url value='/css/suggest.css'/>" rel="stylesheet"
type="text/css" />
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery-1.4.2.min.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/onmouse.js'/>"></script>
<script language="javascript" type="text/javascript"
src="<c:url value='/js/jquery.tools.js'/>"></script>
<script type="text/javascript"
src="<c:url value='/js/jquery.suggest.js' />"></script>
<script type="text/javascript">
function qry(){
document.form3.action="<c:url value='/detection/switchDetection.do?action=toConfigPort'/>";
document.form3.submit();
}
function save(index){
document.form3.action="<c:url value='/detection/switchDetection.do?action=saveConfigPort&index="+index+"'/>";
document.form3.submit();
}
function batchSave(){
/*var length = $("input[name=selectOne]").filter(":checked").length;
if(length <= 0){
alert("请至少选择一条记录");
return;
}*/
document.form3.action="<c:url value='/detection/switchDetection.do?action=saveConfigPort'/>";
document.form3.submit();
}
function batchAllUpDown(num){
var checks = document.getElementsByTagName("input");
if(num == 1){
for(i=0;i<checks.length;i++){
if(checks[i].type=='radio' && checks[i].value=='1'){
checks[i].checked='checked';
}else if(checks[i].type=='radio' && checks[i].value=='2'){
checks[i].checked='';
}else if(checks[i].type=='checkbox' && checks[i].value=='DOWN'){
checks[i].checked='';
}
}
}else if(num == 2){
for(i=0;i<checks.length;i++){//alert(checks[i].type);alert(checks[i].value);
if(checks[i].type=='radio' && checks[i].value=='2'){
checks[i].checked='checked';
}else if(checks[i].type=='radio' && checks[i].value=='1'){
checks[i].checked='';
}else if(checks[i].type=='checkbox' && checks[i].value=='UP'){
checks[i].checked='';
}
}
}
}
//全选
$("input[ name='selectAll']").click(function(){
$("input[name=selectOne]").attr('checked',$(this).attr('checked'));
});
// 单选
$("input[name=selectOne]").click(function(){
$("input[ name='selectAll']").attr('checked',$("input[name=selectOne]").length ==$("input[name=selectOne]").filter(":checked").length);
});
var set_Id;
var ajaxProperties = "";
var ajaxTableName = "";
var ajaxType = "";
var id = "";
var returnDiv = "";
var ajaxValue = "";
function lianxiangkeydown() {
clearTimeout(set_Id);
}
function lianxiangkeyup(ajaxProperties1,ajaxTableName1,ajaxType1,id1,returnDiv1,ajaxValue1) {
if(parent.document.getElementById("lianxiangStatus").value=="2")
{
if(jQuery.trim(ajaxValue1)=="") return false;
ajaxProperties = ajaxProperties1;
ajaxTableName = ajaxTableName1;
ajaxType = ajaxType1;
id = id1;
returnDiv = returnDiv1;
if(!checkStrNoDian(ajaxValue1)){
ajaxValue = ajaxValue1;
}else{
clearTimeout(set_Id);
alert('i18n_tcp.message.inputInfo_n81i');
$("#"+id).val('');
return;
}
clearTimeout(set_Id);
set_Id = setTimeout(ajaxForLianxiang,500);
}
}
function ajaxForLianxiang()
{
jQuery.post("<%=path%>/detection/switchDetection!queryInfoForAjax.do",
{"ajaxProperties":ajaxProperties,"ajaxTableName":ajaxTableName,"ajaxType":ajaxType,"ajaxValue":ajaxValue},function(data)
{
var lianxiangList = data.split(",");
jQuery("#"+id).suggest(lianxiangList,{hot_list:lianxiangList,attachObject:"#"+returnDiv});
if(lianxiangList == ''){
$("#"+id).css("color","#CBC0B6");
}else{
$("#"+id).css("color","#000000");
}
});
}
</script>
<script type="text/javascript">
function ieBrowser(){
if($.browser.msie){
if($.browser.version.split('.')[0]<=7){
return false;
}else{
return true;//ie8+
}
}
}
$(function(){
var dh = document.body.clientHeight;
var dhh = dh-60+"px;";
var tableHeight = $("#info").height();
if(tableHeight > dh-60){
$("#maindiv").attr("style","clear:both;margin-left:6px;overflow-y:auto;overflow-x:auto;width:99%;font-size:12px;height: "+dhh);
if(ieBrowser()){
$("#info").attr("style","width:100%;");
}else{
$("#info").attr("style","width:98.5%;");
}
}else{
$("#maindiv").attr("style","clear:both;margin-left:6px;overflow-y:auto;overflow-x:auto;width:98%;font-size:12px;height: "+dhh);
$("#info").attr("style","width:100%;");
}
$("#info").floatHeaderDiv();
});
window.onresize = function(){
$("#info").floatHeader();//用于浏览器调整大小后 列表表头自动适应
}
/*------ 滚动条滚动 延迟加载页面操作--------------*/
var hght=0;//初始化滚动条总长
var topH=0;//初始化滚动条的当前位置
var pagePoint = ${pageNo};
var memoryData ;
var intervalID ;
var currentPage = 0; //当前页数
var currenttotalPage = 0; //总页数
$(function(){//DOM的onload事件
$("#maindiv").scroll( function() {//定义滚动条位置改变时触发的事件。
hght=this.scrollHeight;//得到滚动条总长赋给hght变量
topH=this.scrollTop+this.clientHeight;//得到滚动条当前值赋给top变量
});
intervalID = setInterval(function(){cando();},1000);//每隔2秒钟调用一次cando函数来判断当前滚动条位置。
function cando(){
currentPage = $("#currentPage").html();
currenttotalPage = $("#currenttotalPage").html();
if(Number(currentPage) < Number(currenttotalPage)){
if(topH!=0 && hght!=0 && topH == hght ){//判断滚动条当前位置是否超过总长的3/2parseInt为取整函数
show();//如果是调用show函数加载内容。
}
}else if(Number(currentPage) == Number(currenttotalPage)){
clearInterval(intervalID);
}
}
function show(){
hght=0;//恢复滚动条总长,因为$(”#mypage”).scroll事件一触发又会得到新值不恢复的话可能会造成判断错误而再次加载……
topH=0;//原因同上。
var nodeIp= $("#nodeIp").val();
var url2 = encodeURI("<c:url value='/detection/switchDetection.do?action=toConfigPortChild'/>&pageSize="+'${pageSize }'+"&pageNo="+(++pagePoint)+"&nodeIp="+nodeIp);
$.ajax({
url:url2,
type : "get",
async:false,
success : function(data) {
$("#info").append($(data));//用append方法追加内容到mypage元素。
$("#currentPage").html(pagePoint);//修改页码
$("#pageNo").val(pagePoint);
}
});
loadButton();
}
});
/*------ 滚动条滚动 延迟加载页面操作--------------*/
</script>
</head>
<body>
<div class="middle_list" id="box">
<!--中间部分右边开始-->
<form name="form3" id="form3"
action="<c:url value='/detection/switchDetection.do?action=toConfigPort'/>"
method="post" enctype="multipart/form-data">
<div class="box_1">
<label class="divTopText"><font class="selectText">i18n_tcp.text.nodeIp_n81i</font>
<input type="text" id="nodeIp"
onkeyup="lianxiangkeyup('nodeIp','NodeTable','String','nodeIp','suggest1',this.value);"
name="nodeIp" title="i18n_tcp.message.nodeIp_n81i" value="${nodeIp}" size="20" />
<div id='suggest1' class="ac_results"></div></label>
<img id="queryBut" src="<c:url value='/images/button_chaxun.png'/>"
class="img_middle2" onclick="javascript:qry();" />
</div>
<div class="box_2">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="javascript:batchSave();" value="i18n_tcp.button.batchSave_n81i" />
</div>
<div id="maindiv">
<table width="90%" border="0" cellpadding="0" cellspacing="0"
class="table" align="center" style="clear: both" id="info">
<tr>
<td class="color_top" width="10%">
i18n_tcp.text.index_n81i
</td>
<td class="color_top" width="30%">
i18n_tcp.text.processIdenName_n81i
</td>
<td class="color_top" width="30%">
i18n_tcp.text.portState_n81i&nbsp;
<input type="checkbox" onclick="javascript:batchAllUpDown(1);"
value="UP" id="UP"/>
UP&nbsp;
<input type="checkbox" onclick="javascript:batchAllUpDown(2);"
value="DOWN" id="DOWN"/>
DOWN
</td>
<td class="color_top" width="30%">
i18n_tcp.text.option_n81i
</td>
</tr>
<c:choose>
<c:when test="${fn:length(nodeFigureInfoList) > 0}">
<c:set var="index" value="${1}" />
<c:forEach items="${nodeFigureInfoList}" var="nodeFigureInfo"
varStatus="vs">
<c:set var="color" value="color_1" />
<c:if test="${vs.count%2!=0 }">
<c:set var="color" value="color_3" />
</c:if>
<tr>
<td class="${color }">
${index+(pageNo-1)*pageSize}
</td>
<td class="${color }">
${nodeFigureInfo.nameFlag}
</td>
<td class="${color }">
<input type="hidden"
name="batchNodeFigureInfo[${index+(pageNo-1)*pageSize}].id"
value="${nodeFigureInfo.id }" />
<input type="radio"
name="batchNodeFigureInfo[${index+(pageNo-1)*pageSize}].portsetState"
value="1"
<c:if test="${nodeFigureInfo.portsetState !=2 }">checked</c:if> />
<font color="green">UP</font>
<input type="radio"
name="batchNodeFigureInfo[${index+(pageNo-1)*pageSize}].portsetState"
value="2"
<c:if test="${nodeFigureInfo.portsetState ==2 }">checked</c:if> />
<font color="red">DOWN</font>
</td>
<td class="${color }">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="javascript:save('${index+(pageNo-1)*pageSize}');" value="i18n_tcp.button.save_n81i" />
</td>
</tr>
<c:set var="index" value="${index + 1}" />
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4" height="20" class="color_6" align="center"
style="color: #000000;">
i18n_tcp.text.noRecord_n81i
</td>
</tr>
</c:otherwise>
</c:choose>
</table>
</div>
<c:if test="${!empty nodeFigureInfoList}">
<jsp:include page="/common/page.jsp" />
</c:if>
<!--中间部分右边结束-->
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<%@ page language="java" pageEncoding="utf-8"%>
<%@include file="/common/taglib.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<c:set var="index" value="${1}" />
<c:choose>
<c:when test="${fn:length(nodeFigureInfoList) > 0}">
<c:forEach items="${nodeFigureInfoList}" var="nodeFigureInfo" varStatus="vs">
<c:set var="color" value="color_1" />
<c:if test="${vs.count%2!=0 }">
<c:set var="color" value="color_3" />
</c:if>
<tr>
<td class="${color }">
${index+(pageNo-1)*pageSize}
</td>
<td class="${color }">
${nodeFigureInfo.nameFlag}
</td>
<td class="${color }">
<input type="hidden" name="batchNodeFigureInfo[${index+(pageNo-1)*pageSize}].id"
value="${nodeFigureInfo.id }" />
<input type="radio"
name="batchNodeFigureInfo[${index+(pageNo-1)*pageSize}].portsetState" value="1"
<c:if test="${nodeFigureInfo.portsetState !=2 }">checked</c:if> />
<font color="green">UP</font>
<input type="radio"
name="batchNodeFigureInfo[${index+(pageNo-1)*pageSize}].portsetState" value="2"
<c:if test="${nodeFigureInfo.portsetState ==2 }">checked</c:if> />
<font color="red">DOWN</font>
</td>
<td class="${color }">
<input type="button" class=btn3_mouseout
onmouseover="this.className='btn3_mouseover'"
onmouseout="this.className='btn3_mouseout'"
onmousedown="this.className='btn3_mousedown'"
onmouseup="this.className='btn3_mouseup'"
onclick="javascript:save('${index+(pageNo-1)*pageSize}');" value="i18n_tcpc.button.save_n81i" />
</td>
</tr>
<c:set var="index" value="${index + 1}" />
</c:forEach>
</c:when>
</c:choose>