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/dashBoardIndex.jsp

621 lines
20 KiB
Plaintext
Raw Normal View History

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>数据概览</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/global/plugins/highcharts/css/common.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/global/plugins/highcharts/css/data_text.css">
<!--[if lt IE 9]>
<script src="js/html5shiv.min.js"></script>
<script src="js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!--content开始-->
<div class="data_content">
<!--header开始-->
2018-08-01 12:59:29 +08:00
<!-- <div class="header-title">
<div class="title-left fl"></div>
2018-07-17 09:13:19 +08:00
<div class="title-center fl"><a href="javascript:window.location.reload()"><i class="fa fa-line-chart"></i>&nbsp;网络流量分析</a></div>
<div class="title-right fr"></div>
</div> -->
2018-08-01 12:59:29 +08:00
<div class="data_info">
<div class="info_1 fl">
<div class="text_1">
<div class="fr">
<div class="fl">
<a href="#">
<span>
<p>业务总量</p>
<p>15802</p>
</span>
</a>
</div>
</div>
<div class="fr">
<div class="fl">
<a href="#">
<span>
<p>异常IP</p>
<p>15802</p>
</span>
</a>
</div>
</div>
<div class="fr">
<!-- <i class="fa fa-bar-chart"></i> -->
<div class="fl">
<a href="#">
<span>
<p>丢包数</p>
<p>15802</p>
</span>
</a>
</div>
</div>
</div>
</div>
<div class="info_2 fl">
<div class="text_2">
<div class="fr">
<div class="fl">
<p>活跃网站流量</p>
<p>15802</p>
</div>
</div>
<div class="fr">
<div class="fl">
<p>境外IP流量</p>
<p>15802</p>
</div>
</div>
</div>
</div>
<div class="info_3 fl">
<div class="text_3">
<div class="fr">
<div class="fl">
<p>热门网站流量</p>
<p>15802</p>
</div>
</div>
<div class="fr">
<div class="fl">
<p>互联网流量包数</p>
<p>15802</p>
</div>
</div>
</div>
</div>
</div>
<!--header结束-->
<div class="data_main">
<div class="main_left fl">
<div class="left_1">
<div class="main_title">
2018-08-01 12:59:29 +08:00
<spring:message code="traffic_protocol_chart"/>&nbsp;&nbsp;<a href="#"><i class="fa fa-list-ul"></i></a>
</div>
<div id="chart_1" class="" style="width:100%;height: 400px;"></div>
</div>
</div>
<!-- 中图 -->
<div class="main_center fl">
<div class="center_text">
<div class="main_title">
2018-07-17 09:13:19 +08:00
<!-- <img src="img/title_3.png" alt=""> -->
2018-08-01 12:59:29 +08:00
<spring:message code="traffic_ipactive_chart"/>&nbsp;&nbsp;<a href="${ctx}/dashboard/ipActiveList"><i class="fa fa-list-ul"></i></a>
</div>
<div id="chart_main" style="width:100%;height:400px;"></div>
</div>
</div>
<div class="main_right fr">
<div class="right_1">
<div class="main_title">
2018-07-17 09:13:19 +08:00
<!-- <img src="img/title_4.png" alt=""> -->
2018-08-01 12:59:29 +08:00
<spring:message code="traffic_app_chart"/>&nbsp;&nbsp;<a href="#"><i class="fa fa-list-ul"></i></a>
</div>
<!-- <div class="choice">
<label for="">类型:</label>
<select name="" id="">
<option value="">核心</option>
<option value="">其它</option>
</select>
</div> -->
<div id="chart_3" class="" style="width:100%;height: 400px;"></div>
<!-- ================ -->
</div>
</div>
</div>
<div class="data_bottom">
<div class="bottom_1 fl">
<div class="main_title">
2018-07-17 09:13:19 +08:00
<!-- <img src="img/title_6.png" alt=""> -->
2018-08-01 12:59:29 +08:00
<spring:message code="traffic_ua_list"/>&nbsp;&nbsp;<a href="#"><i class="fa fa-list-ul"></i></a>
</div>
<div class="main_table">
<table>
<thead>
<tr>
2018-07-17 10:09:34 +08:00
<th><spring:message code="ranking"/></th>
<th>
<div class="choice">
<select name="uaSelect" id="uaSelect">
2018-07-17 10:09:34 +08:00
<option value="system"><spring:message code="os"/></option>
<option value="browser"><spring:message code="browser"/></option>
</select>
</div>
</th>
2018-07-17 10:09:34 +08:00
<th><spring:message code="trend"/></th>
</tr>
</thead>
<tbody id="tbodyData1">
<tr>
<td>1</td>
<td>windows</td>
<td>0</td>
</tr>
<tr>
<td>2</td>
<td>mac</td>
<td>0</td>
</tr>
<tr>
<td>3</td>
<td>Linux</td>
<td>0</td>
</tr>
<tr>
<td>4</td>
<td>DOS</td>
<td>0</td>
</tr>
<tr>
<td>5</td>
<td>windows</td>
<td>0</td>
</tr>
<tr>
<td>6</td>
<td>iOS</td>
<td>0</td>
</tr>
<tr>
<td>7</td>
<td>windows</td>
<td>0</td>
</tr>
<tr>
<td>8</td>
<td>windows</td>
<td>0</td>
</tr>
<tr>
<td>9</td>
<td>windows</td>
<td>0</td>
</tr>
<tr>
<td>10</td>
<td>windows</td>
<td>0</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="bottom_center fl">
<div class="bottom_2 fl">
<div class="main_title">
2018-07-17 09:13:19 +08:00
<!-- <img src="img/title_6.png" alt=""> -->
2018-07-17 10:09:34 +08:00
<spring:message code="traffic_ua_chart"/>
</div>
<div class="main_table">
<div id="chart_2" class="" style="width:100%;height: 400px;"></div>
</div>
</div>
<div class="bottom_3 fl">
<div class="main_title">
2018-07-17 09:13:19 +08:00
<!-- <img src="img/title_6.png" alt=""> -->
2018-08-01 12:59:29 +08:00
<spring:message code="traffic_website_list"/>&nbsp;&nbsp;<a href="#"><i class="fa fa-list-ul"></i></a>
</div>
<div class="main_table">
<table>
<thead>
<tr>
2018-07-17 10:09:34 +08:00
<th><spring:message code="ranking"/></th>
<th><spring:message code="website"/></th>
<th><spring:message code="trend"/></th>
</tr>
</thead>
<tbody id="tbodyData2">
<tr>
<td>1</td>
<td>百度</td>
<td>0</td>
</tr>
<tr>
<td>2</td>
<td>腾讯</td>
<td>0</td>
</tr>
<tr>
<td>3</td>
<td>Google</td>
<td>0</td>
</tr>
<tr>
<td>4</td>
<td>Yahoo</td>
<td>0</td>
</tr>
<tr>
<td>5</td>
<td>qq</td>
<td>0</td>
</tr>
<tr>
<td>6</td>
<td>Googleusercontent</td>
<td>0</td>
</tr>
<tr>
<td>7</td>
<td>Microsoftonline</td>
<td>0</td>
</tr>
<tr>
<td>8</td>
<td>Pornhub</td>
<td>0</td>
</tr>
<tr>
<td>9</td>
<td>Youtube</td>
<td>0</td>
</tr>
<tr>
<td>10</td>
<td>Facebook</td>
<td>0</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="bottom_4 fr">
<div class="main_title">
2018-07-17 09:13:19 +08:00
<!-- <img src="img/title_5.png" alt=""> -->
2018-07-17 10:09:34 +08:00
<spring:message code="traffic_website_type_chart"/>
</div>
<div class="main_table">
<div id="chart_4" class="" style="width:100%;height: 400px;"></div>
</div>
</div>
</div>
</div>
<!--content结束-->
<!-- 列表显示 -->
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/data.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/drilldown.js"></script>
2018-08-01 12:59:29 +08:00
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/echart.js"></script>
<%-- <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/themes/grid.js"></script> --%>
2018-08-01 12:59:29 +08:00
<!-- <style type="text/css">
a:link {
color:#fff !important;
text-decoration:none
}
a:visited {
background-color:yellow !important;
text-decoration:none
}
a:hover {
color:green !important;
text-decoration:none
}
a:active {
color:green !important;
text-decoration:none;
}
</style> -->
<script type="text/javascript">
$(document).ready(function(){
protocolList();//协议统计
ipActiveList();//活跃IP
appTypeList();//应用类型
systemList();//操作系统列表
websiteList();//http网站列表
uaSelectChange($('#uaSelect').val());
//当选择改变时触发
$('#uaSelect').change(function(){
uaSelectChange($('#uaSelect').val());
});
2018-07-17 09:13:19 +08:00
})
//切换下拉列表-操作系统与浏览器
function uaSelectChange(ua){
if(ua=="system"){
systemList();
}
if(ua=="browser"){
browserList();
}
}
//协议类型统计
function protocolList(){
$.ajax({
url: '${ctx}/dashboard/protocol',
type : "get" ,
dataType:"json",
async:true,
success:function (rs) {
echart_1(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//活跃IP统计
function ipActiveList(){
$.ajax({
url: '${ctx}/dashboard/ipActive',
type : "get" ,
dataType:"json",
async:true,
success:function (rs) {
echart_main(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//app应用类型统计
function appTypeList(){
$.ajax({
url: '${ctx}/dashboard/app',
type : "get" ,
dataType:"json",
async:true,
success:function (rs) {
echart_3(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//获取终端用户-操作系统列表 左下
function systemList(){
$.ajax({
url: '${ctx}/dashboard/osList',
type : "get" ,
dataType:"json",
async:true,
beforeSend: function () {
2018-07-17 10:09:34 +08:00
var msg = "Reloading...";
var trLen = $("#tbodyData1 tr").length;
if(trLen<=0) {
2018-07-17 10:09:34 +08:00
msg = "OnLoading...";
}else {
$("#tbodyData1").html("")
}
var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1' colspan='3' align='center'>"+msg+"</td>";
$("#tbodyData1").prepend(tr);
},
success:function (rs) {
$("#tbodyData1").html("");
rs.reverse();
var n=rs.length;
$(rs).each(function(i, itemObj) {
2018-08-01 12:59:29 +08:00
var tr = "<tr class='frist rowData' >";
tr += "<td class='list_c1'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+n+"</a></td>";
tr += "<td class='list_c2'><a href='javascript:;' data-toggle='tooltip' title='"+itemObj.osType+"' onclick='javascript:osClick(\""+itemObj.osType+"\");'>"+itemObj.osType+"</a></td>";
if(itemObj.preCount<itemObj.count){
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+"<i class='fa fa-arrow-up'/>"+"</a></td></tr>";
}else if(itemObj.preCount>itemObj.count){
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+"<i class='fa fa-arrow-down'/>"+"</a></td></tr>";
}else{
2018-08-01 12:59:29 +08:00
tr += "<td class='list_c3'><a href='javascript:osClick(\""+itemObj.osType+"\");'>"+"--"+"</a></td></tr>";
}
n=n-1;
$("#tbodyData1").prepend(tr);
})
//终端图-操作系统
echart_2(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
// 点击操作系统列表右侧显示 浏览器图
function osClick(osType){
$.ajax({
url: '${ctx}/dashboard/browserChart',
type : "get" ,
data:{"osType":osType},
dataType:"json",
async:true,
success:function (rs) {
echart_5(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//点击浏览器列表右侧显示 操作系统图
function bsClick(bsType){
$.ajax({
url: '${ctx}/dashboard/systemChart',
type : "get" ,
data:{"bsType":bsType},
dataType:"json",
async:true,
success:function (rs) {
echart_2(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//获取终端用户-浏览器列表
function browserList() {
$.ajax({
url: '${ctx}/dashboard/bsList',
type : "get" ,
dataType:"json",
async:true,
beforeSend: function () {
2018-07-17 10:09:34 +08:00
var msg = "Reloading...";
var trLen = $("#tbodyData1 tr").length;
if(trLen<=0) {
2018-07-17 10:09:34 +08:00
msg = "OnLoading...";
}else {
$("#tbodyData1").html("")
}
var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1' colspan='3' align='center'>"+msg+"</td>";
$("#tbodyData1").prepend(tr);
},
success:function (rs) {
$("#tbodyData1").html("");
rs.reverse();
var n=rs.length;
$(rs).each(function(i, itemObj) {
var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+n+"</a></td>";
2018-07-17 09:13:19 +08:00
tr += "<td class='list_c2'><a data-toggle='tooltip' title='"+itemObj.bsType+"' href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+itemObj.bsType+"</a></td>";
if(itemObj.preCount<itemObj.count){
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+"<i class='fa fa-arrow-up'/>"+"</a></td></tr>";
}else if(itemObj.preCount>itemObj.count){
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+"<i class='fa fa-arrow-down'/>"+"</a></td></tr>";
}else{
tr += "<td class='list_c3'><a href='javascript:bsClick(\""+itemObj.bsType+"\");'>"+""+"</a></td></tr>";
}
$("#tbodyData1").prepend(tr);
n=n-1;
})
//终端图-浏览器
echart_5(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//获取http网站
function websiteList() {
$.ajax({
url: '${ctx}/dashboard/websiteList',
type : "get" ,
dataType:"json",
async:true,
beforeSend: function () {
2018-07-17 10:09:34 +08:00
var msg = "ReLoading...";
var trLen = $("#tbodyData2 tr").length;
if(trLen<=0) {
2018-07-17 10:09:34 +08:00
msg = "OnLoading...";
}else {
$("#tbodyData2").html("")
}
var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1' colspan='3' align='center'>"+msg+"</td>";
$("#tbodyData2").prepend(tr);
},
success:function (rs) {
$("#tbodyData2").html("");
rs.reverse();
var n=rs.length;
$(rs).each(function(i, itemObj) {
var tr = "<tr class='frist rowData'>";
tr += "<td class='list_c1'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+n+"</a></td>";
tr += "<td class='list_c2'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+itemObj.webId+"</a></td>";
if(itemObj.preCount<itemObj.count){
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+"<i class='fa fa-arrow-up'/>"+"</a></td></tr>";
}else if(itemObj.preCount>itemObj.count){
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+"<i class='fa fa-arrow-down'/>"+"</a></td></tr>";
}else{
tr += "<td class='list_c3'><a href='javascript:webClick(\""+itemObj.webId+"\");'>"+""+"</a></td></tr>";
}
$("#tbodyData2").prepend(tr);
n=n-1;
})
//网站统计图
echart_4(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
//点击http网站列表-显示网站分类图
function webClick(webId){
$.ajax({
url: '${ctx}/dashboard/webTypeChart',
type : "get" ,
data:{"webId":webId},
dataType:"json",
async:true,
success:function (rs) {
echart_6(rs);
},
error: function(data, textStatus, errorThrown){
// warning_prompt("获取实时列表数据失败!",1500);
}
});
}
2018-08-01 12:59:29 +08:00
</script>
</body>
</html>