|
@@ -405,6 +405,93 @@ export function getUrlParam(name) {
|
|
|
return null; //返回参数值
|
|
|
}
|
|
|
|
|
|
+function addDynamicText(width, content) {
|
|
|
+ // 创建一个临时元素来计算文本高度
|
|
|
+ var tempDiv = document.createElement("div");
|
|
|
+ tempDiv.style.position = "absolute";
|
|
|
+ tempDiv.style.left = "-1000px";
|
|
|
+ tempDiv.style.top = "-1000px";
|
|
|
+ tempDiv.style.width = width + "mm"; // 使用与LODOP相同的单位
|
|
|
+ tempDiv.style.fontFamily = "Arial"; // 使用与打印相同的字体
|
|
|
+ tempDiv.style.fontSize = "14px"; // 使用与打印相同的字号
|
|
|
+ tempDiv.style.lineHeight = "1.2"; // 使用与打印相同的行高
|
|
|
+ tempDiv.innerHTML = content;
|
|
|
+
|
|
|
+ document.body.appendChild(tempDiv);
|
|
|
+ var height = tempDiv.offsetHeight;
|
|
|
+ document.body.removeChild(tempDiv);
|
|
|
+
|
|
|
+ // 转换为毫米(假设LODOP使用毫米为单位)
|
|
|
+ var heightInMM = height * 0.264583; // 1px ≈ 0.264583mm
|
|
|
+ return height
|
|
|
+}
|
|
|
+
|
|
|
+// 充值收据
|
|
|
+export function exchangeClothPrinter(LODOP, data, lodopName) {
|
|
|
+ LODOP.PRINT_INIT(`充值收据`);
|
|
|
+ // 设置打印模板
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(3, 800, 45, '');
|
|
|
+ // 设置打印内容
|
|
|
+ LODOP.ADD_PRINT_TEXT(30, 95, 150, 20, `一七生活 ${data.storeName}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(55, 135, 50, 20, '充值单');
|
|
|
+ // 开始绘制虚线
|
|
|
+ LODOP.ADD_PRINT_LINE(80, 10, 80, 295, 1, 1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(90, 10, 200, 20, `订单号:${data.orderNo}`);
|
|
|
+ let date = formatDate(new Date().getTime(), 1)
|
|
|
+ LODOP.ADD_PRINT_TEXT(110, 10, 300, 20, `打印日期:${date}`);
|
|
|
+ LODOP.ADD_PRINT_LINE(130, 10, 130, 295, 1, 1);
|
|
|
+ let type = ''
|
|
|
+ if (data.rechargeType == '3') {
|
|
|
+ type = '自定义'
|
|
|
+ }
|
|
|
+ if (data.rechargeType == '0') {
|
|
|
+ type = '套餐'
|
|
|
+ }
|
|
|
+ if (data.rechargeType == '1') {
|
|
|
+ type = '福利金'
|
|
|
+ }
|
|
|
+ LODOP.ADD_PRINT_TEXT(140, 10, 300, 20, `充值类型:${type}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(160, 10, 300, 20, `充值金额:${data.rechargeAmount || 0};赠送:${data.giveAmount || 0};福利:${data.welfareAmount || 0};`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(180, 10, 300, 20, `支付金额:${data.payAmount}`);
|
|
|
+ let payType = ''
|
|
|
+ if (data.rechargeType == '1') {
|
|
|
+ type = `(福利)${data.welfareAmount}`
|
|
|
+ }else if(data.payType == '0'){
|
|
|
+ payType = '微信 '
|
|
|
+ }else if(data.payType == '1'){
|
|
|
+ payType = '支付宝 '
|
|
|
+ }else if(data.payType == '2'){
|
|
|
+ payType = '现金'
|
|
|
+ }else if(data.payType == '9'){
|
|
|
+ payType = `(现金)${data.cashPayAmount} `
|
|
|
+ if (data.aliPayAmount) {
|
|
|
+ payType += `(支付宝)${data.aliPayAmount}`
|
|
|
+ }
|
|
|
+ if (data.wxPayAmount) {
|
|
|
+ payType += `(微信)${data.wxPayAmount}`
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LODOP.ADD_PRINT_TEXT(200, 10, 300, 20, `支付方式:${payType}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(220, 10, 300, 20, `订单备注:${data.remark?data.remark:''}`);
|
|
|
+ LODOP.ADD_PRINT_LINE(240, 10, 240, 295, 1, 1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(250, 10, 300, 20, `会员余额:${data.memberPrice || 0}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(270, 10, 300, 20, `本次充值:${data.rechargeAmount + data.giveAmount + data.welfareAmount}元`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(290, 10, 300, 20, `会员余额:${(data.memberPrice || 0) + data.rechargeAmount + data.giveAmount + data.welfareAmount}元`);
|
|
|
+ LODOP.ADD_PRINT_LINE(310, 10, 310, 295, 1, 1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(320, 10, 300, 20, `会员电话:${data.contactPhone || ''}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(340, 10, 300, 20, `会员姓名:${data.contactName || ''}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(360, 10, 300, 20, `会员地址:${data.contactAddress}`);
|
|
|
+
|
|
|
+ LODOP.ADD_PRINT_TEXT(400, 10, 300, 20, `联系电话:${data.sysOrg.contactPhone}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(420, 10, 300, 20, `本店地址:${data.sysOrg.address || ''}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(460, 10, 300, 20, `客户签名:`);
|
|
|
+ LODOP.ADD_PRINT_LINE(500, 10, 500, 295, 1, 1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(510, 50, 300, 20, `请仔细阅读店内张贴的取衣凭证注意事项`);
|
|
|
+ LODOP.ADD_PRINT_LINE(530, 10, 530, 295, 1, 1);
|
|
|
+ if (LODOP.SET_PRINTER_INDEXA(lodopName))
|
|
|
+ LODOP.PRINT(); //直接打印
|
|
|
+}
|
|
|
+
|
|
|
//收衣明细收据
|
|
|
export function collectClothPrinter(LODOP, data, lodopName) {
|
|
|
// 创建Lodop打印对象
|
|
@@ -416,7 +503,7 @@ export function collectClothPrinter(LODOP, data, lodopName) {
|
|
|
//这里3表示纵向打印且纸高“按内容的高度”;800表示纸宽80mm;45表示页底空白4.5mm
|
|
|
|
|
|
// 设置打印内容
|
|
|
- LODOP.ADD_PRINT_TEXT(30, 95, 150, 20, `一七生活 ${data.orgName}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(30, 95, 150, 20, `一七生活 ${data.orgName || data.sysOrg.name}`);
|
|
|
LODOP.ADD_PRINT_TEXT(55, 135, 50, 20, '收衣单');
|
|
|
|
|
|
// 开始绘制虚线
|
|
@@ -429,8 +516,9 @@ export function collectClothPrinter(LODOP, data, lodopName) {
|
|
|
LODOP.SET_PRINT_STYLEA(0,"ShowBarText",0);
|
|
|
|
|
|
LODOP.ADD_PRINT_TEXT(200, 50, 300, 20, `收衣日期:${data.createTime?data.createTime:'--'}`);
|
|
|
-
|
|
|
- LODOP.ADD_PRINT_TEXT(230, 50, 300, 20, `预计取衣时间:${data.planSendClothTime?data.planSendClothTime:'--'}`);
|
|
|
+ let planTime = data.planSendClothTime ? data.planSendClothTime : (data.planSendToUserTime || '--')
|
|
|
+
|
|
|
+ LODOP.ADD_PRINT_TEXT(230, 50, 300, 20, `预计取衣时间:${planTime}`);
|
|
|
|
|
|
LODOP.ADD_PRINT_LINE(255, 10, 255, 295, 1, 1);
|
|
|
|
|
@@ -439,6 +527,7 @@ export function collectClothPrinter(LODOP, data, lodopName) {
|
|
|
LODOP.ADD_PRINT_LINE(285, 10, 285, 295, 1, 1);
|
|
|
|
|
|
const top = 305;
|
|
|
+ let height = top
|
|
|
for(var i = 0; i < data.orderClothDetails.length; i++) {
|
|
|
let item = data.orderClothDetails[i];
|
|
|
let _name = ''
|
|
@@ -450,16 +539,22 @@ export function collectClothPrinter(LODOP, data, lodopName) {
|
|
|
item.orderClothFlaws.forEach(item_n=>{
|
|
|
_flaws += item_n.clothFlawName+';'
|
|
|
})
|
|
|
- LODOP.ADD_PRINT_TEXT(top + i * 30, 20, 50, 20, i+1);
|
|
|
- LODOP.ADD_PRINT_TEXT(top + i * 30, 45, 110, 20, _name);
|
|
|
- LODOP.ADD_PRINT_TEXT(top + i * 30, 165, 40, 20, `${item.totalPrice}元`);
|
|
|
- LODOP.ADD_PRINT_TEXT(top + i * 30, 200, 110, 20, _flaws);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height, 20, 50, 20, i+1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height, 45, 110, 20, _name);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height, 165, 40, 20, `${item.totalPrice}元`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height, 200, 110, "100%", _flaws);
|
|
|
+ LODOP.SET_PRINT_STYLEA(0, "Autowrap", 1);
|
|
|
+ let h1 = addDynamicText(30, _name)
|
|
|
+ let h2 = addDynamicText(30, _flaws)
|
|
|
+ var actualHeight = h1 > h2 ? h1 : h2
|
|
|
+ height += actualHeight
|
|
|
}
|
|
|
|
|
|
- const height = top + (data.orderClothDetails.length+1)*20;
|
|
|
+ // const height = top + (data.orderClothDetails.length+1)*20;
|
|
|
// 合计
|
|
|
LODOP.ADD_PRINT_TEXT(height + 15, 10, 150, 20, `合计:${data.orderClothDetails.length}件`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 15, 160, 150, 20, `总金额:${data.totalPrice}元`);
|
|
|
+ let totalPrice = data.totalPrice || data.orderAmount
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 15, 160, 150, 20, `总金额:${totalPrice}元`);
|
|
|
|
|
|
LODOP.ADD_PRINT_LINE(height + 35, 10, height + 35, 295, 1, 1);
|
|
|
|
|
@@ -483,26 +578,34 @@ export function collectClothPrinter(LODOP, data, lodopName) {
|
|
|
|
|
|
LODOP.ADD_PRINT_TEXT(height + 45, 10, 150, 20, `付款方式:${payTypename}`);
|
|
|
LODOP.ADD_PRINT_TEXT(height + 45, 160, 150, 20, `会员金额:${data.memberPrice?data.memberPrice+'元':''}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 75, 10, 150, 20, `本次扣款:${thisPrice?thisPrice+'元':''}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 75, 10, 150, 20, `本次扣款:${thisPrice?thisPrice+'元':'0'}`);
|
|
|
LODOP.ADD_PRINT_TEXT(height + 75, 160, 150, 20, `会员余额:${data.memberPrice?data.memberPrice-thisPrice?thisPrice:0 +'元':''}`);
|
|
|
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 105, 10, 150, 20, `客户:${data.contactName}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 105, 160, 180, 20, `客户电话:${data.contactPhone}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 135, 10, 300, 20, `客户地址:${data.province+data.city+data.area+data.address+data.addressDetail}`);
|
|
|
-
|
|
|
- LODOP.ADD_PRINT_LINE(height + 160, 10, height + 160, 295, 1, 1);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 170, 10, 300, 20, `本店地址:${data.sysOrg.address?data.sysOrg.address:''}${data.sysOrg.addressDetail?data.sysOrg.addressDetail:''}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 200, 10, 300, 20, `联系电话:${data.sysOrg.contactPhone}`);
|
|
|
-
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 230, 10, 180, 20, `营业时间:${data.sysOrg.businessStartTime?data.sysOrg.businessStartTime:''}-${data.sysOrg.businessEndTime?data.sysOrg.businessEndTime:''}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 230, 200, 120, 20, `员工:${data.createBy?data.createBy:''}`);
|
|
|
-
|
|
|
- LODOP.ADD_PRINT_LINE(height + 255, 10, height + 255, 295, 1, 1);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 265, 10, 300, 20, `订单备注:${data.remark?data.remark:''}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(height + 300, 10, 300, 50, `客户签名:`);
|
|
|
- console.log('aaa', this.LODOP.SET_PRINTER_INDEXA(lodopName))
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 105, 10, 150, 20, `客户:${data.contactName || data.appUserName}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 105, 160, 180, 20, `客户电话:${data.contactPhone || data.appUserPhoneNumber}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 135, 10, 300, 20, `客户地址:${data.province || ''}${ data.city|| ''}${ data.area|| ''}${ data.address|| ''}${ data.addressDetail|| ''}`);
|
|
|
+ var userHeight = addDynamicText(90, `客户地址:${data.province || ''}${ data.city|| ''}${ data.area|| ''}${ data.address|| ''}${ data.addressDetail|| ''}`)
|
|
|
+ height += userHeight
|
|
|
+
|
|
|
+ LODOP.ADD_PRINT_LINE(height + 140, 10, height + 140, 295, 1, 1);
|
|
|
+ console.log(data.sysOrg)
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 150, 10, 300, 20, `本店地址:${data.sysOrg.address || ''}`);
|
|
|
+ var sysHeight = addDynamicText(90, `本店地址:${data.sysOrg.address || ''}`)
|
|
|
+ height += sysHeight
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 160, 10, 300, 20, `联系电话:${data.sysOrg.contactPhone}`);
|
|
|
+
|
|
|
+ // LODOP.ADD_PRINT_TEXT(height + 210, 10, 180, 20, `营业时间:${data.sysOrg.businessStartTime?data.sysOrg.businessStartTime:''}-${data.sysOrg.businessEndTime?data.sysOrg.businessEndTime:''}`);
|
|
|
+ // LODOP.ADD_PRINT_TEXT(height + 210, 200, 120, 20, `员工:${data.createBy?data.createBy:''}`);
|
|
|
+
|
|
|
+ LODOP.ADD_PRINT_LINE(height + 185, 10, height + 185, 295, 1, 1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 195, 10, 300, 20, `订单备注:${data.remark?data.remark:''}`);
|
|
|
+ var remarkHeight = addDynamicText(90, `订单备注:${data.remark?data.remark:''}`)
|
|
|
+ height += remarkHeight
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 210, 10, 300, 50, `客户签名:`);
|
|
|
+ LODOP.ADD_PRINT_LINE(height + 250, 10, height + 250, 295, 1, 1);
|
|
|
+ LODOP.ADD_PRINT_TEXT(height + 260, 50, 300, 20, `请仔细阅读店内张贴的取衣凭证注意事项`);
|
|
|
+ LODOP.ADD_PRINT_LINE(height + 280, 10, height + 280, 295, 1, 1);
|
|
|
if (this.LODOP.SET_PRINTER_INDEXA(lodopName))
|
|
|
- console.log('aaa22')
|
|
|
|
|
|
// this.LODOP.PREVIEW(); //打印预览
|
|
|
this.LODOP.PRINT(); //直接打印
|
|
@@ -672,13 +775,23 @@ export function barCodePrinter(LODOP, data, lodopName){
|
|
|
})
|
|
|
_name = item.clothItemName+_name
|
|
|
let _flaws = ''
|
|
|
+ let n = 0
|
|
|
item.orderClothFlaws.forEach(item_n=>{
|
|
|
- _flaws += item_n.clothFlawTypeName+';'
|
|
|
+ if (n < 10) {
|
|
|
+ _flaws += item_n.clothFlawName+';'
|
|
|
+ }
|
|
|
+ n++
|
|
|
})
|
|
|
+ if (n >= 10) {
|
|
|
+ _flaws += '...'
|
|
|
+ }
|
|
|
let junInfo = ''
|
|
|
- item.orderClothAdjuncts.forEach(item_n=>{
|
|
|
- junInfo += `${item_n.adjunctName}*${item_n.num}`+';'
|
|
|
- })
|
|
|
+ if (item.orderClothAdjunct) {
|
|
|
+ item.orderClothAdjuncts.forEach(item_n=>{
|
|
|
+ junInfo += `${item_n.adjunctName}*${item_n.num}`+';'
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// 绘制条码
|
|
|
LODOP.ADD_PRINT_BARCODE(top + i * 110, 10, 260, 40, '128B', item.washCode);
|
|
@@ -690,7 +803,7 @@ export function barCodePrinter(LODOP, data, lodopName){
|
|
|
|
|
|
LODOP.ADD_PRINT_TEXT(top + 30 + i * 110, 280, 400, 15, `附件:${junInfo}`);
|
|
|
LODOP.ADD_PRINT_TEXT(top + 30 + i * 110, 650, 100, 15, `${data.id}-${i+1}`);
|
|
|
- LODOP.ADD_PRINT_TEXT(top + 50 + i * 110, 280, 400, 15, `备注:${item.remark}`);
|
|
|
+ LODOP.ADD_PRINT_TEXT(top + 50 + i * 110, 280, 400, 15, `备注:${item.remark} | ${item.clothSpeedName}`);
|
|
|
LODOP.ADD_PRINT_TEXT(top + 50 + i * 110, 650, 100, 20, data.sysOrg.name);
|
|
|
}
|
|
|
|