var windowId,proName = window.location.pathname.split("/")[1],sysUrl = "http://"+window.location.host+"/"+proName,toEdit;
//var result=[12,11,10,9,8,7,6,5,4,3,2,1];
var result=["12月","11月","10月","09月","08月","07月","06月","05月","04月","03月","02月","01月"];
var treeSelectId = "-1";
$(function(){
//	initCountTime();
	$("#datetimeStart").datebox("setValue",$.getTodayStart(0,"00:00:00"));
	$("#datetimeEnd").datebox("setValue",$.getTodayEnd("23:59:59"));
	
	initTree();	
	initGrid();	
});
		
function initTree() {
    $.ajax({
        type: 'post',
        dataType: 'json',
        url: 'ptxzsAction!query_PtxzsTree.do',
        data: {
            order: " order by jdpx asc "
        },
        success: function (data) {
            var setting = {
                data: {
                    key: {title: "name"}
                },
                callback: {
                    onClick: zTreeOnClick
                }
            };
            if (data) {
                $.fn.zTree.init($("#deviceName"), setting, data);
            }
        }
    });

}

function zTreeOnClick(event, treeid, treeNode) {
    treeSelectId = treeNode.id;
}
//加载列表
function initGrid(){	
	toolbar = [
	      {
		        text:'统计列表',
		        iconCls:'icon-search',
		        handler:function(){
		        	showList();
		        }
	      },{
		        text:'统计图',
		        iconCls:'icon-search',
		        handler:function(){
		        	showBarChart();
		        }
	      },{
				text:"导出Excel",
				iconCls:"icon-search",
				handler:function(){
					showExport('excel');
				}
		   },{
				text:"导出PDF",
				iconCls:"icon-search",
				handler:function(){
					showExport('pdf');
				}
		   },{
			    text:"计算公式",
				iconCls:"icon-search",
				handler:function(){
					lookJsgs();
				}
		   },{
				text:"打印",
				iconCls:"icon-search",
				handler:function(){
					dayin();
				}
			}
	];
	showList();
}

//加载统计时间
function initCountTime(){
	var date=new Date();
	var year=date.getFullYear();
	var month=date.getMonth()+1;
	var str=year+"年"+month+"月";	
	$.each(result,function(i,v){
		result[i]=year+"年"+result[i];
	});
	result.unshift("自定义时间");
	$('#countTime').combobox({  
		data : $.obj2ary(result),  
		textField:1,  
		valueField:0,
		panelWidth:148,
		value:str,
		onSelect:function(record){
			var value=record[1].trim();
			if(value=='自定义时间'){
				$("#controlDate").show();
			}else{
				$("#controlDate").hide();
			}
		}
	});
}

