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; }