reportDetails.js 8.17 KB
var finereportPath = "";
var currentPage=1;//当前页
var totalpage=0;//总页数
var pageNum = 5;//最多显示页数
var setupLayerData=['建设单位','证号','办理状态','结束时间','项目编号','登记时间','建设地址'];
var searchLayerDate=[];
var curserver
$(function(){
	curserver = CONF_BACK_SERVERURL;
	initializeComponent();
	jdate();
});

function jdate(){
	var start = {
			dateCell:"#inpstart",
	        format: 'YYYY-MM-DD',
	        festival:false,
	    };
		 var end = {
			dateCell:"#inpend",
			format: 'YYYY-MM-DD',
			festival:false,
		 };
		 jeDate(start);
		 jeDate(end);	 
}


function initializeComponent(){
	var reportid = $("#reportid").val();
    $.ajax({
		type: "POST",
		url: curserver + global.modelctls.reports.detail,
		headers:{
    		"token":$.cookie('ftoken')
		},
		data:{id:reportid},
		dataType: 'json',
		success:function(result){
			 currentReport = result;
			 $('#reportname').text(currentReport.name);
			 $('#reportmo').text(currentReport.remark);
			 var time = new Date(currentReport.createdt);
			 $("#reportTime").text(time.format("yyyy-MM-dd hh:mm"));
			 revisionid = currentReport.revisionid
			 $.ajax({
					type: "POST",
					url: curserver + global.modelctls.reports.revision.content.get,
					headers:{
			    		"token":$.cookie('ftoken')
					},
					data:{ id: revisionid },
					success:function(result){
						 var obj = result ? JSON.parse(result) : { path: '', args: [] };
						 finereportPath = obj.path
					}
			 });
		}
	});	
    
}

function searchReport(){
	var condition="";
	var sqlWhere = "where 1=1"
	var sdStr="";
	var inpstart = $('#inpstart').val();
	var inpend = $('#inpend').val();
	var buildunit = $('#buildunit').val();
	var status = isundefined($('#status').val());
	var buildaddress = isundefined($('#buildaddress').val());
	var projectcode = isundefined($('#projectcode').val());
	if(inpstart!=""&&inpend!="")
		condition += " and TRUNC(sp.starttime) >= TO_DATE('"+inpstart+"', 'yyyy-mm-dd')  and TRUNC(sp.starttime) <= TO_DATE('"+inpend+"', 'yyyy-mm-dd')";
	if(buildunit!="")
		condition += "and buildunit like '%25"+buildunit+"%25'";
	if(status!="")
		condition += " and status like '%25"+status+"%25'";
	if(buildaddress!="")
		condition += " and buildaddress like '%25"+buildaddress+"%25'";
	if(projectcode!="")
		condition += "and projectcode like '%25"+projectcode+"%25'";

	if(setupLayerData.length>0){
		sdStr=setupLayerData.join(","); 
	}
	var conditionStr = sqlWhere + condition;
	if(finereportPath!=""){
		var path = finereportPath.substring(finereportPath.indexOf('/')+1);
		var reportURL = cjkEncode(curserver+"/ReportServer?reportlet="+path+"&pare="+conditionStr+"&SD="+sdStr+"&__showtoolbar__=false");
	    document.paraForm.action = reportURL;   
	    document.paraForm.submit(); 
		$('#reportHead').css("display",'');
		$('#pageZero').css("display",'');

	}
}

function isundefined(val){
	var data = "";
	if(val==undefined)
		return data;
	else
		return val;
}

function cjkEncode(text) {                                                                            
    if (text == null) {         
      return "";         
    }         
    var newText = "";         
    for (var i = 0; i < text.length; i++) {         
      var code = text.charCodeAt (i);          
      if (code >= 128 || code == 91 || code == 93) {  //91 is "[", 93 is "]".         
        newText += "[" + code.toString(16) + "]";         
      } else {         
        newText += text.charAt(i);         
      }         
    }         
    return newText;         
  }     


