使用lodop.js打印控件打印table并分页等
import {getLodop} from '@/utils/LodopFuncs.js'
//打印表格
export default{
// num 打印还是打印预览 conData 对象形式 传入需要的值 自定义 (自己添加的属性要在下面备注)
// conData title 标题 OrgName科室名字
lodopTable:function(num,conData){
//原始table
var table = document.getElementsByClassName("tablePrin")[0]
var thead = table.getElementsByTagName("thead")[0]
var tbody = table.getElementsByTagName("tbody")[0]
var clnThead = thead.cloneNode(true)
var clnTbody = tbody.cloneNode(true)
document.getElementsByClassName("colneTable")[0].appendChild(clnThead)
document.getElementsByClassName("colneTable")[0].appendChild(clnTbody)
var printTable = document.getElementsByClassName("printTable")[0]
var printTableTbody = printTable.getElementsByTagName("tbody")[0]
var tbodyChild = printTableTbody.children
// 循环tbody的子元素
for (let i = 0; i < tbodyChild.length; i++) {
var tbodyTrChild = tbodyChild[i].children
//循环tbody子元素的子元素
for (let a = 0; a < tbodyTrChild.length; a++) {
// let tbodyTrChildSpan = tbodyTrChild[a].getElementsByTagName("span")
let text
text = this.xhTbodySpan(tbodyTrChild[a])
tbodyTrChild[a].innerHTML = text
tbodyTrChild[a].style = "text-align:center;width:80px;word-break: break-all;padding:5px 0;font-size:15px;font-style:normal"
}
}
LODOP = getLodop()
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4"); //1竖版 2横版
LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW", true); //宽度溢出缩放
//创建表格打印 表头自动每页都有
LODOP.ADD_PRINT_TABLE(40,10,"RightMargin:0.9cm",600,document.getElementsByClassName("printTable")[0].innerHTML);
//创建页码 每页都有
LODOP.ADD_PRINT_TEXT("98%", "90%", 200, 22, "第#页/共&页");
LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
//2代表页码类型 1代表其他类型 每页都显示必须函数
//标题
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
LODOP.ADD_PRINT_TEXT(10, 400, 300, 100, `${conData.title}`);
LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
//科室
LODOP.ADD_PRINT_TEXT(10, 10, 300, 100, `科室:${conData.OrgName}`);
LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
// LODOP.ADD_PRINT_TEXT('97%', 10, '100%', 100, `病区护士长:${this.noteForm.HeadNurseName} 灭火:${this.noteForm.FireFight} 报告:${this.noteForm.Presentation} 疏散:${this.noteForm.Evacuate}`);
LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
if(num){
LODOP.PREVIEW();
}else{
LODOP.PRINT();
}
location.reload();
},
//遍历子元素直到最后一个子元素
xhTbodySpan:function (ele) {
let con
let eleChild = ele.children
if (eleChild.length > 0) {
return this.xhTbodySpan(eleChild[0])
} else {
con = ele.innerHTML
}
return con
}
}
lodopTable.js
官网下载lodop.js
- 在min.js设置全局
import lodopTable from './utils/lodopTable'
Vue.prototype.$lodopTable = lodopTable
- 在需要调用的页面 找到需要打印的那个表格 添加class tablePrin
- 添加一下段落到最后面
<div class="printTable" hidden>
<table class="colneTable" border="1" width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse" bordercolor="#000000"></table>
</div>
5.在methods中加上这段代码 title自己定义 OrgName更加实际情况改变 num 0代表打印 1代表打印预览
lodopTable(num){
this.$lodopTable.lodopTable(num,{
"title":"工作量日报",
"OrgName":this.$cookies.get("orgInfo").OrgName
})
},
使用lodop.js打印控件打印table并分页等的更多相关文章
- Lodop打印控件 打印透明图问题
Lodop通过增设transcolor属性实现了“先字后章”效果,这个属性可以把某种颜色转成类似透明的效果.例如:把图章的底色白色变成透明:transcolor="#FFFFFF" ...
- Lodop打印控件 打印‘接下一页’‘以下空白’
Lodop打印控件中,超文本超过设置的打印项高度 或超过纸张,就会自动分页,纯文本通过设置为多页项也可以根据打印项高度自动分页,Lodop中还提供了许多手动分页的方法,对于多页文档中(自动分页或手动分 ...
- Lodop打印控件 超文本自动分页
Lodop打印控件打印html超文本,通常传入一个超文本内容可能会超过纸张,如果要拆分每页显示哪些然后手动分页比较麻烦,Lodop中的超文本都有自动分页的特点.自动分页的依据:1.超文本超过设置的打印 ...
- Lodop打印控件输出页码(超文本和纯文本页码)
Lodop打印控件打印超文本既可以手动分页,也可以自动分页,自动分页可阅读本博客的另一篇博文:Lodop打印控件 超文本自动分页 自动分页的时候,往往是不知道需要打印的内容到底分了几页,也就不可能预先 ...
- Windows 打印控件
Windows窗体的PrintDocument组件用于设置一些属性,这些属性说明,在基于Windows的应用程序中要打印说明内容以及打印文档的能力,可将它与PrintDialog组件一起使用来控制文档 ...
- 比较好用的web打印控件——Lodop
前一段时间公司一项目比较特殊,客户要求打印单必须是淘宝上卖的那种三联打印单.如果还是使用原来系统自带的打印的话,就会造成无法打印出来理想的效果,于是找了下相关的打印控件,比较网络上比较流行的几款插件, ...
- lodop 打印控件的使用
先看效果图 : lodop插件 需要安装 打印浏览效果: 实现打印的前提条件 去官网下载几个js包 : http://www.lodop.net/download.html 添加到项目中 图片如下: ...
- Lodop打印控件传入css样式、看是否传入正确样式
Lodop中可以传入页面存在的css样式,也可以是拼接后的新样式,例如本博客的其他博文:Lodop打印如何隐藏table某一列 需要打印的页面,样式不一定都是行内样式,style样式单独写在页面上,或 ...
- C# lodop 打印控件的使用
原文:https://www.cnblogs.com/izhiniao/p/4160117.html 官网:http://www.mtsoftware.cn/demo.html 先看效果图 : lod ...
随机推荐
- 数据库访问接口之ODBC
ODBC API 实现数据库操作的手段是句柄.在ODBC中,使用不同的句柄(HANDLE)来标志环境(environment).连接(Connection).语句(statement).描述符(des ...
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_01-自定义查询页面-服务端-Dao
在页面输入查询条件,查询符合条件的页面信息. 查询条件如下: 站点Id:精确匹配 模板Id:精确匹配 页面别名:模糊匹配 spring mongoDB如何自定义条件 在Repository的findA ...
- Qt编写自定义控件31-面板仪表盘控件
一.前言 在Qt自定义控件中,仪表盘控件是数量最多的,写仪表盘都写到快要吐血,可能是因为各种工业控制领域用的比较多吧,而且仪表盘又是比较生动直观的,这次看到百度的echart中有这个控件,所以也来模仿 ...
- windows下gitee WEBHOOK的坑...
折腾到凌晨五点,依然没有实现 windows下 分支 push之后服务器自动部署 主要是因为GIT的helper的配置上的问题.最后果断放弃了,最后祭出大招,用 WINDONS命令行自动循环..60 ...
- 基于文件系统(及MySQL)使用Java实现MapReduce
实现这个代码的原因是: 我会MapReduce,但是之前都是在AWS EMR上,自己搭过伪分布式的,但是感觉运维起来比较困难: 我就MySQL会一点(本来想用mongoDB的但是不太会啊) 数据量不是 ...
- Linux使用mount挂载Windows共享文件夹
https://blog.csdn.net/tojohnonly/article/details/71374984 https://github.com/tojohnonly 现实中会有这样的场景 , ...
- Map对象,Set对象使用(2)
今天重点见一下Set Set 在我印象里它主要就是去重,Set 是一个值的集合,这个集合中所有的值仅出现一次 Set 属性size:和Map的size一样,返回成员的总数 Set的方法: Set.pr ...
- Python报错总结丶自定义报错
Python报错总结: 常见异常 1,NameError: name 'a' is not defined:未定义函数名 2,IndentationError: uninden ...
- DB2 数据库权限
以下内容转载: http://blog.csdn.net/xiyuan1999/article/details/8135263 DB2中的权限 DB2 中有三种主要的安全机制,可以帮助 DBA 实现 ...
- jdk1.8 -- 自定义FunctionInterface
一.自定义函数的理解 对于java提供的一些函数,用lambda表达式是可以解决一些问题的,但是在对于一些比较复杂的数据类型在处理时,可能会有些力不从心了,但是 我们可以通过自定义的一些函数,通过使用 ...