cashier-mer/src/utils/EscPos.js

70 lines
2.4 KiB
JavaScript
Raw Normal View History

2024-05-16 17:29:12 +08:00
import * as Esc from "@/utils/EscPostUtils.js";
const testObj = {
mer_name: "莲花农贸市场", //商户名称
service_phone: "0830-2669767", //客服电话
number: "PF171568087790938356", //单号
create_time: "2024-5-15 18:00:32", //下单时间
total_price: "29.96", //总价
pay_price: "29.96", //实付
pay_type: "微信支付", //支付方式
pay_number: "4200002159202405159003084211", //支付单号
goods: [
{
name: "白菜 大白菜", //商品名称
sell: "236.60", //单价
nums: "13", //数量
unit_name: "kg", //单位
total: "2896.34" //小计
},
{
name: "小黄鸭", //商品名称
sell: "9.56", //单价
nums: "2", //数量
unit_name: "只", //单位
total: "19.38" //小计
},
{
name: "卷心菜", //商品名称
sell: "15.37", //单价
nums: "8", //数量
unit_name: "斤", //单位
total: "134.38" //小计
}
]
}
export const printTicket = (obj = {}, test = false) => {
let str = "";
if(!obj || !obj.number) obj = testObj;
str += Esc.Size2(0) + Esc.Center() + Esc.boldFontOn() + obj.mer_name + "\n";
str += Esc.fillLine(" ") + Esc.boldFontOff() + "\n";
str += Esc.Left() + "单号: " + obj.number + "\n";
str += Esc.Left() + "下单时间: " + obj.create_time + "\n";
// 商品信息
str += Esc.fillLine("=") + "\n";
str += Esc.inline3("单价", "数量", "小计", " ", 1) + "\n";
obj.goods.forEach(item => {
str += Esc.Left() + item.name + "\n";
str += Esc.inline3(`${item.sell}`, `${item.nums}${item.unit_name}`, `${item.total}`, " ", 1) + "\n";
})
str += Esc.fillLine("=") + "\n";
str += Esc.Left() + "应付款: " + obj.total_price + "元" + "\n";
str += Esc.Left() + "实付款: " + obj.pay_price + "元" + "\n";
str += Esc.Left() + "支付方式: " + obj.pay_type + "\n";
str += Esc.Left() + "支付单号: " + obj.pay_number + "\n";
str += Esc.Left() + "联系电话: " + obj.service_phone + "\n";
str += Esc.fillLine("=") + "\n";
// 票尾
str += Esc.fillLine(" ") + "\n";
str += Esc.Center() + "欢迎下次光临!" + "\n";
str += Esc.feedLines(" ") + "\n";
// 切纸
str += Esc.cutPaper();
return str;
}