tianyi 3 weeks ago
parent
commit
88829780bb
  1. 37
      components/print/index.js

37
components/print/index.js

@ -134,17 +134,15 @@
for (var i = 0; i < data1.goodsList.length; i++) { for (var i = 0; i < data1.goodsList.length; i++) {
printerJobs.setAlign('lt').setSize(1, 1).setLineSpacing(40).print(data1.goodsList[i].productName) printerJobs.setAlign('lt').setSize(1, 1).setLineSpacing(40).print(data1.goodsList[i].productName)
printerJobs.setAlign('lt').setSize(1, 1).setLineSpacing(40).print(this.delNode(data1.goodsList[i].specs))
let setLineSpacing = 40
let setLineSpacing = 40 printerJobs.setLineSpacing(setLineSpacing).print(printerUtil.inlineArr([{
'text': data1.goodsList[i].price,
printerJobs.setLineSpacing(setLineSpacing).print(printerUtil.inlineArr([{ 'width': 10,
'text': 'X' + data1.goodsList[i].quantity, }, {
'width': 20, 'text': 'X' + data1.goodsList[i].quantity,
}, { 'width': 20,
'text': data1.goodsList[i].price, }], 1, 50));
'width': 10,
}], 1, 50));
} }
printerJobs.print(printerUtil.fillLine('-', 1, 50)) printerJobs.print(printerUtil.fillLine('-', 1, 50))
.setAlign('lt').setSize(1, 1).setLineSpacing(40).print('配送费:'+ data1.deliveryFee) .setAlign('lt').setSize(1, 1).setLineSpacing(40).print('配送费:'+ data1.deliveryFee)
@ -155,6 +153,23 @@
let buffer = printerJobs.buffer(); let buffer = printerJobs.buffer();
this.sendPrint(buffer, onDone); this.sendPrint(buffer, onDone);
}, },
delNode(data) {
// 1. 统一转为字符串
let str;
if (typeof data === 'object' && data !== null) {
// 对象或数组 → JSON 字符串
str = JSON.stringify(data);
} else if (typeof data === 'string') {
str = data;
} else {
// 其他类型(数字、布尔等)先转字符串
str = String(data);
}
// 2. 删除所有大括号 { } 和双引号 "
const result = str.replace(/[{}"]/g, '');
return result;
},
sendPrint(buffer, onDone) { sendPrint(buffer, onDone) {
// 1.并行调用多次会存在写失败的可能性 // 1.并行调用多次会存在写失败的可能性
// 2.建议每次写入不超过20字节 // 2.建议每次写入不超过20字节

Loading…
Cancel
Save