You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

37 lines
1.2 KiB

import { getLodop } from '@/utils/LodopFuncs';
/**
* 根据传入的元素列表进行打印
* @param nodeList 元素节点列表
*/
const point = nodeList => {
// 直接调用时使用默认节点列表
if (!nodeList) nodeList = document.querySelectorAll('.el-dialog__body>div>div>div');
// 初始化打印实例
let LODOP = getLodop();
// 当列表内没有元素时, 退出函数
if (nodeList.length === 0) return;
LODOP.PRINT_INITA(1, 1, 900, 660, '测试预览功能');
LODOP.SET_PRINT_MODE('WINDOW_DEFPRINTER', 'Godex G500');
LODOP.SET_PRINT_STYLEA(0, 'TextNeatRow', true); //允许标点溢出,且英文单词拆开
// // 设置打印整宽且不变形
LODOP.SET_PRINT_MODE('PRINT_PAGE_PERCENT', 'Auto-Width');
// // 设置打印后自动关闭
LODOP.SET_PRINT_MODE('AUTO_CLOSE_PREWINDOW', 1);
// 循环列表内元素并打印
nodeList.forEach(orderNode => {
console.log(orderNode, 'orderNode');
let templateData = orderNode.innerHTML;
// // data就是一段html文本
LODOP.ADD_PRINT_HTM('45', '0%', '100%', '100%', templateData);
LODOP.NewPage()
});
// LODOP.PREVIEW(); //预览(预览打印无脚标)
LODOP.PRINT(); //直接打印
};
export default point;