From 68a28366a02e867f46f10c2bc507fb3864e4e3ab Mon Sep 17 00:00:00 2001 From: zhanghongqing Date: Thu, 6 Dec 2018 17:27:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E9=87=8F=E7=BB=9F=E8=AE=A1=E6=96=B0?= =?UTF-8?q?=E5=A2=9Eapp=E5=BA=94=E7=94=A8=E8=AF=A6=E6=83=85=EF=BC=8C?= =?UTF-8?q?=E9=98=BB=E6=96=AD=E7=9B=91=E6=B5=8B=E5=8A=A8=E4=BD=9C=E8=B6=8B?= =?UTF-8?q?=E5=8A=BF=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/util/Constants.java | 3 +- .../TrafficStatisticsInfoController.java | 85 ++++- .../resources/messages/message_en.properties | 3 +- .../resources/messages/message_ru.properties | 3 +- .../messages/message_zh_CN.properties | 3 +- src/main/resources/nis.properties | 6 +- .../views/dashboard/dashBoardIndex.jsp | 16 +- .../dashboard/trafficActionTransList.jsp | 110 +++++++ .../views/dashboard/trafficAppTypeList.jsp | 297 ++++++++++++++++++ .../views/dashboard/trafficBandwidthList.jsp | 3 +- .../webapp/static/pages/css/data_text.css | 10 +- .../webapp/static/pages/scripts/echart.js | 196 ++++++++---- 12 files changed, 653 insertions(+), 82 deletions(-) create mode 100644 src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp create mode 100644 src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 0899aa5d6..acf15c5f5 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -699,7 +699,8 @@ public final class Constants { public static final String NTC_RADIUS_REPORT=Configurations.getStringProperty("ntcRadiusReport","ntcRadiusReport"); public static final String TRAFFIC_BANDWIDTH_TRANS=Configurations.getStringProperty("trafficBandwidthTrans","trafficBandwidthTrans"); public static final String TRAFFIC_PROTOCOL_LIST=Configurations.getStringProperty("trafficProtocolList","trafficProtocolList"); - + public static final String TRAFFIC_APP_LIST=Configurations.getStringProperty("trafficAppList","trafficAppList"); + public static final String NTC_ACTION_ENTRANCE_REPORT=Configurations.getStringProperty("ntcActionEntranceReport","ntcActionEntranceReport"); /** * httpclient 工具超时时间设置 */ diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 632279c36..b0f32f98f 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -106,6 +106,37 @@ public class TrafficStatisticsInfoController extends BaseController { public String bandwidthList( HttpServletRequest request, HttpServletResponse response, Model model){ return "/dashboard/trafficBandwidthList"; } + /** + * 流量统计滚动动作查看详情页面 + */ + @RequestMapping(value={"trafficBlockList","trafficMonitorList"}) + public String serviceBlockList(@RequestParam("searchAction")String searchAction,HttpServletRequest request, HttpServletResponse response, Model model){ + model.addAttribute("searchAction", searchAction); + return "/dashboard/trafficActionTransList"; + } + /** + * 根据动作查询entrance趋势 间隔5分钟数据 + */ + @RequestMapping(value="actionEntranceTrans") + @ResponseBody + public List actionTrans(@RequestParam("searchAction")String searchAction){ + Map fromJsonList = new HashMap(); + List resultList = new ArrayList(); + String url = Constants.DASHBOARD_URL+Constants.NTC_ACTION_ENTRANCE_REPORT; + url=url+"?searchAction="+searchAction; + try { + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken(){}.getType()); + logger.info(searchAction+"动作间隔5分钟数据"+fromJsonList); + resultList = (ArrayList) fromJsonList.get("data"); + } catch (Exception e) { + e.printStackTrace(); + logger.error(searchAction+"动作详情数据获取错误"+e); + resultList.add(Maps.newHashMap("error","request_service_failed")); + } + return resultList; + } /** * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 */ @@ -190,5 +221,57 @@ public class TrafficStatisticsInfoController extends BaseController { } return list; } - + /** + * App类型详细列表 + */ + @RequestMapping(value="appTypeList") + public String appTypeList(){ + return "/dashboard/trafficAppTypeList"; + } + /** + * 协议详情统计图跟表 + */ + @RequestMapping(value="appList") + @ResponseBody + public List appList(){ + Map fromJsonList = new HashMap(); + List list = new ArrayList(); + String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_APP_LIST; + try { + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken(){}.getType()); + logger.info("app详情5分钟数据"+fromJsonList); + list = (ArrayList) fromJsonList.get("data"); + Long totalLink=0l; + Long totalPackets=0l; + Double totalGByte=0d; + DecimalFormat lf = new DecimalFormat("0"); + DecimalFormat df = new DecimalFormat("0.00000000"); + if(!StringUtil.isEmpty(list)){ + for (Object object : list) { + Map m=(Map) object; + totalGByte+=Double.parseDouble(m.get("GByte").toString()); +// String linkNum = df.format(m.get("linkNum")); + m.put("GByte", df.format(m.get("GByte"))); + m.put("packets", lf.format(m.get("packets"))); + m.put("linkNum", lf.format(m.get("linkNum"))); + totalLink+=Long.parseLong( m.get("linkNum").toString()); + totalPackets+=Long.parseLong(m.get("packets").toString()); + } + for (Object object : list) { + Map m=(Map) object; + m.put("totalLink", totalLink); + m.put("totalPackets", totalPackets); + m.put("totalGByte", totalGByte); + } + } + + } catch (Exception e) { + e.printStackTrace(); + logger.error("app详情数据获取错误"+e); + list.add(Maps.newHashMap("error","request_service_failed")); + } + return list; + } } diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index adc5a3adc..77da54870 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1346,4 +1346,5 @@ policy_sipv4_user=Three tier access to IP(IPv4) policy_sipv6_user=Three tier access to IP(IPv6) creat_time=Creat Time close_time=Close Time -nat_ip=Multiplexed IP Address \ No newline at end of file +nat_ip=Multiplexed IP Address +traffic=Traffic \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 06f5b5b17..f4d987047 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1347,4 +1347,5 @@ ip_check=\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0440\u0430\u0432\u04 user_type=User Type policy_vpn_user=VPN access user name policy_sipv4_user=Three tier access to IP(IPv4) -policy_sipv6_user=Three tier access to IP(IPv6) \ No newline at end of file +policy_sipv6_user=Three tier access to IP(IPv6) +traffic=Traffic \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 3e3b59a2f..bf808dd33 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1344,4 +1344,5 @@ policy_sipv4_user=\u4E09\u5C42\u63A5\u5165\u6E90IP(IPv4) policy_sipv6_user=\u4E09\u5C42\u63A5\u5165\u6E90IP(IPv6) creat_time=\u94FE\u63A5\u5EFA\u7ACB\u65F6\u95F4 close_time=\u94FE\u63A5\u7ED3\u675F\u65F6\u95F4 -nat_ip=\u590d\u7528\u7684IP\u5730\u5740 \ No newline at end of file +nat_ip=\u590D\u7528\u7684IP\u5730\u5740 +traffic=Traffic \ No newline at end of file diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index 6be65fb44..6b2a44718 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -572,4 +572,8 @@ allIpGet=AllIpGet trafficBandwidthTrans=trafficBandwidthTrans trafficProtocolList=trafficProtocolList irSnatLog=irSnatLogs -irDnatLog=irDnatLogs \ No newline at end of file +irDnatLog=irDnatLogs +trafficBandwidthTrans=trafficBandwidthTrans +trafficProtocolList=trafficProtocolList +trafficAppList=trafficAppList +ntcActionEntranceReport=ntcActionEntranceReport \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp b/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp index 955af296f..97000d781 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp @@ -37,8 +37,8 @@

-

In 0 | Out 0

@@ -47,7 +47,7 @@

@@ -56,7 +56,7 @@

-

0

+

0

@@ -65,15 +65,13 @@
- +
-
-

" class="tooltips" data-flag="false" data-html="true" data-placement="top">

-

0

+

0

@@ -232,7 +230,7 @@
-    +   
diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp new file mode 100644 index 000000000..6e39b688b --- /dev/null +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp @@ -0,0 +1,110 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + <spring:message code="traffic_ip_active"></spring:message> + + + + + +
+ +

+ +

+ +
+ + + +
+ + + + +<%-- --%> + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp new file mode 100644 index 000000000..4d4a30d30 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp @@ -0,0 +1,297 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +app类型 + + + + + + + + + +
+ +

+ +

+ +
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + +
() () ()
+
+
  
+
+
+ + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp index 613efdaf7..cbd56d28d 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp @@ -17,7 +17,7 @@

- +

@@ -115,7 +115,6 @@ function rankItemChanged(addrType,transType){ }, error: function(data, textStatus, errorThrown){ closeTip(); -// warning_prompt("获取实时列表数据失败!",1500); }, complete:function(XMLHttpRequest,status){//超时设置 closeTip(); diff --git a/src/main/webapp/static/pages/css/data_text.css b/src/main/webapp/static/pages/css/data_text.css index c2a2072ed..1b828086b 100644 --- a/src/main/webapp/static/pages/css/data_text.css +++ b/src/main/webapp/static/pages/css/data_text.css @@ -127,7 +127,7 @@ p{ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; - margin: -3px; + margin: -2px; margin-left: -20px; } .data_content .data_info>div.info_1 p:nth-child(2){ @@ -186,6 +186,14 @@ p{ margin-top: 1px; margin-left: 0px; } +.data_content .data_info>div.info_1 .fl_fc .numberRun1{ + width:100%; + font-weight: 600; + font-size: 16px; + color:#288dce; + margin-top: 33px; + margin-left: 0px; +} .data_content .data_info>div.info_1 .fl_fc .numberRun4-unit{ font-weight: 500; font-size: 16px; diff --git a/src/main/webapp/static/pages/scripts/echart.js b/src/main/webapp/static/pages/scripts/echart.js index 66934ede5..539190487 100644 --- a/src/main/webapp/static/pages/scripts/echart.js +++ b/src/main/webapp/static/pages/scripts/echart.js @@ -4,13 +4,17 @@ function echart_1(rs) { var data=new Array(); var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); var pktNum=new Array(); var byteLen=new Array(); //协议图-操作系统 data.push({ name: d.protoType, - y: parseInt(d.count), + y: parseFloat(inoctetsNum), // drilldown: d.protoType, }); @@ -69,12 +73,14 @@ title: { text: null }, - tool: { + /*tool: { enabled: true, - headerFormat: '{point.key}: {point.percentage:.1f}%
', - pointFormat: '{series.name}: {point.y}', - shared: true, - useHTML: true +// headerFormat: '{point.key}- {point.percentage:.1f}%'+unit, + pointFormat: '{series.name} {point.y}'+unit, + },*/ + tooltip: { + headerFormat: '{series.name}
', + pointFormat: '{point.name}
{point.y}
'+unit }, credits:{//是否有highcharts水印 enabled:false @@ -152,7 +158,7 @@ series: [{ type: 'pie', innerSize: '70%',//圆环的大小 - name: 'bytes', + name: ' ', data: data }], // drilldown:{ @@ -188,21 +194,25 @@ var data=new Array(); var xData=new Array(); var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { - var pktNum=new Array(); - var byteLen=new Array(); + var inoctetsNum=d.linkNum; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); + /*var pktNum=new Array(); + var byteLen=new Array();*/ xData.push(d.ipAddr); //活跃IP图 data.push({ name: d.ipAddr, - y: parseInt(d.linkNum), + y: parseFloat(inoctetsNum), // drilldown: d.ipAddr, }); - pktNum[0]="pktNum"; + /*pktNum[0]="pktNum"; pktNum[1]=parseInt(d.pktNum); byteLen[0]="byteLen"; - byteLen[1]=parseInt(d.byteLen); - drillData.push({ + byteLen[1]=parseInt(d.byteLen);*/ + /*drillData.push({ name: d.ipAddr, id: d.ipAddr, type:'pie', @@ -211,7 +221,7 @@ pointFormat: '{series.name}: {point.y} ({point.percentage:.1f}%)' }, data: [pktNum,byteLen], - }); + });*/ }); var chart = Highcharts.chart('chart_main', { chart: { @@ -285,7 +295,7 @@ yAxis: { min: 0, title: { - text: 'bytes', + text: unit, align:'high', style: {//设置字体颜色 color: '#fff', @@ -304,9 +314,9 @@ }, tooltip: { -// valueSuffix: ' 单位' - }, - + headerFormat: '{series.name}
', + pointFormat: '{point.name}
{point.y}
'+unit + }, plotOptions: { bar: { dataLabels: { @@ -327,7 +337,7 @@ enabled:false }, series: [{ - name: 'bytes', + name: ' ', colorByPoint: true, data: data }], @@ -350,23 +360,59 @@ // } }); } - + function changeNum(inoctetsNum){ + // 变化单位 + var inoctetsNumK=inoctetsNum/1024; + var inoctetsNumM=inoctetsNumK/1024; + var inoctetsNumG=inoctetsNumM/1024; + if(inoctetsNumK>1){ + inoctetsNum=inoctetsNumK; + }; + if(inoctetsNumM>1){ + inoctetsNum=inoctetsNumM; + }; + if(inoctetsNumG>1){ + inoctetsNum=inoctetsNumG; + }; + inoctetsNum=inoctetsNum.toFixed(1) + return inoctetsNum; + } + function changeUnit(inoctetsNum){ + // 变化单位 + var unit="bytes"; + var inoctetsNumK=inoctetsNum/1024; + var inoctetsNumM=inoctetsNumK/1024; + var inoctetsNumG=inoctetsNumM/1024; + if(inoctetsNumK>1){ + unit="KB"; + }; + if(inoctetsNumM>1){ + unit="MB"; + }; + if(inoctetsNumG>1){ + unit="GB"; + }; + return unit + } //app应用类型统计 echart_3 function echart_3(rs) { var data=new Array(); var xData=new Array(); var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); var pktNum=new Array(); var byteLen=new Array(); xData.push(d.appType); - //活跃IP图 data.push({ name: d.appType, - y: parseInt(d.count), + y: parseFloat(inoctetsNum), // drilldown: d.appType, }); - pktNum[0]="pktNum"; +/* pktNum[0]="pktNum"; pktNum[1]=parseInt(d.pktNum); byteLen[0]="byteLen"; byteLen[1]=parseInt(d.byteLen); @@ -374,7 +420,7 @@ name: d.appType, id: d.appType, data: [pktNum,byteLen], - }); + });*/ }); var chart = Highcharts.chart('chart_3',{ chart: { @@ -437,7 +483,7 @@ yAxis: { min: 0, title: { - text: 'bytes', + text: unit, align:'high', style: {//设置字体颜色 color: '#fff', @@ -457,7 +503,7 @@ tooltip: { enabled: true, headerFormat: '{point.key}
', - pointFormat: '{series.name}: {point.y}', + pointFormat: '{point.y:.1f} '+unit, shared: true, useHTML: true }, @@ -479,7 +525,7 @@ }, series: [{ - name: 'bytes', + name: '', colorByPoint: true, data: data }], @@ -502,20 +548,24 @@ }*/ }); } - //终端用户 分操作系统与浏览器 + //终端用户 分操作系统 function echart_2(rs){ var data=new Array(); var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { - var pktNum=new Array(); - var byteLen=new Array(); + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); +// var pktNum=new Array(); +// var byteLen=new Array(); data.push({ name: d.osType, - y: parseInt(d.count), + y: parseFloat(inoctetsNum), // drilldown: d.osType, }); - pktNum[0]="pktNum"; +/* pktNum[0]="pktNum"; pktNum[1]=parseInt(d.pktNum); byteLen[0]="byteLen"; byteLen[1]=parseInt(d.byteLen); @@ -525,7 +575,7 @@ function echart_2(rs){ id: d.osType, type:'pie', data: [pktNum,byteLen], - }); + });*/ }); // 创建图例 @@ -616,12 +666,12 @@ function echart_2(rs){ tooltip: { enabled: true, headerFormat: '{point.key}: {point.percentage:.1f}%
', - pointFormat: '{series.name}: {point.y}', + pointFormat: '{point.y} '+unit, shared: true, useHTML: true }, series: [{ - name: 'bytes', + name: ' ', colorByPoint: true, data: data }], @@ -648,17 +698,21 @@ function echart_2(rs){ function echart_5(rs){ var data=new Array(); var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { - var pktNum=new Array(); - var byteLen=new Array(); + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); +// var pktNum=new Array(); +// var byteLen=new Array(); //协议图-操作系统 data.push({ name: d.bsType, - y: parseInt(d.count), + y: parseFloat(inoctetsNum), // drilldown: d.bsType, }); - pktNum[0]="pktNum"; +/* pktNum[0]="pktNum"; pktNum[1]=parseInt(d.pktNum); byteLen[0]="byteLen"; byteLen[1]=parseInt(d.byteLen); @@ -668,7 +722,7 @@ function echart_5(rs){ id: d.bsType, type:'pie', data: [pktNum,byteLen], - }); + });*/ }); // 创建图例 @@ -760,12 +814,12 @@ function echart_5(rs){ tooltip: { enabled: true, headerFormat: '{point.key}: {point.percentage:.1f}%
', - pointFormat: '{series.name}: {point.y}', + pointFormat: '{point.y} '+unit, shared: true, useHTML: true }, series: [{ - name: 'bytes', + name: ' ', colorByPoint: true, data: data }], @@ -792,17 +846,21 @@ function echart_5(rs){ //网站流量分析 function echart_4(rs){ var data=new Array(); - var drillData=new Array(); +// var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { - var pktNum=new Array(); - var byteLen=new Array(); + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); +// var pktNum=new Array(); +// var byteLen=new Array(); data.push({ name: d.websiteService, - y: parseInt(d.count), + y: parseFloat(inoctetsNum), // drilldown: d.websiteService, }); - pktNum[0]="pktNum"; +/* pktNum[0]="pktNum"; pktNum[1]=parseInt(d.pktNum); byteLen[0]="byteLen"; byteLen[1]=parseInt(d.byteLen); @@ -812,7 +870,7 @@ function echart_4(rs){ id: d.websiteService, type:'pie', data: [pktNum,byteLen], - }); + });*/ }); // 创建图例 @@ -895,15 +953,15 @@ function echart_4(rs){ fontFamily:'Microsoft YaHei', } }, - tooltip: { + tooltip: { enabled: true, headerFormat: '{point.key}: {point.percentage:.1f}%
', - pointFormat: '{series.name}: {point.y}', + pointFormat: '{point.y} '+unit, shared: true, useHTML: true }, series: [{ - name: 'bytes', + name: ' ', colorByPoint: true, data: data, }], @@ -929,18 +987,22 @@ function echart_4(rs){ //网站流量分析-点击列表显示网站分类 function echart_6(rs){ var data=new Array(); - var drillData=new Array(); +// var drillData=new Array(); + var unit="bytes"; $(rs).each(function(i, d) { - var pktNum=new Array(); - var byteLen=new Array(); + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); +// var pktNum=new Array(); +// var byteLen=new Array(); //协议图-操作系统 data.push({ name: d.domain, - y: parseInt(d.count), + y: parseFloat(inoctetsNum), // drilldown: d.domain, }); - pktNum[0]="pktNum"; +/* pktNum[0]="pktNum"; pktNum[1]=parseInt(d.pktNum); byteLen[0]="byteLen"; byteLen[1]=parseInt(d.byteLen); @@ -950,7 +1012,7 @@ function echart_6(rs){ id: d.domain, type:'pie', data: [pktNum,byteLen], - }); + });*/ }); // 创建图例 @@ -1033,15 +1095,15 @@ function echart_6(rs){ fontFamily:'Microsoft YaHei', } }, - tooltip: { + tooltip: { enabled: true, headerFormat: '{point.key}: {point.percentage:.1f}%
', - pointFormat: '{series.name}: {point.y}', + pointFormat: '{point.y} '+unit, shared: true, useHTML: true }, series: [{ - name: 'bytes', + name: ' ', colorByPoint: true, data: data, }], @@ -1070,21 +1132,27 @@ function echart_topic_domain(rs){ 'parent': '', 'name': 'TOPIC' }]; - + var unit="bytes"; $(rs).each(function(i,d){ + var inoctetsNum=d.count; + unit=changeUnit(inoctetsNum); + inoctetsNum=changeNum(inoctetsNum); data.push({ 'id': '1.'+d.topicId, 'parent': '0.0', 'name': d.topic, - 'value':d.count + 'value':parseFloat(inoctetsNum) }); /****主题中的子域名*******/ $(d.domainData).each(function(j,t){ + var domainNum=d.count; + unit=changeUnit(domainNum); + domainNum=changeNum(domainNum); data.push({ 'id': '2.'+t.webId, 'parent': '1.'+d.topicId, 'name': t.domain, - 'value':t.count + 'value':parseFloat(domainNum) }); }) @@ -1186,7 +1254,7 @@ function echart_topic_domain(rs){ }], tooltip: { headerFormat: "", - pointFormat: '{point.name}: {point.value}' + pointFormat: '{point.name} : {point.value} ' +unit } }); }