新增本地USB打印

This commit is contained in:
gyq
2024-07-29 18:10:01 +08:00
parent 4fb34a4235
commit b2e450fd52
8 changed files with 222 additions and 46 deletions

View File

@@ -1,5 +1,4 @@
<!-- 结算订单 -->
<template>
<el-drawer size="100%" :with-header="false" direction="btt" v-model="dialogVisible">
<div class="drawer_wrap">
@@ -77,6 +76,8 @@ import { ElMessage } from "element-plus";
import dayjs from "dayjs";
import useStorage from '@/utils/useStorage'
import { ipcRenderer } from "electron";
import { formatDecimal } from '@/utils/index.js'
import receiptPrint from "@/components/lodop/receiptPrint.js";
import { usePrint } from '@/store/print.js'
const printStore = usePrint()
@@ -122,31 +123,30 @@ const printHandle = _.throttle(async function () {
try {
if (!isPrint.value) return;
const data = {
shop_name: store.userInfo.merchantName,
shop_name: store.userInfo.shopName,
loginAccount: store.userInfo.loginAccount,
carts: props.cart,
amount: props.amount,
remark: props.remark,
orderInfo: props.orderInfo,
createdAt: dayjs(props.orderInfo.createdAt).format(
"YYYY-MM-DD HH:mm:ss"
),
createdAt: dayjs(props.orderInfo.createdAt).format("YYYY-MM-DD HH:mm:ss"),
printTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
};
printStore.labelPrint(data)
try {
printLoading.value = true;
await print({
type: "normal",
ispre: true,
orderId: props.orderInfo.id,
});
printLoading.value = false;
// ElMessage.success("打印成功");
} catch (error) {
printLoading.value = false;
console.log(error);
}
printStore.pushReceiptData(data)
// try {
// printLoading.value = true;
// await print({
// type: "normal",
// ispre: true,
// orderId: props.orderInfo.id,
// });
// printLoading.value = false;
// // ElMessage.success("打印成功");
// } catch (error) {
// printLoading.value = false;
// console.log(error);
// }
} catch (error) {
console.log(error);
}
@@ -166,13 +166,17 @@ async function printOrderLable() {
const printLabelOrder = res.list[0]
const data = {
shop_name: store.userInfo.merchantName,
shop_name: store.userInfo.shopName,
loginAccount: store.userInfo.loginAccount,
carts: [],
amount: printLabelOrder.orderAmount,
remark: printLabelOrder.remark,
orderInfo: printLabelOrder,
outNumber: printLabelOrder.outNumber,
createdAt: dayjs(printLabelOrder.createdAt).format(
"YYYY-MM-DD HH:mm:ss"
)
),
printTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
}
printLabelOrder.skuInfos.map(item => {
data.carts.push(
@@ -180,13 +184,16 @@ async function printOrderLable() {
categoryId: item.categoryId,
name: item.productName,
number: item.num,
skuName: item.productSkuName
skuName: item.productSkuName,
salePrice: formatDecimal(item.priceAmount / item.num),
totalAmount: formatDecimal(item.priceAmount)
}
)
})
// console.log('重打标签小票', data);
// 打印标签
printStore.labelPrint(data)
// 打印小票
printStore.pushReceiptData(data)
} catch (error) {
console.log(error);
}