您的位置:首页 > 产品设计 > UI/UE

有关easyui打印中应用插件Lodop,非常好用

2015-11-05 18:23 369 查看
最近在做公司的一个项目,其中本来程序调用的是浏览器中的打印方法,这种方法灵活度不够,很难去调试,想的用Lodop结合一下公司应用的essyui 打印,但是在网上找了很久,几乎没有人分享这方面的知识,是在没有办法,自己就去研究了,经过自己研究,终于让我写出来,这里和大家一起分享,当然其中遇到不少问题

话不多说,下面代码粘贴出来让大家来参考,第一次写博文,随便写的,就是想把这个方法分享给大家,顺便提一句话,因为涉及到前面数据要在表中后面列算出来每一行中一些数据的和,所以里面出现了很多的sum,这个大家用到就可以用,没有用到后面的求和不用,这个就是用push方法来拼接table表格,然后打印出来,希望大家有帮助,如果不懂可以给我留言,一起讨论,我也是菜鸟一个

 print:function(){

          var LODOP = LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));

          LODOP.PRINT_INITA(0, 0, 1400, 600, "");

          LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");

          LODOP.ADD_PRINT_TEXT(1050, 1200, 144, 22, "第#页/共&页");

          LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);

          LODOP.SET_PRINT_STYLEA(0, "Horient", 1);

         var rows = $("#box").datagrid("getRows");

         var opts=$('#box').datagrid("options");//返回属性对象

         var prinHtml=[];//准备一个数组

        var sumCQ=0;//出勤和

        var sumGC=0;//公出和

        var sumBJ=0;//病假和

        var sumGS=0;

        var sumDYB=0;

        var sumXYB=0;

        var sumCJ=0;

        var sumSJ=0;

        var sumHSJ=0;

        var sumTQ=0;

           prinHtml.push("<table cellpadding=\"0\" cellspacing=\"0\"  border=\"1\" style=\"width:" +98+ "%; border-collapse:collapse;border:inhert;font-size:12px;\">");

           prinHtml.push("<tr>");

             for (var i = 0; i < opts.columns[0].length; i++) {

                if(opts.columns[0][i].title!='录入时间'){

                prinHtml.push("<th>"+ opts.columns[0][i].title+" </th>");   

                }    

             }

           prinHtml.push("</tr>");

              

                for (var i = 0; i < rows.length; i++) {

                     var tr=rows[i];

                     prinHtml.push("<tr style=\"border:1px solid #0094ff;padding:3px;text-align:center;\">");

                            //方法1遍历

                            // for (var name in cols) {

                            //       prinHtml.push("<td style=\"border:1px solid #0094ff;padding:3px;text-align:center;\">" + tr[cols[name]] + "</td>");

                            //                 

                            //    }

                      //方法2遍历

                      for (var j = 0; j< opts.columns[0].length; j++) {

                         //如果字段值 为0,4,8那么sumCQ+1  可以用swich case 写

                        if( tr[opts.columns[0][j].field]==='0'|| tr[opts.columns[0][j].field]==='4'||tr[opts.columns[0][j].field]==='8')      {

                           sumCQ+=1;

                        }

                         if(tr[opts.columns[0][j].field]==='公'){

                          sumGC+=1;

                        

                        }  

                        if(tr[opts.columns[0][j].field]==='病'){

                          sumBJ+=1;

                        

                        }

                        if(tr[opts.columns[0][j].field]==='伤'){

                          sumGS+=1;

                        

                        }

                        if(tr[opts.columns[0][j].field]==='大'){

                          sumDYB+=1;

                        

                        }

                         if(tr[opts.columns[0][j].field]==='小'){

                          sumXYB+=1;

                        

                        }

                         if(tr[opts.columns[0][j].field]==='产'){

                          sumCJ+=1;

                        

                        }

                         if(tr[opts.columns[0][j].field]==='事'){

                          sumSJ+=1;

                        

                        }

                          if(tr[opts.columns[0][j].field]==='婚'||tr[opts.columns[0][j].field]==='丧'){

                             sumHSJ+=1;

                        

                        }

                         if(tr[opts.columns[0][j].field]==='探'){

                          sumTQ+=1;

                        

                        }

                          if(opts.columns[0][j].field==='sumChuQin'){

                                 

                                  prinHtml.push("<td >" + sumCQ + "</td> "); 

                      

                        } 

                         if(opts.columns[0][j].field==='sumGongChu'){

                            

                            prinHtml.push("<td >" + sumGC + "</td> "); 

                        }  

                        if(opts.columns[0][j].field==='sumBinJia'){

                        

                         prinHtml.push("<td >" + sumBJ + "</td> "); 

                        

                        }

                        if(opts.columns[0][j].field==='sumGongShang'){

                        

                         prinHtml.push("<td>" + sumGS + "</td> "); 

                        

                        }  

                         if(opts.columns[0][j].field==='sumDayeBan'){

                        

                         prinHtml.push("<td>" + sumDYB + "</td> "); 

                        

                        }  

                         if(opts.columns[0][j].f
90a7
ield==='sumXiaoYeBan'){

                        

                         prinHtml.push("<td>" + sumXYB + "</td> "); 

                        

                        }  

                          if(opts.columns[0][j].field==='sumChanJia'){

                        

                         prinHtml.push("<td>" + sumCJ + "</td> "); 

                        

                        }  

                          if(opts.columns[0][j].field==='sumShiJia'){

                        

                         prinHtml.push("<td>" + sumSJ + "</td> "); 

                        

                        }  

                        if(opts.columns[0][j].field==='sumHunSangJia'){

                        

                         prinHtml.push("<td>" + sumHSJ + "</td> "); 

                        

                        }  

                        if(opts.columns[0][j].field==='sumTanQin'){

                        

                         prinHtml.push("<td>" + sumTQ + "</td> "); 

                        

                        }  

                        if(opts.columns[0][j].field!='sumChuQin'&&opts.columns[0][j].field!='sumGongChu'&&opts.columns[0][j].field!='sumBinJia'&&opts.columns[0][j].field!='sumGongShang'&&opts.columns[0][j].field!='sumDayeBan'&&opts.columns[0][j].field!='sumXiaoYeBan'&&opts.columns[0][j].field!='sumChanJia'&&opts.columns[0][j].field!='sumShiJia'&&opts.columns[0][j].field!='sumHunSangJia'&&opts.columns[0][j].field!='sumTanQin'&&opts.columns[0][j].field!='InsertTime')
{

                          prinHtml.push("<td >" +tr[opts.columns[0][j].field] + "</td>");

                           

                        }

                        

                         

                     }

                   sumCQ=0;

                   sumGC=0;//公出和

                   sumBJ=0;//病假和

                   sumGS=0;

                   sumDYB=0;

                   sumXYB=0;

                   sumCJ=0;

                   sumSJ=0;

                   sumHSJ=0;

                   sumTQ=0;

                    

                    prinHtml.push("</tr>");

                }

           

          prinHtml.push("</table>");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息