$.extend($.fn.datagrid.methods,
		{
	renderAlarmOverviewData:function(n, g, h){
		 var m = n.parent(".datagrid-view:eq(0)"),c;
         var k = m.prev("div").append("<table cellspacing=0 cellpadding=0 style='display:inline-block;height:26px;float:right;'><tbody><tr/></tbody></table>").children("table:eq(1)").find("tbody tr");
         var b = m.parent().height();
         var o = m.parent().width();
         if (!m.next("div.imgcontainer").html()) {
             c = $("<div class='imgcontainer' style='overflow-y:auto; width:99%;height:" + (b - 70) + "px;'></div>");
             m.after(c)
         } else {
             c = m.next("div.imgcontainer")
         }
         if (!g) {
             return
         }
         var f = 0,l = [],e,d,
         j = this;
         var nowTime = getNowTime("-");
         var TABLE='<table  cellspacing="0"  width="100%"  cellpadding="0"  border="1"  align="center"  style="text-align:center;margin:0 auto;	border:1px solid #827d7d;font-size:12px;">\
		           				<thead>\
						        	 <tr>\
										<td colspan="7" style="font-size:14px;font-weight:bold;border:none">点位录像情况统计</td>\
									</tr>\
						     		<tr  style="border-top: 1px solid #827d7d;">\
										<td colspan="7" style="text-align:right;border:none;padding: 15px;">制表时间：'+nowTime+'</td>\
									</tr>\
									<tr>\
		           						<td>序号</td>\
	    	 							<td>行政区划</td>\
	    	 							<td>监控点名称</td>\
	    	 							<td>设备IP</td>\
	    	 							<td>录像正常数</td>\
	    	 							<td>录像异常数</td>\
	    	 							<td>录像完好率</td>\
		           					</tr>\
			           			</thead>\
								<tbody>'
										
		 var zs = 0;
         var zzcs = 0;
         var zycs = 0;
       
         for (; (g.data[f]); f++) {
        	
        	 	var zcs = g.data[f].recordduration == null ? 0 : g.data[f].recordduration;
        	 	var ycs = g.data[f].norecordduration == null ? 0 : g.data[f].norecordduration;
        	 	
        	 	var whs = parseInt(zcs) + parseInt(ycs);
        	 	zs = zs + whs;
        	 	zzcs = zzcs + parseInt(zcs);
        	 	zycs = zycs + parseInt(ycs);

        	 	var whl=0;
        	 	if(whs!=0){
        	 		whl = zcs/whs;
        	 	}
        	 	if(whl!=0){
        	 		whl = whl*100; 
        	 		whl = whl.toFixed(2)+"%";
        	 	}

       	 	var areaname = g.data[f].areaname;
       	 	var videoname = g.data[f].videoname;
       	 	var ipaddress = g.data[f].ipaddress;
       	 	if (areaname == null || areaname == "null") {
       	 		areaname = "";
       	 	}
	       	if (videoname == null || videoname == "null") {
	       		videoname = "";
	    	}
	       	if (ipaddress == null || ipaddress == "null") {
	       		ipaddress = "";
	   	 	}
        	TABLE+='<tr>\
		        		<td>'+(f+1)+'</td>\
				 		<td>'+areaname+'</td>\
				 		<td>'+videoname+'</td>\
				 		<td>'+ipaddress+'</td>\
				 		<td>'+zcs+'</td>\
				 		<td>'+ycs+'</td>\
				 		<td>'+whl+'</td>\
        	 		 <tr>'
         }
         
        var zwhl=0;
        var zwhs = parseInt(zzcs) + parseInt(zycs);
 	 	if(zwhs!=0){
 	 		zwhl = zzcs/zwhs;
 	 	}
 	 	if(zwhl!=0){
 	 		zwhl = zwhl*100; 
 	 		zwhl = zwhl.toFixed(2)+"%";
 	 	}
         TABLE+="<tr>" +
         			"<td colspan='4'>总计</td>" +
         			"<td>"+zzcs+"</td>" +
         			"<td>"+zycs+"</td>" +
         			"<td>"+zwhl+"</td>" +
         		"</tr>"+
         		"</tbody></table>";
         c.html('<div class="img-box"  style="margin:0 auto;">'+ TABLE+'</div>')
     }
});

//查询条件
function getQueryParams(){
	var sParam = {};
	if(treeSelectId == '-1'){				// 本地目录
		treeSelectId = "";
	}
	
	var datetimeStart = $('#datetimeStart').datebox("getValue");
	var datetimeEnd = $('#datetimeEnd').datebox("getValue");
	var sbip = $('#sbip').textbox('getValue');
	var videoname = $('#videoname').textbox("getValue");
	
	sParam.timeStart = datetimeStart;
	sParam.timeEnd = datetimeEnd;
	sParam.xzqh = treeSelectId;
	sParam.videoname = videoname;
	sParam.ipaddress = sbip;
//	console.log("查询：",sParam);
	return sParam;
}


//列表展示
function showList(){
	$("#searchGridListDiv").show();
	$("#searchGridPicDiv").hide();
	displayType = "list";
	$('#searchGridList').datagrid({
		toolbar : toolbar,
		bodyCls:'pic-datagrid',
		rownumbers:false,
		fit: true,
		queryParams:getQueryParams(),
		url : 'ywcountvideoappraiseAction!query_dwlxByPage.do',
		/*columns : [[
			{field:'areanum',title:'行政区划',hidden:false,width:120},
			{field:'areaname',title:'行政区划名称',hidden:false,width:120},
			{field:'videoname',title:'监控点名称',hidden:false,width:75},
			{field:'ipaddress',title:'设备ip',hidden:false,width:50},
			{field:'recordduration',title:'录像正常数',hidden:false,width:75},					
			{field:'norecordduration',title:'录像异常数',hidden:false,width:70},
		]],*/
		onLoadSuccess:function(data){
	    	  console.log("data",data)
			if(data){
				data.data=data.rows;
				data.totalSize=data.total;
				$('#searchGridList').datagrid("renderAlarmOverviewData",data);
			}
		},

	});	
}

