function DoPrint(){//打印
var LODOP=getLodop();
LODOP.PRINT_INIT("test套打");
LODOP.SET_PRINT_PAGESIZE(1, 0, 0,"A4");//設置紙張A4打印 橫向
LODOP.SET_PRINT_STYLE("Alignment",2);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "Horient", 2);
LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true);//設置輸出位置以紙張邊緣爲基點。
LODOP.ADD_PRINT_LINE(50,65,50,700,0,1);//頂部標題底部線條
LODOP.SET_PRINT_STYLE("FontSize",18);
LODOP.SET_PRINT_STYLE("Bold",1);
LODOP.ADD_PRINT_TEXT(16,65,700,30,"宿舍用量統計");
// tableTitle()
$.post("${ctx}/report/dormitory/consumption/getPrint",
{"roomId":$("#roomId").val(),"floorId":$("#floorId").val(),"buildId":$("#buildId").val(),"sdt":getSdt($("#dt").val()),"edt":getEdt($("#dt").val())},
function(data) {
LODOP.SET_PRINT_STYLE("FontSize",10);
LODOP.SET_PRINT_STYLE("Bold",0);
var totalRows = data.length;//總條數
var pageHeight = 297;
var hasPreviousPage = false; //是否有下一頁
var totalPages = 1;
var pageRecorders=parseInt((pageHeight-50)/13); //每頁條數
if((totalRows % pageRecorders) == 0) {
totalPages = parseInt(totalRows / pageRecorders);
}else{
totalPages = parseInt(totalRows / pageRecorders) + 1;
}
if(totalPages == 1){
hasPreviousPage = false;
}else{
hasPreviousPage = true;
}
for(var i=0;i<totalPages;i++){ //總頁數
var tvalue = 0;
//列頭--------------------------------------------
tableTitle()
for(var j=i*pageRecorders;j<(i+1)*pageRecorders;j++){
if(j>=totalRows){
break;
}
tableContent(tvalue,data[j]);
tvalue++;
}
LODOP.NewPage();
}
LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW",1);//打印後自動關閉預覽窗口
LODOP.SET_PRINT_STYLEA(0, "Vorient", 0);
LODOP.ADD_PRINT_TEXT(580, 660, 165, 22, "第#頁/共&頁");
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
LODOP.SET_PRINT_STYLEA(0, "Horient", 1);
LODOP.SET_PRINT_STYLEA(0, "Vorient", 1);
LODOP.PREVIEW();
});
}
function tableTitle(){//表格標題
LODOP.SET_PRINT_STYLE("FontSize",11);
LODOP.ADD_PRINT_LINE(80,10,80,790,0,1);//上線
LODOP.ADD_PRINT_LINE(150,10,150,790,0,1);//下線
LODOP.ADD_PRINT_LINE(80,10,150,10,0,1);//左線
LODOP.ADD_PRINT_LINE(80,790,150,790,0,1);//右線
//內部豎線1
LODOP.ADD_PRINT_LINE(80,110,150,110,0,1);
//房間
LODOP.ADD_PRINT_TEXT(110,10,100,30,"房間號碼");
LODOP.ADD_PRINT_LINE(115,110,115,720,0,1);
//用電統計
LODOP.ADD_PRINT_TEXT(95,110,305,30,"用電統計");
LODOP.ADD_PRINT_LINE(80,415,150,415,0,1);
LODOP.ADD_PRINT_LINE(80,720,150,720,0,1);
//用水統計
LODOP.ADD_PRINT_TEXT(95,400,305,30,"用水統計");
LODOP.ADD_PRINT_LINE(115,250,150,250,0,1);//
LODOP.ADD_PRINT_LINE(115,355,150,355,0,1);//
LODOP.ADD_PRINT_LINE(115,415,150,415,0,1);//
LODOP.ADD_PRINT_LINE(115,555,150,555,0,1);//
LODOP.ADD_PRINT_LINE(115,660,150,660,0,1);//
LODOP.ADD_PRINT_TEXT(130,110,140,30,"起止日期");
LODOP.ADD_PRINT_TEXT(130,250,105,30,"起止表碼");
LODOP.ADD_PRINT_TEXT(130,355,60,30,"用量");
LODOP.ADD_PRINT_TEXT(130,415,140,30,"起止日期");
LODOP.ADD_PRINT_TEXT(130,555,105,30,"起止表碼");
LODOP.ADD_PRINT_TEXT(130,660,60,30,"用量");
LODOP.ADD_PRINT_TEXT(110,720,60,30,"樓座");
}
function tableContent(i,o){//打印後臺返回json
var h=50;
LODOP.ADD_PRINT_LINE(150+(i+1)*h,10,150+(i+1)*h,790,0,1);//下線
LODOP.ADD_PRINT_LINE(150+i*h,10,150+(i+1)*h,10,0,1);//左線
LODOP.ADD_PRINT_LINE(150+i*h,790,150+(i+1)*h,790,0,1);//右線
LODOP.ADD_PRINT_LINE(150+i*h,110,150+(i+1)*h,110,0,1);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,10,100,30,o.roomNo);
LODOP.ADD_PRINT_LINE(150+i*h,250,150+(i+1)*h,250,0,1);
LODOP.ADD_PRINT_LINE(150+i*h,355,150+(i+1)*h,355,0,1);
LODOP.ADD_PRINT_LINE(150+i*h,415,150+(i+1)*h,415,0,1);
LODOP.ADD_PRINT_LINE(150+i*h,555,150+(i+1)*h,555,0,1);
LODOP.ADD_PRINT_LINE(150+i*h,660,150+(i+1)*h,660,0,1);
LODOP.ADD_PRINT_LINE(150+i*h,720,150+(i+1)*h,720,0,1);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,110,140,30,o.eedt);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,250,105,30,o.eebm);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,355,60,30,o.zongEq);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,415,140,30,o.wedt);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,555,105,30,o.webm);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,660,60,30,o.zongWq);
LODOP.ADD_PRINT_TEXT(150+i*h+h/4,720,60,30,o.buildName);
}