使用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 ...
随机推荐
- P1944 最长括号匹配_NOI导刊2009提高(1)
P1944 最长括号匹配_NOI导刊2009提高 题解 宁愿相信世上有鬼,也不能随便相信某谷题目标签 我想了半天然后看了眼题解,发现用栈来模拟就好了 栈来模拟,还要用到一个bool数组,标记是否已经匹 ...
- [Java读书笔记] Effective Java(Third Edition) 第 6 章 枚举和注解
Java支持两种引用类型的特殊用途的系列:一种称为枚举类型(enum type)的类和一种称为注解类型(annotation type)的接口. 第34条:用enum代替int常量 枚举是其合法值由一 ...
- jpa 总结
转:http://blog.csdn.net/linzhiqiang0316/article/details/52639265 先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 S ...
- [Scikit-learn] *2.3 Clustering - MeanShift
sklearn.cluster.MeanShift Ref: http://scikit-learn.org/stable/auto_examples/cluster/plot_mean_shift. ...
- FPGA回忆记事(一):基于Nios II的LED实验
实验一:基于Nios II的LED实验 一. 创建Quartus II工程 1.打开Quartus II环境.开始->程序->Altera->Quartus II 9.1. 2 ...
- FMZ发明者量化平台回测机制说明
原文连接:https://www.fmz.com/digest-topic/4009 大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货.期货和永续合约,以及商品期货所有品种.但发 ...
- kindeditor 在JSP 中上传文件的配置
1.将kindeditor,jsp,lib目录下的jar文件放到工程的lib目录下 2.将admin-login.jsp,upload_json.jsp,复制到admin的files目录下 3.复制以 ...
- 数组工具类 Arrays
public static String toString(数组),将参数数组变成字符串,用来实现数组常见的操作 public static void sort(数组),按照批人升序对数组的元素进行 ...
- [Cometoj#3 A]比赛_枚举/堆
比赛 题目链接:https://cometoj.com/contest/38/problem/A?problem_id=1534 数据范围:略. 题解: 原题没啥意思,就是个暴力枚举. 出了个加强版, ...
- 【AtCoder】ARC069
ARC069 C - Scc Puzzle --不说了 #include <bits/stdc++.h> #define fi first #define se second #defin ...