/** * 处理配置日志总量以及跳转日志界面 */ $(function(){ //获取配置日志总数 getTotalLog(); }); /*function setTime(){ var chooseDate=new Date($('#beginDate').val()); chooseDate=chooseDate.setDate(chooseDate.getDate()+7); var modifyTime=new Date(chooseDate); $('#endDate').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds())); }*/ function setTime(dayData){ var useTime=$('#beginDate').val(); if(useTime==''){ return; } var chooseDate=new Date(useTime); chooseDate=chooseDate.setDate(chooseDate.getDate()+dayData); var now =new Date(); if(now.getTime()=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds())); } function setTimee(){ var chooseDate=new Date($('#searchFoundStartTime').val()); chooseDate=chooseDate.setDate(chooseDate.getDate()+1); var modifyTime=new Date(chooseDate); $('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds())); } function currentTime() { var now = new Date(); var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); var hh = now.getHours(); var mm = now.getMinutes(); var clock = year + "-"; if (month < 10) clock += "0"; clock += month + "-"; if (day < 10) clock += "0"; clock += day + " "; if (hh < 10) clock += "0"; clock += hh + ":"; if (mm < 10) clock += '0'; clock += mm; return (clock); } function getMaxDate(day){ var clock=currentTime(); var dt; var times=0; dt=$("#beginDate").val(); if(dt!=''){ times =Date.parse(dt.replace(/-/g,'/'))+day*24*60*60*1000;//时间间隔为10天 if(times-Date.parse(clock.replace(/-/g,'/'))<0){ var d1 = new Date(times); var year = d1.getFullYear(); var month = d1.getMonth() + 1; //月份以0开头 var day = d1.getDate(); var hh = d1.getHours(); var mm = d1.getMinutes(); var clock = year + "-"; if (month < 10) clock += "0"; clock += month + "-"; if (day < 10) clock += "0"; clock += day + " "; if (hh < 10) clock += "0"; clock += hh + ":"; if (mm < 10) clock += '0'; clock += mm; } } return clock; } var getTotalLog=function(){ /* td需要配置属性有,audit,functionId,compileId,action */ var data={}; //data.date=new Date(); data.compileIds=[]; data.serviceIds=[]; data.objs=[]; $("td[compileId]").each(function(){ var audit=$(this).attr("audit"); var compileId=$(this).attr("compileId"); var serviceId=$(this).attr("serviceId"); var functionId=$(this).attr("functionId"); if(audit&&compileId&&functionId&&serviceId){ if(audit != 0){ var has=false; for(var i=0;i0){ GetLogTotal(data); } } var GetLogTotal=function(_data){ var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.indexOf("/nis")+4); var timeStamp; if(_data.date){ timeStamp=_data.date.valueOf(); }/*else{ timeStamp=(new Date()).valueOf(); }*/ var totalTrs=$(_data.objs); var timeout=$.validator.messages.timeout; var failed=$.validator.messages.failed; var request=$.ajax({ type:'post', timeout:10000,//超时时间设置,查询接口时间过长超时 url:pathName+'/report/ajaxGetLogTotal', data:{"endTime":timeStamp,"serviceIds":_data.serviceIds.join(','),"functionId":_data.functionId,"compileIds":_data.compileIds.join(',')}, dataType:'json', async:true, success:function(data,textStatus){//处理返回结果 if(textStatus=="success"){ totalTrs.each(function(){ var hasLog=false; for(var i=0;i"+data[i].compileId+""); hasLog=true; } } if(!hasLog){ $(this).html("0"); } }) } }, complete:function(XMLHttpRequest,status){//超时设置 if(status=="timeout"){ totalTrs.each(function(){ $(this).html(timeout); }) }else if(status !="success"){ totalTrs.each(function(){ $(this).html(failed); }) } } }); } var toLogSearch = function(index){ // 保存配置界面URL $("#searchForm").each(function(){ var cfgUrl = $(this).attr("action"); sessionStorage.removeItem('cfg_url'); sessionStorage.setItem('cfg_url',cfgUrl); }); var td = document.getElementById(index+"logTotal"); $("td[compileId]").each(function(){ if($(this).attr("id") == index+"logTotal"){ // 获取检索日志参数 var serviceId=$(this).attr("serviceId"); var compileId=$(this).attr("compileId"); var functionId=$(this).attr("functionId"); var date=$(this).attr("date"); var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.indexOf("/nis")+4); switchMenu("152",functionId); window.location.href = pathName+"/toLogSearch?service="+serviceId+"&functionId="+functionId+"&cfgId="+compileId+"&date="+date+"&isLogTotalSearch=yes"; } }); } var switchMenu = function(topMenuId,functionId,oldMenuName){ // 顶部菜单切换 menuId: Policies/86 Logs/152 $(".hor-menu ul li",parent.document).each(function(){ var id = $(this).children("a").attr("id"); if(id == topMenuId){ $(this).addClass("active"); }else{ $(this).removeClass("active"); } }); // 保留左侧菜单特征 var menusObj = $(".page-sidebar ul[class!='hide'] .active",parent.document); var firstMenuName = menusObj.attr("menu-name"); var lastMenuName = $(menusObj,parent.document).last("li[class='nav-item active']").attr("menu-name"); var middleMenu = new Array(); $(menusObj,parent.document).find("li").each(function(){ if($(this).hasClass("active")){ middleMenu.push($(this).attr("menu-name")); } }); if(topMenuId == 152){ if(functionId == 8 || functionId == 35){// HTTP or Mail lastMenuName = middleMenu[0]; } sessionStorage.removeItem('old_memu_name'); sessionStorage.setItem('old_memu_name',middleMenu[middleMenu.length-1]); }else{ lastMenuName = oldMenuName; } // 左侧菜单切换 $(".page-sidebar",parent.document).find("ul[id]").each(function(){ var id = $(this).attr("id") if(id.indexOf(topMenuId) != -1){ $(this).removeClass("hide"); // 收回原展开的菜单 $(this).find("li").each(function(index){ $(this).children("a").children("span").next().removeClass("open"); $(this).children("ul").hide(); }); var count = 0; // 选中左侧菜单 $(this).find("li").each(function(index){ if($(this).attr("menu-name") == lastMenuName){ count++; $(this).children("a").trigger("click");// 选中底层菜单 $(this).parents("li").each(function(){ $(this).addClass("active open"); $(this).children("a").children("span").next().addClass("open"); $(this).children("ul").show(); }); if(topMenuId == 86){ if(functionId == 35 && count == 1){// HTTP/Mail(Advanced) return true; } return false; } } }); }else{ $(this).addClass("hide"); } }); //loading('onloading'); } /*======================时间验证方法start===========================*/ //startTimeSelector:输入框开始时间选择器; //endTimeSelector:输入框结束时间选择器; //granule:时间粒度(数字); //unit:时间粒度单位(h-小时,d-天,w-周,m-月); //formate:时间格式;默认格式:yyyy-MM-dd hh:mm:ss //future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间) function setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){ if(strIsBlank(granule)||strIsBlank(unit)){ console.log("时间粒度或时间单位为空"); return; } if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){ console.log("时间输入框选择器为空"); return; } if(strIsBlank(formate)){ formate="yyyy-MM-dd hh:mm:ss" } if(future==null || future==undefined){ future=false; } var startTimeVal=$(startTimeSelector).val(); var endTimeVal=$(endTimeSelector).val(); var startTime; var endTime; var diff=getTimeDiff(granule,unit);//得到时间粒度差值 if(!strIsBlank(endTimeVal)){ endTime=new Date(endTimeVal); var currentTime=new Date().getTime(); if(!future&&endTime.getTime()>currentTime){ //endTime不能是未来时间 endTime=new Date(); } if(strIsBlank(startTimeVal)){ startTime=new Date(endTime.getTime()-diff); }else{//startTime和endTime都不为空 startTime=new Date(startTimeVal); if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//startTime不在时间粒度之内 startTime=new Date(endTime.getTime()-diff); } } }else{ if(strIsBlank(startTimeVal)){//startTime and endTime 都为空 endTime=new Date(); startTime=new Date(endTime.getTime()-diff); }else{//startTime 不为空,endTime为空 setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future); return; } } $(startTimeSelector).val(dateFtt(formate,startTime)); $(endTimeSelector).val(dateFtt(formate,endTime)); } //startTimeSelector:输入框开始时间选择器; //endTimeSelector:输入框结束时间选择器; //granule:时间粒度(数字); //unit:时间粒度单位(h-小时,d-天,w-周,m-月); //formate:时间格式;默认格式:yyyy-MM-dd hh:mm:ss //future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间) function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){ if(strIsBlank(granule)||strIsBlank(unit)){ console.log("时间粒度或时间单位为空"); return; } if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){ console.log("时间输入框选择器为空"); return; } if(strIsBlank(formate)){ formate="yyyy-MM-dd hh:mm:ss" } if(future==null || future==undefined){ future=false; } var startTimeVal=$(startTimeSelector).val(); var endTimeVal=$(endTimeSelector).val(); var startTime; var endTime; var diff=getTimeDiff(granule,unit);//得到时间粒度差值 if(!strIsBlank(startTimeVal)){ startTime=new Date(startTimeVal); var currentTime=new Date().getTime(); if(!future&&startTime.getTime()>currentTime){//startTime是一个超过当前时间值 startTime=new Date(currentTime-diff); } if(strIsBlank(endTimeVal)){ if(startTime.getTime()+diff>currentTime){ endTime=new Date(); }else{ endTime=new Date(startTime.getTime()+diff); } }else{//startTime和endTime都不为空 endTime=new Date(endTimeVal); if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//endTime不在时间粒度之内 if(startTime.getTime()+diff>currentTime){ endTime=new Date(); startTime=new Date(endTime.getTime()-5*60*1000); }else{ endTime=new Date(startTime.getTime()+diff); } } } }else{ if(strIsBlank(endTimeVal)){//startTime和endTime 都为空 endTime=new Date(); startTime=new Date(endTime.getTime()-diff); }else{ setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,future); return; } } $(startTimeSelector).val(dateFtt(formate,startTime)); $(endTimeSelector).val(dateFtt(formate,endTime)); } function strIsBlank(obj){ if(obj==null || obj==undefined|| obj==''){ return true; }else{ return false; } } /*得到时间差值 单位毫秒*/ function getTimeDiff(granule,unit){ var diff=0; switch(unit){ case 'h'://小时为单位 diff=granule*60*60*1000; break; case 'd'://天为单位 diff=granule*24*60*60*1000; break; case 'w'://周为单位 diff=granule*7*24*60*60*1000; break; case 'm'://月为单位 diff=granule*30*24*60*60*1000; break; default: diff=granule*60*60*1000; } return diff; } function dateFtt(fmt,date){ var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((date.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); return fmt; } /*======================时间验证方法end===========================*/