function showBarChart(){
	
	$.ajax({
		type : 'post',
		dateType : 'json',
		url : 'ywcountvideoappraiseAction!show_bar.do',
		data : getQueryParams(),
		success : function(res){
//			console.log("结果：",res);
			if(res){
				$("#searchGridPicDiv").show();
				$("#searchGridListDiv").hide();
				$("#searchGridPic").remove();
				$("#searchGridPicDiv").append($("<div id='searchGridPic'  style='height:100%;width:100%;'></div>"));
				var xData=[];
				var zcs=[];
				var ycs=[];
				
				res.forEach(function(item,index){
//					console.log(index,item);
					xData[index] = item.areaname;
					zcs[index] = item.recordduration;
					ycs[index] = item.norecordduration;
				})
				var data={
						"title":"点位录像情况统计",
						"xAxis": xData,
						"legend":[
						          {"name":"录像正常数", "data":zcs,  "color":"green"},
						          {"name":"录像异常数", "data":ycs, "color":"red"},
						        ]};
				$('#searchGridStatics').datagrid({ toolbar : toolbar});
				EchartsBase.barChart({
					id:"searchGridPic",
					data:data
				});
			}
		}
	})
}


function showExport(type){

	var model = getQueryParams();
	$.ajax({
		type : 'post',
		dataType : 'json',
		data : model,
		url : 'ywcountvideoappraiseAction!count_dwlx.do',
		success : function(value) {
			if(value){
				countExport(value,type);
			}else{
				$.showMsg("操作失败！");
			}
		}
	});
}
//导出传参条件
function countExport(totalSize,type) {
	var limit = 5000;
	if (totalSize > 5000) {
		top.$.dlg.confirm('记录过多支持前5000条,确定要将记录导出Excel为表格吗?',function(){ 
			execExport(type);
		});		
	} else {
		top.$.dlg.confirm('确认导出?',function(){ 
			execExport(type);
		})
	}
}
// 调用后台
function execExport(type) {
	var model = getQueryParams();
	var downParam = "";

	var timeStart = model.timeStart;
	var timeEnd = model.timeEnd;
	var xzbh = model.xzbh; 	
	downParam = "xzbh="+xzbh+"&timeStart="+timeStart+"&timeEnd="+timeEnd;
	if(type=="pdf"){
		document.excelForm.action = 'ywcountvideoappraiseAction!expPDF_AreaOnline.do?'+downParam;
	}else{
		document.excelForm.action = 'ywcountvideoappraiseAction!exp_AreaOnline.do?'+downParam;
	}
	document.excelForm.submit(); 
}


function lookJsgs(index) {
	windowId = top.$.createWin({
		title : '计算公式',
		width  :  '400',
		height :  '200',
		url : sysUrl+"/yw/operationcount/videoarchivecount/pointvideocount/lookJsgs.jsp"
	});
}


function getNowTime(flag){
	var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var hour = date.getHours();
	var minute = date.getMinutes();
	var second = date.getSeconds();
	var minsec = date.getMilliseconds(); //获取当前毫秒数(0-999)
    month = month < 10 ? '0' + month : month;
    day = day < 10 ? '0' + day : day;
    hour = hour < 10 ? '0' + hour : hour;
    second = second < 10 ? '0' + second : second;
    if(flag == "-"){
    	return year +"-"+ month +"-"+ day +" "+ hour +":"+ minute +":"+ second;
    }else{
    	return "" + year + month + day + hour + minute + second + minsec;
    }
    
}

