Lodop打印控件打印

前台jsp:(要引入js文件)

            <td width="20%" align="right"><ul class="ant" ><li style="cursor:pointer;" οnclick="javascript:doPrint();">打印</li></ul></td><script type="text/javascript" src="js/gl/LodopFuncs.js"></script> <object  id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>  <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed> </object> 

js文件:

//打印
function doPrint(){intype=combo_intype.getActualValue();dept=combo_dept.getActualValue();checkdate=$("#checkdate").val();checkdate2=$("#checkdate2").val();//empname=comb_empname.getActualValue();empname=$("#empname").val();if(empname.match(/\d*/)){}else if(empname.match([\u4e00-\u9fa5]/g)){empname=encodeURI(empname);}var str="checkdate="+checkdate+"&medtype="+encodeURI(encodeURI(intype))+"&empname="+empname+"&dept="+dept+"&checkdate2="+checkdate2+"&time="+(new Date()).valueOf();$.ajax({async:false,cache:false,type: "post",url:'staform/cybrPrint.htm',data:str,error:function(){alert('fail');},success:function(data){var textHtm='<table width="700" border="0" cellspacing="0" cellpadding="0" class="biangeng_5">'+'<tr>'+'<td colspan="2" style="font-size:20px; font-weight:bold; text-align:center; height:49px;">按日期统计出院病人</td>'+'</tr>'+'<tr>'+'   <td colspan="2" class="biangeng_8" height="38";>'+'       <table width="700" border="0" cellspacing="0" cellpadding="0">'+'           <tr>'+'             <td width="100"></td>'+'           <td width="210"></td>'+'            <td width="85">统计日期:</td>'+'           <td width="165"> '+checkdate+' 至 '+checkdate2+' </td>'+'           </tr>'+'      </table>'+' </td>'+'  </tr>'+' </table>';var textHtml='<table width="100%" border="1" width="100%" cellspacing="0" cellpadding="0" bgcolor="#000000" class="mar3" style="font-size:14px;">'+'         <tr bgcolor="#FFFFFF" align="center">'+'           <td width="4%">序号</td>'+'          <td width="8%">病案号</td>'+'          <td width="12%">病人姓名</td>'+'          <td width="6%">床位号</td>'+'         <td width="12%">科室名称</td>'+'         <td width="12%">出院日期</td>'+'         <td width="12%">结算日期</td>'+'         <td width="12%">主治医生</td>'+'         <td width="22%">出院诊断</td>'+'       </tr>'var js=eval("("+data+")");alert(js[0].diagname);for(var i=0;i<js.length;i++){var bedno=js[i].bedno==null?'':js[i].bedno;// textHtml+='<tr bgcolor="#FFFFFF" align="center"><td>'+js[i].no+'</td>'textHtml+='<tr bgcolor="#FFFFFF" align="center"><td width="4%">'+(i+1)+'</td>'+'<td width="8%">'+js[i].inpno+'</td>'+'<td width="12%">'+js[i].patname+'</td>'+'<td width="6%" align="center">'+(js[i].bedno==null?'':js[i].bedno)+'</td>'+'<td width="12%" align="center">'+js[i].wardname+'</td>'+'<td width="12%" align="center">'+js[i].preout_date+'</td>'+'<td width="12%">'+js[i].out_date+'</td>'+'<td width="12%">'+js[i].doctorname+'</td>'+'<td width="22%">'+js[i].diagname+'</td></tr>'}        textHtml+="</table>";LODOP.NEWPAGE();LODOP.PRINT_INITA(0,0,"210mm","297mm","");LODOP.SET_PRINT_PAGESIZE(1,2200,0,"A4");
//          LODOP.ADD_PRINT_HTM(11,227,300,100,""); LODOP.ADD_PRINT_HTM(0,10,663,"60mm","<style>  tr{height:50px;} td {font-size:13px;height:20px;} input{border:none; border:1px solid #000;}</style>"+textHtm);LODOP.ADD_PRINT_HTM(84,10,766,"270mm","<style>  tr{height:50px;} td {font-size:13px;height:20px;} input{border:none; border:1px solid #000;}</style>"+textHtml);
//              LODOP.ADD_PRINT_TABLE(50,14,500,500,"<style>  tr{height:50px;} td {font-size:13px;height:20px;} input{border:none; border:1px; solid #000;}</style>"+strFormHtml+textHtml);LODOP.PRINT_DESIGN();            //LODOP.PRINT();}});
}

