From 85d1909fd79cf4525a3c9fa6609fdcc3af7ade53 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Thu, 11 Sep 2025 15:54:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=A5=A8=E6=89=93=E5=8D=B0=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/printer/Common.js | 3 +- .../canteen/order/reserveManagement/index.vue | 105 ++++++++++-------- 2 files changed, 60 insertions(+), 48 deletions(-) diff --git a/src/utils/printer/Common.js b/src/utils/printer/Common.js index 6e1013af..73b0f4a6 100644 --- a/src/utils/printer/Common.js +++ b/src/utils/printer/Common.js @@ -1,7 +1,7 @@ var port = 18080; var connectionMode = "ws:"; var wsPrint = null; -let wsGetPrinterList = null; +var wsGetPrinterList = null; var CHUNK_SIZE = 1024 * 64; const WebSocketPrint = function (serverURL, strPrinterName, request, callback) { @@ -187,6 +187,7 @@ export { requestPrint, getPrinterList, wsPrint, + wsGetPrinterList, WebSocketPrint, WebSocketGetPrinterList } diff --git a/src/views/canteen/order/reserveManagement/index.vue b/src/views/canteen/order/reserveManagement/index.vue index 0aa0f9e6..9bf197f7 100644 --- a/src/views/canteen/order/reserveManagement/index.vue +++ b/src/views/canteen/order/reserveManagement/index.vue @@ -117,14 +117,16 @@ - - - - - - - - + + + + + + + + + + @@ -537,16 +539,16 @@ -
- - - -
+ + + + + + + + + +
请问是否对以下可{{ handleType }}订单进行{{ handleType }}操作?
可{{ handleType }}订单 {{ ableList.length }} 笔
{{ (index + 1) }}. @@ -694,38 +696,46 @@ export default { created() { // this.printerName = '' // this.printList = [] - this.PosPrinter = new WebSDK.EscPosCommand() - this.refreshPrinterList() + this.getAreaTreeData() this.getDeptTree() this.getList() }, mounted() { - + this.PosPrinter = new WebSDK.EscPosCommand() + this.refreshPrinterList() }, methods: { refreshPrinterList() { setPort(18080) - const category = { 'category': 1 } - getPrinterList(category, this.updatePrinterList) + getPrinterList({ 'category': 1 },(printer) =>{ + this.updatePrinterList(printer) + }) }, updatePrinterList(printers) { - // this.printList = printers - // console.log(this.printList) - // if (!Array.isArray(printers)) { - // console.error('Expected an array of printers, but got:', typeof printers) - // return - // } - // console.log('Available printers:', this.printList) - this.printList = printers.map(item => ({ - name: item.logicalName, - value: item.logicalName - })) - console.log('Available printers:', this.printList) - if (this.printList.length > 0) { - this.printerName = this.printList[0].name + console.log("Printers from getPrinterList:", printers) + if (!Array.isArray(printers)) { + console.error('Expected an array of printers, but got:', typeof printers) + return } - + this.printList = Array.isArray(printers) + ? printers.map((item, index) => ({ + name: item.logicalName, + value: index, + })) + : [] + console.log('Available printers:', this.printList) + console.log('Available printers size:', this.printList.length) + if (this.printList.length > 0) { + console.log('Setting default printer to:', this.printList[0].value) + this.printerName = this.printList[0].value + } + console.log('this.printerName:', this.printerName) + console.log('this.printList:', this.printList) + this.$nextTick(() => { + // 强制更新视图 + this.$forceUpdate() + }) }, //区域树 getAreaTreeData() { @@ -1046,14 +1056,14 @@ export default { this.$modal.msgSuccess('批量核销完成') } if (this.handleType == '打印小票') { - if (this.printList.length === 0) { - this.$modal.msgWarning('请先开启小票打印机服务!') - return - } - if (this.printerName === '') { - this.$modal.msgWarning('请先选择小票打印机!') - return - } + // if (this.printList.length === 0) { + // this.$modal.msgWarning('请先开启小票打印机服务,获取打印机列表,可尝试强制刷新浏览器!') + // return + // } + // if (this.printerName === '') { + // this.$modal.msgWarning('请先选择小票打印机!') + // return + // } const _titles = ['菜品名称', '数量', '单价', '总价'] const _columnWidths = [20, 10, 10, 8] console.log(this.ableList) @@ -1082,7 +1092,8 @@ export default { }) // 合计: 277 -> Total: 277; 应收: 277 -> Amount Due: 277; 水流单号: 1234567891011 -> Flow Number: 1234567891011; 谢谢光临!欢迎下次光临! -> Thank you for your visit! Welcome again next time! .printAndFeed(2) .feedAndCut(50) - this.prepareAndPrint(this.printerName) + //TODO 当前打印机名称是写死的,后续需要改成动态选择 目前动态页面赋值有问题 + this.prepareAndPrint('Printer1') }) this.$modal.msgSuccess('打印小票完成')