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
k18-ntcs-web-ntc/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp

338 lines
10 KiB
Plaintext

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title>
<spring:message code="bandwith"></spring:message>
</title>
</head>
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/pages/css/bandwidth.css">
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
<button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/traffic/bandwidthList'"><i class="fa fa-refresh"></i></button>
<button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><i class="fa fa-history"></i></button>
</div>
<h3 class="page-title">
<spring:message code="traffic"></spring:message>
</h3>
<h5 class="page-header"></h5>
<div class="row" >
<form:form id="searchForm" action="${ctx}/dashboard/traffic/bandwidthList" method="get" class="form-search">
<input id="beginDateh" type="hidden" value="${beginDate}"/>
<input id="endDateh" type="hidden" value="${endDate}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div>
<input id="beginDate" name="beginDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'endDate\')}'});"/>
</div>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div>
<input id="endDate" name="endDate" type="text" readonly="readonly" class="form-control Wdate input-medium"
value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'beginDate\')}',maxDate:'${endDate}'});"/>
</div>
</div>
<div class="pull-left">
<button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->
</form:form>
</div>
<br>
<div class="row">
<div class="col-md-12">
<select id="unitType" class="selectpicker select2 input-small">
<option value="Gbps">Gbps</option>
<option value="pps">pps</option>
<option value="linkNumber"><spring:message code="link_num"/>/S</option>
</select>
<br>
<div id="trend" style="height: 500px; position: relative;" >
<div style="position: relative;">
<div id="chart1" style="width:97%;height:500px;"></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div id="trend" style="height: 500px; position: relative;" >
<div style="position: relative;">
<div id="chart2" style="width:97%;height:500px;"></div>
</div>
</div>
</div>
</div>
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/pages/css/bandwidth.css" type="text/css" />
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var starth=$("#beginDateh").val();
var endh=$("#endDateh").val();
$("#beginDate").val(starth);
$("#endDate").val(endh);
var unitType=$("#unitType").val();
changeBandwidth(unitType,starth,endh);
changeBandwidth2(unitType,starth,endh);
$("#unitType").on("change",function(){
changeBandwidth($("#unitType").val(),$("#beginDate").val(),$("#endDate").val());
changeBandwidth2($("#unitType").val(),$("#beginDate").val(),$("#endDate").val());
});
setInterval(function(){
changeBandwidth($("#unitType").val(),$("#beginDate").val(),new Date().Format("yyyy-MM-dd HH:mm:00"));
changeBandwidth2($("#unitType").val(),$("#beginDate").val(),new Date().Format("yyyy-MM-dd HH:mm:00"));
},500000);// 五分钟调用一次
//筛选功能初始化
$("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){
$(this).selectpicker('val',$(this).find('option:first').val());
$(this).find("option").attr("selected",false);
$(this).find("option:first").attr("selected",true);
});
$(".Wdate").attr("value",'');
$("#searchForm")[0].reset();
});
});
function searchList(){
loading();
var start=$("#beginDate").val();
var end=$("#endDate").val();
if(start==''||end==''||end==null||start==null){
window.location.reload();
}else{
changeBandwidth($("#unitType").val(),start,end);
changeBandwidth2($("#unitType").val(),start,end);
}
}
// 默认显示四条线 ip46,tcp,udp
function rankItemChanged(addrType,transType,beginDate,endDate){
loading();
var result=null;
$.ajax({
url:"${ctx}/dashboard/traffic/bandwidthTrans",
type:"get",
data:{"addrType":addrType,"transType":transType,"beginDate":beginDate,"endDate":endDate},
dataType:"json",
async:false,
timeout:40000,
success:function (data){
if(data!=null){
result=(data)
}
closeTip();
},
error: function(data, textStatus, errorThrown){
closeTip();
},
complete:function(XMLHttpRequest,status){//超时设置
closeTip();
}
});
return result;
}
// 默认显示四条线 ip46,tcp,udp
function rankItemChanged2(addrType,transType,beginDate,endDate){
loading();
var result2=null;
$.ajax({
url:"${ctx}/dashboard/traffic/bandwidthTransTwo",
type:"get",
data:{"addrType":addrType,"transType":transType,"beginDate":beginDate,"endDate":endDate},
dataType:"json",
async:false,
timeout:40000,
success:function (data){
if(data!=null){
result2=(data)
}
closeTip();
},
error: function(data, textStatus, errorThrown){
closeTip();
},
complete:function(XMLHttpRequest,status){//超时设置
closeTip();
}
});
return result2;
}
// 根据单位切换数据
function changeBandwidth(unitType,beginDate,endDate){
var ipv4=rankItemChanged(4,null,beginDate,endDate);
var ipv6=rankItemChanged(6,null,beginDate,endDate);
var transTcp=rankItemChanged(null,6,beginDate,endDate);
var transUdp=rankItemChanged(null,17,beginDate,endDate);
var xdata=ipv4.statTime;
if(unitType=="Gbps"){
ipv4data=ipv4.gbps;
ipv6data=ipv6.gbps;
tcpdata=transTcp.gbps;
udpdata=transUdp.gbps;
}
if(unitType=="pps"){
ipv4data=ipv4.pps;
ipv6data=ipv6.pps;
tcpdata=transTcp.pps;
udpdata=transUdp.pps;
}
if(unitType=="linkNumber"){
ipv4data=ipv4.linkNum;
ipv6data=ipv6.linkNum;
tcpdata=transTcp.linkNum;
udpdata=transUdp.linkNum;
}
var series=new Array();
series.push({
name: "IPv4",
data: ipv4data
},{
name: "IPv6",
data: ipv6data
},{
name: "TCP",
data: tcpdata
},{
name: "UDP",
data: udpdata
});
showBandwidthChart("chart1",unitType,xdata,series,"Astana");
}
// 根据单位切换数据
function changeBandwidth2(unitType,beginDate,endDate){
var ipv4=rankItemChanged2(4,null,beginDate,endDate);
var ipv6=rankItemChanged2(6,null,beginDate,endDate);
var transTcp=rankItemChanged2(null,6,beginDate,endDate);
var transUdp=rankItemChanged2(null,17,beginDate,endDate);
var xdata=ipv4.statTime;
if(unitType=="Gbps"){
ipv4data=ipv4.gbps;
ipv6data=ipv6.gbps;
tcpdata=transTcp.gbps;
udpdata=transUdp.gbps;
}
if(unitType=="pps"){
ipv4data=ipv4.pps;
ipv6data=ipv6.pps;
tcpdata=transTcp.pps;
udpdata=transUdp.pps;
}
if(unitType=="linkNumber"){
ipv4data=ipv4.linkNum;
ipv6data=ipv6.linkNum;
tcpdata=transTcp.linkNum;
udpdata=transUdp.linkNum;
}
var series=new Array();
series.push({
name: "IPv4",
data: ipv4data
},{
name: "IPv6",
data: ipv6data
},{
name: "TCP",
data: tcpdata
},{
name: "UDP",
data: udpdata
});
showBandwidthChart("chart2",unitType,xdata,series,"Alamty");
}
/* 网络带宽时间维度趋势图 */
function showBandwidthChart(id,unitType,xdata,ydata,title){
var chart = Highcharts.chart(id, {
chart:{
// type: 'area',
zoomType: 'x'
},
title: {
text: title
},
navigation: {
buttonOptions: {
y: -15,
x: 5
}
},
exporting: {
filename:'Bandwidth',
scale:1,
sourceWidth: 1280,
sourceHeight: 550,
},
yAxis: {
title: {
text: unitType
},
min:0
},
legend: {
enabled:true
},
xAxis:{
type: 'datetime',
// tickmarkPlacement: 'on',
dateTimeLabelFormats: {
millisecond: '%H:%M:%S.%L',
second: '%H:%M',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
labels: {
rotation: -45, //倾斜的角度
},
categories: xdata,
},
credits:{//是否有highcharts水印
enabled:false
},
/* plotOptions: {
area: {
stacking: 'normal',
lineColor: '#666666',
lineWidth: 1,
marker: {
lineWidth: 1,
lineColor: '#666666'
}
}
}, */
series: ydata,
});
}
</script>
</body>
</html>