后台java文件:

   @RequestMapping(value = "/cybrPrint", method = RequestMethod.POST)public void cybrPrint(HttpServletRequest request,HttpServletResponse response) throws Exception {response.setContentType("text/html;charset=utf-8");DBOperator db = new DBOperator();try {//select b.medcode,m.medname,s.spec,s.rootclassname,m.mafname,s.packagetype,sum(b.qty)as qty,sum(b.qty*decode(i.retailprice,null,m.pprice,i.retailprice))as amt,avg(decode(i.retailprice,null,m.pprice,i.retailprice)) from mw_outsheets a join mw_outsheets_details b on a.hosnum=b.hosnum and a.insheetno=b.insheetid join med_main m on m.medcode=b.medcode join med_spec s on m.speccode=s.speccode left join med_inuse i on a.hosnum=i.hosnum and b.medcode=i.medcode where a.hosnum='1005' and a.whouseid='11031' and to_char(a.checkdate,'yyyy-mm-dd')>='2012-07-01' and to_char(a.checkdate,'yyyy-mm-dd')<='2012-07-19'group by b.medcode,m.medname,s.spec,s.rootclassname,m.mafname,s.packagetypeBas_hospitals basHospitals = (Bas_hospitals) request.getSession().getAttribute("login_hospital");String start=request.getParameter("checkdate");String end=request.getParameter("checkdate2");String order=request.getParameter("medtype");String empname=request.getParameter("empname");String date="";if(empname!=null&&!"".equals(empname)){//if(empname.matches("^[\\d]*$")){empname=" and p.patientid='"+empname+"' ";}else{empname=URLDecoder.decode(empname, "utf-8");empname=empname.replaceAll("'", "");empname=" and p.patname like '%"+empname+"%' ";}}else{date=" and to_char(r.preout_date,'yyyy-mm-dd') between '"+start+"' and '"+end+"' ";empname="";}String ward=request.getParameter("dept");StringBuffer sb=new StringBuffer();if(order!=null&&!"".equals(order)){//order=URLDecoder.decode(order, "utf-8");String sql="select t.contents name from bas_dicts t where t.nekey=2 and t.nevalue!='!' and nvl(t.option05,'自费')='"+order+"' ";List<Map> list=db.find(sql);for (int i = 0; i < list.size(); i++) {sb.append("'").append(list.get(i).get("name").toString()).append("',");}order=sb.toString();order=order.substring(0, order.length()-1);order=" and r.instype in("+order+") ";}else{order="";}if(ward==null||"".equals(ward)){ward="";}else{ward=" and r.wardid='"+ward+"' ";}String sql = " select distinct r.medrcdno inpno,p.patname,r.instype,nvl(cbedno,r.bedno) bedno,r.wardname,to_char(r.preout_date,'yyyy-mm-dd') preout_date,to_char(r.out_date,'yyyy-mm-dd') out_date,r.doctorname,d.diagname||'<'||s.option01||'>' diagname "+"from inp_regist r,bas_patients p,clc_diag d,bas_dicts s "+"where r.patientid=p.patientid and r.inpno=d.dtmainid and s.nekey='23' and d.diagno=s.nevalue and r.out_date is not null and d.diagclass='主诊断' "+"and r.hosnum=d.hosnum and r.hosnum='"+basHospitals.getHosnum()+"' "+//--and r.inpno='4860'date+order+ward+empname+"order by r.medrcdno";List list = db.find(sql);JSONArray jsons = JSONArray.fromObject(list);PrintWriter pw = null;pw = response.getWriter();pw.print(jsons.toString());db.commit();} catch (RuntimeException e) {e.printStackTrace();db.rollback();} finally {db.freeCon();}}

效果显示:

Lodop打印控件打印相关推荐

  1. lodop打印html包含图片,使用lodop.js打印控件打印table并分页等

    使用lodop.js打印控件打印table并分页等 import {getLodop} from '@/utils/LodopFuncs.js' //打印表格 export default{ // n ...

  2. lodop打印控件打印申通快递单

    2019独角兽企业重金招聘Python工程师标准>>> 第一步先引入插件所用到的JS,插件官网http://www.lodop.net/ 放到head里面 <script la ...

  3. php lodop完整案例,Lodop打印控件 超文本自动分页

    Lodop打印控件打印html超文本,通常传入一个超文本内容可能会超过纸张,如果要拆分每页显示哪些然后手动分页比较麻烦,Lodop中的超文本都有自动分页的特点. 自动分页的依据: 1.超文本超过设置的 ...

  4. 比较好用的web打印控件——Lodop

    前一段时间公司一项目比较特殊,客户要求打印单必须是淘宝上卖的那种三联打印单.如果还是使用原来系统自带的打印的话,就会造成无法打印出来理想的效果,于是找了下相关的打印控件,比较网络上比较流行的几款插件, ...

  5. 利用lodop打印控件轻松实现批量打印

    最近在做一个打印程序,要实现批量打印功能,在网上找了很多天,也在tp官网咨询大牛们,对大家的的提议我一一进行了研究,总结如下: 要实现批量打印可以有两个办法: 一是利用专业的报表程序,能实现十分复杂的 ...

  6. lodop打印html内容,Lodop打印控件在页面如何使用

    Lodop打印控件部署到web服务器简单,在页面的使用方法也简单,是非常容易和方便使用的打印控件. 客户端本地打印角色(即用户访问网站后 用自己链接的打印机进行客户端本地打印),步骤很少,部署简单: ...

  7. 关于Lodop打印控件

    Vue项目中开发Lodop打印控件操作笔记. 1.进入官网下载控件,然后安装. 1 http://www.lodop.net/ 2.安装包里面有LodopFuncs.js,推荐使用官方js,网上也有很 ...

  8. 转载:  Lodop、C-Lodop打印控件报错

    在使用 Lodop.C-Lodop打印控件时,使用火狐浏览器不报错,换成IE浏览器时报404错误(找不到控件的下载位置): 以前的配置如下: 1.spring-servlet.xml中配置(找到打印控 ...

  9. WEB打印控件Lodop的使用

    地图的事情总是不多,总会涉及web开发中的其他技术,前几天用到了LODOP打印控件,觉得简单好用但功能强大,这里备忘一下. 1.获取发布包,安装打印控件 install_lodop32.exe适用于3 ...

最新文章

  1. swift使用cocoapods导入oc三方库
  2. windows和linux系统之间的txt文档兼容问题
  3. 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
  4. Nginx安装与配置文件解析
  5. 熟悉linux的安全与优化
  6. 程序包org.springframework.stereotype不存在,解决办法
  7. 链队列的基本运算java_链式队列基本操作的实现问题
  8. php mysql 图像_将图像插入MySQL并使用PHP检索图像
  9. 文本框 价格 保留两位小数 讨论
  10. anaconda中自带的qtdesigner做界面
  11. mac 装python环境下mysql_MAC OS X下安装MySQL-python
  12. gradle 区分系统_Android 学习记录_系统结构, res 目录, App 目录下的 build.gradle 文件...
  13. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!
  14. 改革40年致敬创业者:有梦想谁都了不起!
  15. v3S移植mplayer播放器
  16. Liunx-安装SonarQuble
  17. Oauth2 存储 token 到Redis 报错:READONLY You can‘t write against a read only slave
  18. HTML + CSS 宝典 第二节 HTML 核心1
  19. 【数据结构 严蔚敏版】 二叉树 基本操作
  20. 到底什么是幸存者偏差?有哪些例子?

热门文章

  1. NestJs学习总结篇
  2. 风应力旋度 matlab,[张志伟]中尺度涡所诱发的Ekman Pumping 中尺度涡的垂向结构...
  3. 关于登录密码加密的三个方式
  4. js tree设置层级关系
  5. Jensen不等式及其详细证明——Emmm...?Emmm...! EM算法(1)
  6. 推荐一个找paper和code的网址
  7. oracle中count用法
  8. Java实现蛇形举证_2
  9. 大学课程设计:邮件系统
  10. 创世战车服务器维护,《创世战车》2月22日版本更新内容公告