function dynamicPage(totalre, totalpa,currentPage){
	$("#total_records").html(totalre);
	$("#total_page").html(totalpa);	
	var pageStart = "";
	var pageEnd = "";
	if(currentPage<=Math.round(pageNum/2)+1){
		pageStart = 1;
		pageEnd = pageNum;
	}
	if(currentPage>Math.round(pageNum/2)+1){   
		pageStart = currentPage-Math.round(pageNum/2); 
		pageEnd = currentPage+Math.round(pageNum/2)-2;
	}
	if(pageEnd>totalpa){
		pageEnd = totalpa;
	}
	var ulcontent = $(".pagination");
	ulcontent.children().filter('li').remove();
	ulcontent.append("<li> <a onclick=\"jumpPage(0)\" aria-label=\"Previous\">" +
	"<span aria-hidden=\"true\">上一页</span></a></li> ");
	for(var i=pageStart;i<=pageEnd;i++){
		if(i==currentPage){
			ulcontent.append("<li class=\"active\"><a onclick=\"gotopage("+i+")\">"+i+"</a></li>");
		}else{
			ulcontent.append("<li><a onclick=\"gotopage("+i+")\">"+i+"</a></li>");
		}
	}
	ulcontent.append("<li> <a onclick=\"jumpPage(1)\" aria-label=\"Next\">" +
			"<span aria-hidden=\"true\">下一页</span></a></li> ");
	pagging.modifyPagging(totalre, totalpa,currentPage);
}

pagging.config.list=gotopage;


/**
 * 报表自定义翻页
 * @param index
 */
function jumpPage(index){
	if(index==0){//上一页
		document.getElementById('iframeFinereport').contentWindow.contentPane.gotoPreviousPage(); 
	}else {
		document.getElementById('iframeFinereport').contentWindow.contentPane.gotoNextPage();
	}
}

function gotopage(index){
	var contentpane= document.getElementById('iframeFinereport').contentWindow.contentPane;       
    var page = index;       
    if(page >= contentpane.reportTotalPage) {       
      contentpane.gotoLastPage();       
    }        
    contentpane.gotoPage(parseInt(page));
}

function exportReportToPDF(){
	var contentpane= document.getElementById('iframeFinereport').contentWindow.contentPane; 
	if(contentpane!=undefined)
		contentpane.exportReportToPDF();
}

function exportReportToWord(){
	var contentpane= document.getElementById('iframeFinereport').contentWindow.contentPane; 
	if(contentpane!=undefined)
		contentpane.exportReportToWord();
}
function exportReportToExcel(type){
	var contentpane= document.getElementById('iframeFinereport').contentWindow.contentPane; 
	if(contentpane!=undefined)
		contentpane.exportReportToExcel(type);
}


function opensearchLayer(){
	parent.layer.open({
		  type: 2,
		  title: '<img src="../../image/projecttask/type.png" style=\"width:25px;height:25px;\"/><span>选择条件</span>',
		  shadeClose: true,
		  shade: 0.3,
		  offset:['50px'],
		  area: ['600px', '320px'],
		  btn: ['确认', '取消'],
		  content: 'reportLayer/searchLayer.jsp', //iframe的url
		  yes: function(index,layero){			
			  var iframeWin = window[layero.find('iframe')[0]['name']];
			  searchLayerDate = [];
			  searchLayerDate = iframeWin.checkboxitem();
			  var searchList =$("#searchHtml");
			  var strid = "";
			  searchList.children().remove();
			  if(searchLayerDate.length>0){
				  for(var i=0;i<searchLayerDate.length;i++){
					  if(searchLayerDate[i]=="办理状态")
						  strid = "status"
					  if(searchLayerDate[i]=="建设地址") 	  
						  strid = "buildaddress"
					  if(searchLayerDate[i]=="项目编号")	
						  strid = "projectcode"
					  var strHtml = "<div style=\"color: black;\">"+searchLayerDate[i]+":</div>"+
					  				"<div><input id=\""+strid+"\" type=\"text\" placeholder=\""+searchLayerDate[i]+"\" style=\"width: 520px;padding-left: 10px;\"><div>"
					 searchList.append(strHtml);
				  }
			  }
			  layer.closeAll();
			} 
		});  
	
}

function openLayer(){
	parent.layer.open({
		  type: 2,
		  title: '<img src="../../image/projecttask/type.png" style=\"width:25px;height:25px;\"/><span>字段显示设置</span>',
		  shadeClose: true,
		  shade: 0.3,
		  offset:['50px'],
		  area: ['600px', '520px'],
		  btn: ['确认', '取消'],
		  content: 'reportLayer/setupLayer.jsp', //iframe的url
		  yes: function(index,layero){			
			  var iframeWin = window[layero.find('iframe')[0]['name']];
			  setupLayerData = [];
			  setupLayerData = iframeWin.checkboxitem();
			  layer.closeAll();
			} 
		});  
}


Date.prototype.format = function(format){ 
	var o = { 
	"M+" : this.getMonth()+1, //month 
	"d+" : this.getDate(), //day 
	"h+" : this.getHours(), //hour 
	"m+" : this.getMinutes(), //minute 
	"s+" : this.getSeconds(), //second 
	"q+" : Math.floor((this.getMonth()+3)/3), //quarter 
	"S" : this.getMilliseconds() //millisecond 
	} 
	 if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
    if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return format;
}