<%@ page language="java" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="tags" tagdir="/WEB-INF/tags"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <c:set var="ctx" value="${pageContext.request.contextPath}"/> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>全网监控智能分析平台</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <style>h3{font-size: 15px;}</style> </head> <body> <div id="sticky-wrap"> </div> <div> <div class="container"> <ol class="breadcrumb"> <li><a href="${ctx}/index">首页</a></li> <li>监控运营</li> <li class="active">故障管理</li> </ol> </div> </div> <div id="main-container main-tab-container"> <div id="content" class="container"> <div class="tab-bar-bt"> <ul class="nav nav-tabs"> <li class="active"><a id="a_statistics" href="#analysis" data-toggle="tab">故障统计</a></li> <li><a id="a_detail" href="${ctx}/MonitorOperation/FailureAnalysisDetail">故障明细</a></li> <li><a id="a_refer" href="${ctx}/MonitorOperation/FailureAnalysisXcd" >故障维护</a></li> </ul> </div> <div class="section"> <div class="tab-content"> <!-- ---------------------------------------------------------------------- 故障统计 -------------- ------------------------------------------------ --> <div class="tab-pane fade in active" id="analysis"> <div class="row me-row"> <div style="display:none;"><!-- 隐藏Tab|二级Tab跳转 --> <a id="a_tab1" href="#tab1"data-toggle="tab"></a> <!-- <a id="a_tab2" href="#tab2" data-toggle="tab"></a> --> </div> <!-- slide Push Menus --> <div id="slidePushMenus" class="cbp-spmenu-push"> <!-- 筛选项内容 --> <div class="slideMenu" id="cbp-spmenu-s1" style="min-height:540px;" data-placement='right' ><!-- data-title="温馨提示" data-trigger='hover' onclick="Note(Check())" --> <div class="form"> <tags:GZFX_StatTag/> <tags:GZFX_Period_stats/> <tags:GZFX_stats_datasource_channle_business/> <tags:GZFX_Provider_Province_stats/> <tags:GZFX_WarningSource_stats/> <button type="button" class="btn btn-primary" onclick="statsSubmit()">提交</button> <button class="btn btn-warning" onclick="statsReset()">重置</button> </div> </div> <!-- /筛选项内容 --> <div class="main col-xs-12"><!-- this is for emulating position fixed of the nav --> <div id="mainm" class="mainm"></div> <!-- Top Navigation --> <div class="content clearfix"> <div class="block clearfix"> <button id="showLeftPush" class="menu-trigger btn btn-default" onclick="toggleMenu('slidePushMenus')"> <span class="glyphicon glyphicon-list"></span> </button> <div id="defaultTag" class="slide-menu-tags"> <span id="statsStatDimTag" class="label label-info" data-placement="bottom"></span> <span id="statsChartTypeTag" class="label label-info" data-placement="bottom"></span> <span id="statsPeriodTag" class="label label-info" data-placement="bottom">最近一个月</span> <span id="statsProvinceTag" class="label label-info" data-placement="bottom">全国</span> <span id="statsDataSourceTag" class="label label-info" data-placement="bottom"></span> <span id="statsChannelTag" class="label label-info" data-placement="bottom"></span> <span id="statsBusinessTag" class="label label-info" data-placement="bottom"></span> <span id="statsWarningSourceTag" class="label label-info" data-placement="bottom"></span> <span id="statsProviderTag" class="label label-info" data-placement="bottom">所有集成商</span> </div> <div class="tab-content"> <div class="tab-pane fade in active" id="tab1"> <div class="row"> <div class="bt-list-import"> <a href="#" id="exportData1" class="exportData"> <span class="glyphicon glyphicon-import"></span> <span class="glyphicon-class">导出报表</span> </a> </div> <div class="col-xs-12"> <div class="panel panel-default"> <div class="panel-heading"> 故障统计分析 </div> <div class="panel-body"> <div name="loading" class="loading"><img src="${ctx}/static/images/loading.gif"/></div> <iframe id="gzIframe" name="gzIframe" style="height:250px;" scrolling="no" src="${biserver_config}&path=MonitorOperation/FailureAnalysis/&action=gzfx_enter.xaction&height=165&width=790&driEnable=true&driLink=entryToDetail"></iframe> </div> </div> </div> <div class="col-xs-6"> <div class="panel panel-default"> <div class="panel-heading">集成商故障占比分析</div> <div class="panel-body"> <div name="loading" class="loading"><img src="${ctx}/static/images/loading.gif"/></div> <iframe id="gzIframe1" name="gzIframe1" style="height:250px;" scrolling="no" src="${biserver_config}&path=MonitorOperation/FailureAnalysis&action=gzfx_enter.xaction&source=ProviderCount&height=165&width=375&driEnable=true&driLink=providerToDetail"></iframe> </div> </div> </div> <div class="col-xs-6"> <div class="panel panel-default"> <div class="panel-heading"> 故障变化趋势 <!-- <div class="btn-group btn-group-cog" style=""> <button type="button" id="largeRep" class="btn btn-default dropdown-toggle btn-control-cog"> <span class="glyphicon glyphicon-zoom-in"></span> </button> </div> --> </div> <div class="panel-body" > <div id="lineChartDiv" style="height:250px;width:495px;"></div> <image id="imgExport2" style="height:240px; width:500px;display:none;" /> </div> </div> <canvas id="canvas" ></canvas> </div> </div> <form id='pnForm' action='${ctx}/MonitorOperation/FailureAnalysisDetail' method='get' target='_blank'><input type='hidden' name="provinceId"/></form> <form id='pdForm' action='${ctx}/MonitorOperation/FailureAnalysisDetail' method='get' target='_blank'><input type='hidden' name="providerId"/></form> <form id='tForm' action='${ctx}/MonitorOperation/FailureAnalysisDetail' method='get' target='_blank'><input type='hidden' name="dateVal"/></form> <form id="mulForm" action="${ctx}/MonitorOperation/FailureAnalysisDetail" method="post" target="_blank"> <input type="hidden" id="mulPeriodTag" name="timeTag" /> <input type="hidden" id="mulWarningSourceTag" name="warningSourceTag" /> <input type="hidden" id="mulDataSourceTag" name="dataSourceTag"/> <input type="hidden" id="mulChannelTag" name="channelTag" /> <input type="hidden" id="mulBusinessTag" name="businessTag" /> <input type="hidden" id="mulProvinceTag" name="provinceTag" /> <input type="hidden" id="mulProviderTag" name="providerTag" /> </form> </div> </div> </div><!-- /scroller --> </div><!-- /slide Push Menus --> </div> </div> </div> </div> <form id="export" action="#" method="post"> <input type="hidden" id="imagesrc" name="imagesrc" value=""> </form> </div> </div> </div> </div> <script type="text/javascript" src="${ctx}/static/js/dygraph-combined2.js"></script> <script type="text/javascript" src="${ctx}/static/js/dygraph-extra.js"></script> <script type="text/javascript" src="${ctx}/static/js/canvg.js"></script> <script type="text/javascript"> var clickxdata; var lineChartSrc; var isIndex = true; $.ajax({ type : "GET", dataType: "text", url: "${ctx}/MonitorOperation/FailureAnalysis/lineChartChange", async: false, beforeSend: function(){}, success: function(data){ var csvdata="日期:,故障数"; for(var i=0;i<data.length;i++){ if(data[i]=='\"'){ data=data.replace('\"','\''); } } data=eval("("+data+")");//获取从后台返回的数据,通常是Json格式 for(var j=0;j<data.length;j++){ if(j%2==0){ csvdata+="\n"+data[j]; }else{ csvdata+=","+data[j]; } } g = new Dygraph(document.getElementById("lineChartDiv"), csvdata, { legend: 'always', labelsDivStyles: { } } ); Dygraph.Export.asPNG(g, imgExport2); $('#imgExport2').hide(); // $('#imgExport2').show(); lineChartSrc=$("#imgExport2").attr("src"); $("#imagesrc").val(lineChartSrc); isIndex = true; } }); </script> <script type="text/javascript"> //窗口自适应 $(function(){ /*for(var i=0; i<document.getElementsByTagName('iframe').length;i++){ if(document.getElementsByTagName('iframe')[i].parentNode.getElementsByTagName('div').length>0){ document.getElementsByTagName('iframe')[i].parentNode.getElementsByTagName('div')[0].style.display="inherit"; document.getElementsByTagName('iframe')[i].onload = function(){this.parentNode.getElementsByTagName('div')[0].style.display="none";}; } } */ //tab1部分刷新 for(var i=0;i<$('#tab1 iframe').length;i++){ if($('#tab1 iframe').eq(i).parent().find('.loading').length>0){ $('#tab1 iframe').eq(i).parent().find('.loading').fadeIn("fast"); //显现loading图片 $('#tab1 iframe').eq(i).load( function(){ $(this).parent().find('.loading').fadeOut("fast"); //隐藏loading图片 }); } } $("#businessSelectAreaStats").hide(); initDateStats(); }); </script> <script type="text/javascript"> //回到默认页面 function backToTabOne(){ $("#a_tab1").click(); $("#defaultTag").show(); } </script> <!-- 提交stats中的筛选项 --> <script type="text/javascript"> //筛选项提交 function statsSubmit(){ var datasourceSum = getStatsDataSourceCheckedValues().length; var channelSum = getStatsChannelCheckedValues().length; var businessSum = getStatsBusinessCheckedValues().length; var provinceSum = getStatsProvinceCheckedValues().length; var providerSum = getStatsProviderCheckedValues().length; var warningSourceSum = getStatsWarningSourceCheckedValues().length; if(datasourceSum==0){ $.alert('数据来源选择不能为空!');} else if(channelSum==0){ $.alert('渠道选择不能为空!'); } else if(businessSum==0){ $.alert('业务选择不能为空!'); } else if(provinceSum==0){ $.alert('省份选择不能为空!'); } else if(providerSum==0){ $.alert('集成商选择不能为空!'); } else if(warningSourceSum==0){ $.alert('故障来源选择不能为空!'); } else { $("#mulPeriodTag").attr("value",getStatsPeriodStr()); $("#mulWarningSourceTag").attr("value",getStatsWarningSourceValue()); $("#mulDataSourceTag").attr("value",getStatsDataSourceCheckedValuesString()); $("#mulChannelTag").attr("value",getStatsChannelCheckedValuesString()); $("#mulBusinessTag").attr("value",getStatsBusinessCheckedValuesString()); $("#mulProvinceTag").attr("value",getStatsProvinceCheckedValuesString()); $("#mulProviderTag").attr("value",getStatsProviderCheckedValuesString()); $("#gzIframe").empty(); $("#gzIframe1").empty(); gzfx_bar = "${biserver_config}&path=MonitorOperation/FailureAnalysis&action=gzfx_stats_criteria.xaction&height=165&width=790&ChartTypeTag=BarChart&driEnable=true&driLink=barDrill¶m='stat'&StatDimTag="+ getStatDimCheckedValue() +"&WarningSourceTag="+getStatsWarningSourceValue() +"&PeriodTag="+getStatsPeriodStr() +"&DataSourceTag="+getStatsDataSourceCheckedValuesString() +"&ChannelTag="+getStatsChannelCheckedValuesString() +"&BusinessTag="+getStatsBusinessCheckedValues() +"&ProvinceTag="+getStatsProvinceCheckedValuesString() +"&ProviderTag="+getStatsProviderCheckedValuesString(); gzfx_pie = "${biserver_config}&path=MonitorOperation/FailureAnalysis&action=gzfx_stats_criteria.xaction&height=165&width=375&ChartTypeTag=PieChart&driEnable=true&driLink=barDrill¶m='pie'&StatDimTag=dim_provider_info_t" +"&WarningSourceTag="+getStatsWarningSourceValue() +"&PeriodTag="+getStatsPeriodStr() +"&DataSourceTag="+getStatsDataSourceCheckedValuesString() +"&ChannelTag="+getStatsChannelCheckedValuesString() +"&BusinessTag="+getStatsBusinessCheckedValues() +"&ProvinceTag="+getStatsProvinceCheckedValuesString() +"&ProviderTag="+getStatsProviderCheckedValuesString(); console.log("gzfx_bar="+gzfx_bar); console.log("getStatsWarningSourceValue()="+getStatsWarningSourceValue()); console.log("getStatsWarningSourceValue.length="+getStatsWarningSourceValue().length); console.log("failure exist="+getStatsWarningSourceValue().indexOf("extendFailure")); console.log("xcd exist="+getStatsWarningSourceValue().indexOf("extendXcd")); $('#chart').parent().find('.loading').fadeIn("fast"); $.ajax({ type : "GET", dataType: "text", url: "${ctx}/MonitorOperation/FailureAnalysis/lineChartChange?WarningSourceTag="+getStatsWarningSourceValue() +"&PeriodTag="+getStatsPeriodStr() +"&DataSourceTag="+getStatsDataSourceCheckedValuesString() +"&ChannelTag="+getStatsChannelCheckedValuesString() +"&BusinessTag="+getStatsBusinessCheckedValues() +"&ProvinceTag="+getStatsProvinceCheckedValuesString() +"&ProviderTag="+getStatsProviderCheckedValuesString(), async: false, beforeSend: function(){}, success: function(data){ isIndex = false; var csvdata="日期:,故障数"; for(var i=0;i<data.length;i++){ if(data[i]=='\"'){ data=data.replace('\"','\''); } } data=eval("("+data+")");//获取从后台返回的数据,通常是Json格式 // isDetail = false; for(var j=0;j<data.length;j++){ if(j%2==0){ csvdata+="\n"+data[j]; }else{ csvdata+=","+data[j]; } } g = new Dygraph(document.getElementById("lineChartDiv"), csvdata, { legend: 'always', labelsDivStyles: { } } ); Dygraph.Export.asPNG(g, imgExport2); $('#imgExport2').hide(); // $('#imgExport2').show(); lineChartSrc=$("#imgExport2").attr("src"); $("#imagesrc").val(lineChartSrc); } }); $('#gzIframe').parent().find('.loading').fadeIn("fast"); //显现loading图片 $('#gzIframe').load( function(){ $('#gzIframe').parent().find('.loading').fadeOut("fast"); //隐藏loading图片 }); $("#gzIframe").attr("src",gzfx_bar); $('#gzIframe1').parent().find('.loading').fadeIn("fast"); //显现loading图片 $('#gzIframe1').load( function(){ $('#gzIframe1').parent().find('.loading').fadeOut("fast"); //隐藏loading图片 }); $("#gzIframe1").attr("src",gzfx_pie); //筛选项标签 $("#statsWarningSourceTag").text('故障来源').append($("<span class='badge'></span>").text(getStatsWarningSourceCheckedValues().length)).attr('data-original-title',getStatsWaringSourceCheckedTitles()).tooltip(); $("#statsPeriodTag").text((getStatsPeriodStr()=="")?"最近一个月":"时间范围").attr('data-original-title',getStatsPeriodStr()).tooltip(); //数据来源刷选项 $('#statsDataSourceTag').text('数据来源').append($("<span class='badge'></span>").text(getStatsDataSourceCheckedTexts().length)).attr('data-original-title',getStatsDataSourceCheckedTitles()).tooltip(); //渠道刷选项 $('#statsChannelTag').text('渠道').append($("<span class='badge'></span>").text(getStatsChannelCheckedValues().length)).attr('data-original-title',getStatsChannelCheckedTitles()).tooltip(); //业务刷选项 $('#statsBusinessTag').text('业务').append($("<span class='badge'></span>").text(getStatsBusinessCheckedValues().length)).attr('data-original-title',getStatsBusinessCheckedTitlesString()).tooltip(); //省份筛选项 $('#statsProvinceTag').text('省份').append($("<span class='badge'></span>").text(getStatsProvinceCheckedValues().length)).attr('data-original-title',getStatsProvinceCheckedTitles()).tooltip(); //集成商筛选项 $('#statsProviderTag').text('集成商').append($("<span class='badge'></span>").text(getStatsProviderCheckedValues().length)).attr('data-original-title',getStatsProviderCheckedTitles()).tooltip(); //隐藏筛选项 toggleMenu('slidePushMenus'); } } //定义折线图的钻取时间 $("#lineChartDiv").mousedown(function(){ if(isIndex){ timeToDetail(clickxdata); }else{ barDrill(clickxdata,"time"); } }); //重置stats中的筛选项 function statsReset(){ $("#gzfx_statdim option[value='']").attr("selected","selected"); initDateStats(); statsDataSourceReset(); //statsProvinceReset(); statsProviderReset(); statsWarningSourceReset(); //$("#Statswarningsources option[value='']").attr("selected","selected"); } //首页柱状图的钻取 function entryToDetail(provinceName){ var provinceId = $(".provinceStats[title='"+provinceName+"']").val(); $('#pnForm input').val(provinceId); $('#pnForm').submit(); } //首页饼图的钻取 function providerToDetail(providerName){ var providerId = $(".providerStats[title='"+providerName+"']").val(); $('#pdForm input').val(providerId); $('#pdForm').submit(); } //时间的钻取 首页 function timeToDetail(eletTime){ $('#tForm input').val(eletTime); $('#tForm').submit(); } //多图报表的钻取 //柱状图的钻取 function barDrill(clickTag,paramVal){ statDim = getStatDimCheckedValue(); if(paramVal=="pie"){ statDim = "dim_provider_info_t"; }else if(paramVal=="time"){ statDim = "time"; } if(statDim==''||statDim=="dim_province_info_t"){ var temp = $("#mulProvinceTag").val(); var provinceId = $(".provinceStats[title='"+clickTag+"']").val(); $("#mulProvinceTag").attr("value",provinceId); $("#mulForm").submit(); $("#mulProvinceTag").attr("value",temp); }else if(statDim=="dim_data_source_info_t"){ var temp = $("#mulDataSourceTag").val(); var dataSourceId = $(".datasourceStats[title='"+clickTag+"']").val(); $("#mulDataSourceTag").attr("value",dataSourceId); $("#mulForm").submit(); $("#mulDataSourceTag").attr("value",temp); }else if(statDim=="dim_channel_info_t"){ var temp = $("#mulChannelTag").val(); var channelId = $(".channelStats[title='"+clickTag+"']").val(); $("#mulChannelTag").attr("value",channelId); $("#mulForm").submit(); $("#mulChannelTag").attr("value",temp); }else if(statDim=="dim_provider_info_t"){ var temp = $("#mulProviderTag").val(); var providerId = $(".providerStats[title='"+clickTag+"']").val(); $("#mulProviderTag").attr("value",providerId); $("#mulForm").submit(); $("#mulProviderTag").attr("value",temp); }else if(statDim=="dim_warning_source_info_t"){ var temp = $("#mulWarningSourceTag").val(); var warningSourceId = $(".warningsourceStats[title='"+clickTag+"']").val(); $("#mulWarningSourceTag").attr("value",warningSourceId); $("#mulForm").submit(); $("#mulWarningSourceTag").attr("value",temp); }else if(statDim=="time"){ var temp = $("#mulPeriodTag").val(); $("#mulPeriodTag").attr("value",clickTag); $("#mulForm").submit(); $("#mulPeriodTag").attr("value",temp); } }; /* //导出报表 $("#exportData").click(function(){ $.dialog({ title: "报表导出", content: "确定要导出报表?", button: [{ value: "确定", callback: function () { // alert($('input[name="expradio"]:checked').val()); var listForm=$("#export"); listForm.attr("action","${ctx}/MonitorOperation/FailureAnalysis/exportWord"); listForm.submit(); listForm.attr("action","#"); } },{ value: "取消", callback: function () {} }], lock: false }); }); */ //导出报表 $(".exportData").click(function(){ var picArr = new Array(); $("#tab1").find("iframe").each(function(){ var tmpArr = new Array(); var tmpStr = $(window.frames[$(this).attr("id")].document).find("img").attr("src"); tmpArr = tmpStr.split("?image="); picArr.push(tmpArr[1]); }); var picStr = picArr.join(","); $.dialog({ id: "export", title: "请选择导出文件类型", content: "<div style='position:relative;height:40px;margin:0 0 0 11px;'><div class='form-horizontal'>" +"<div class='form-group'><div class='col-sm-4'><label class='radio-inline'><input type='radio' name='expradio' class='expradio' value='word' checked/>Word</label></div>" +"<div class='col-sm-4'><label class='radio-inline'><input type='radio' name='expradio' class='expradio' value='excel'/>Excel</label></div>" +"<div class='col-sm-4'><label class='radio-inline'><input type='radio' name='expradio' class='expradio' value='pdf'/>Pdf</label></div></div>" +"</div></div>", width: 276, height: 140, initialize: function () { $(".d-buttons input:first").css({ "color": "#ffffff", "background": "#428bca", "border-color": "#357ebd" }); }, button: [{ value: "确定", callback: function () { var listForm=$("#export"); listForm.attr("action","${ctx}/MonitorOperation/FailureAnalysis/"+$('input[name="expradio"]:checked').val()+"?picStr="+picStr); listForm.submit(); listForm.attr("action","#"); } },{ value: "取消", callback: function () {} }], lock: false }); }); </script> </body> </html>