function dayin() {
	var userAgent = navigator.userAgent.toLowerCase(); //取得浏览器的userAgent字符串
	if (userAgent.indexOf("trident") > -1) {
		alert("请使用google或者360浏览器打印");
		return false;
	} else if (userAgent.indexOf('msie') > -1) {
		var onlyChoseAlert = simpleAlert({
			"content" : "请使用Google或者360浏览器打印",
			"buttons" : {
				"确定" : function() {
					onlyChoseAlert.close();
				}
			}
		})
		alert("请使用google或者360浏览器打印");
		return false;
	} else {//其它浏览器使用lodop

		var params = getQueryParams();
		var data = {};
		params.rows=10000;
		params.page=1;
		$.ajax({
			type : 'post',
			dateType : 'json',
			url : 'ywcountvideoappraiseAction!query_dwlxByPage.do',
			data : params,
			async : false,
			success : function(res){
				console.log("打印：",res);
				if(res == null){
					$.showMsg("暂无数据！");
					return;
				}else{
					if(res.total>0){
						data = res;
					}else{
						console.log("返回");
						$.showMsg('暂无记录!');
						return;
					}
				}
				
			}
		})
		
		 var nowTime = getNowTime("-");
         var TABLE='<table  cellspacing="0"  width="90%"  cellpadding="0"  border="1"  align="center"  style="text-align:center;margin:0 auto;	border:1px solid #827d7d;font-size:12px;">\
		           				<thead>\
						        	 <tr>\
										<td colspan="7" style="font-size:14px;font-weight:bold;border:none">点位录像情况统计</td>\
									</tr>\
						     		<tr  style="border-top: 1px solid #827d7d;">\
										<td colspan="7" style="text-align:right;border:none;padding: 15px;">制表时间：'+nowTime+'</td>\
									</tr>\
									<tr>\
		           						<td>序号</td>\
	    	 							<td>行政区划</td>\
	    	 							<td>监控点名称</td>\
	    	 							<td>设备IP</td>\
	    	 							<td>录像正常数</td>\
	    	 							<td>录像异常数</td>\
	    	 							<td>录像完好率</td>\
		           					</tr>\
			           			</thead>\
								<tbody>'
										
		 var zs = 0;
         var zzcs = 0;
         var zycs = 0;
         
         var f = 0;
         var g = {"data":data.rows}
         for (; (g.data[f]); f++) {
        	
        	 	var zcs = g.data[f].recordduration == null ? 0 : g.data[f].recordduration;
        	 	var ycs = g.data[f].norecordduration == null ? 0 : g.data[f].norecordduration;
        	 	
        	 	var whs = parseInt(zcs) + parseInt(ycs);
        	 	zs = zs + whs;
        	 	zzcs = zzcs + parseInt(zcs);
        	 	zycs = zycs + parseInt(ycs);

        	 	var whl=0;
        	 	if(whs!=0){
        	 		whl = zcs/whs;
        	 	}
        	 	if(whl!=0){
        	 		whl = whl*100; 
        	 		whl = whl.toFixed(2)+"%";
        	 	}

       	 	var areaname = g.data[f].areaname;
       	 	var videoname = g.data[f].videoname;
       	 	var ipaddress = g.data[f].ipaddress;
       	 	if (areaname == null || areaname == "null") {
       	 		areaname = "";
       	 	}
	       	if (videoname == null || videoname == "null") {
	       		videoname = "";
	    	}
	       	if (ipaddress == null || ipaddress == "null") {
	       		ipaddress = "";
	   	 	}
        	TABLE+='<tr>\
		        		<td>'+(f+1)+'</td>\
				 		<td>'+areaname+'</td>\
				 		<td>'+videoname+'</td>\
				 		<td>'+ipaddress+'</td>\
				 		<td>'+zcs+'</td>\
				 		<td>'+ycs+'</td>\
				 		<td>'+whl+'</td>\
        	 		 <tr>'
         }
         
        var zwhl=0;
        var zwhs = parseInt(zzcs) + parseInt(zycs);
 	 	if(zwhs!=0){
 	 		zwhl = zzcs/zwhs;
 	 	}
 	 	if(zwhl!=0){
 	 		zwhl = zwhl*100; 
 	 		zwhl = zwhl.toFixed(2)+"%";
 	 	}
         TABLE+="<tr>" +
         			"<td colspan='4'>总计</td>" +
         			"<td>"+zzcs+"</td>" +
         			"<td>"+zycs+"</td>" +
         			"<td>"+zwhl+"</td>" +
         		"</tr>"+
         		"</tbody></table>";
  //       c.html('<div class="img-box"  style="margin:0 auto;">'+ TABLE+'</div>')

         
 		var headstr = "<html><head><title></title></head><body>";
 		var footstr = "</body></html>";
  
 		var wind = window.open("", "newwin","toolbar=no,scrollbars=yes,menubar=no");
		wind.document.body.innerHTML = headstr + TABLE + footstr;
		wind.print();
 
		wind.close();
 //		window.location.reload()
		
	 
	}
}
 
