From 6a7b11b9ec8e43148a5590a386ddd3b5d02e49ee Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Thu, 22 Oct 2026 15:40:21 +0800 Subject: [PATCH] 1 --- src/api/app.js | 4 ++ src/views/app/shop/addEdit.vue | 79 ++++++++++++++++++++++++++++++---- 2 files changed, 74 insertions(+), 9 deletions(-) diff --git a/src/api/app.js b/src/api/app.js index 897d08a..613d3f5 100644 --- a/src/api/app.js +++ b/src/api/app.js @@ -487,6 +487,10 @@ export const getShopPrintConfig = (params) => { return getRequest('/app/shop/printConfig', params) } +export const testShopPrinter = (params) => { + return postRequest('/app/shop/printTest', params) +} + export const findShopWorkerByMobile = (params) => { return getRequest('/app/shop/findWorkerByMobile', params) } diff --git a/src/views/app/shop/addEdit.vue b/src/views/app/shop/addEdit.vue index 03ad4fd..8f79336 100644 --- a/src/views/app/shop/addEdit.vue +++ b/src/views/app/shop/addEdit.vue @@ -136,17 +136,24 @@ 云打印机 - 已绑定:{{ form.printerName || form.shopName || "云打印机" }}({{ form.printerSn }}) + 已绑定:{{ currentPrinterBrandName }} - {{ form.printerName || form.shopName || "云打印机" }}({{ form.printerSn }}) - - - + + + - - - + + + + + + + + @@ -159,6 +166,7 @@ + @@ -319,6 +327,7 @@ editShop, bindShopPrinter, getShopPrintConfig, + testShopPrinter, findShopWorkerByMobile, } from "@/api/app"; export default { @@ -357,12 +366,27 @@ submitLoading: false, workerLoading: false, printerBindLoading: false, + printerTestLoading: false, workerMobile: "", printerForm: { + brand: "daqu", sn: "", key: "", name: "", }, + printerBrandOptions: [{ + value: "daqu", + label: "大趋智能" + }, + { + value: "yilianyun", + label: "易联云" + }, + { + value: "feieyun", + label: "飞鹅云" + } + ], maxHeight: 510, form: { address: [], @@ -499,6 +523,11 @@ if (!this.form.workerId) return ""; return `${this.form.workerName || ""} ${this.form.workerPhone || ""}`; }, + currentPrinterBrandName() { + const brand = this.form.printerBrand || this.printerForm.brand || "daqu"; + const item = this.printerBrandOptions.find(option => option.value == brand); + return item ? item.label : "大趋智能"; + }, }, methods: { init(v) { @@ -534,17 +563,19 @@ const sn = (this.printerForm.sn || "").trim(); const key = (this.printerForm.key || "").trim(); const name = (this.printerForm.name || this.form.shopName || "").trim(); + const brand = this.printerForm.brand || "daqu"; if (!sn) { - this.$Message.warning("请输入打印机SN"); + this.$Message.warning(brand == "yilianyun" ? "请输入终端号" : "请输入打印机SN"); return; } if (!key) { - this.$Message.warning("请输入设备绑定码"); + this.$Message.warning(brand == "yilianyun" ? "请输入mSign" : (brand == "feieyun" ? "请输入设备KEY" : "请输入设备绑定码")); return; } this.printerBindLoading = true; bindShopPrinter({ shopId: this.form.id, + brand, sn, key, name, @@ -553,8 +584,10 @@ this.printerBindLoading = false; if (res.success) { if (res.result) { + this.$set(this.form, "printerBrand", res.result.printerBrand || brand); this.$set(this.form, "printerSn", res.result.printerSn || sn); this.$set(this.form, "printerName", res.result.printerName || name); + this.$set(this.printerForm, "brand", res.result.printerBrand || brand); this.$set(this.printerForm, "name", res.result.printerName || name); } this.$Message.success(res.message || "打印机绑定成功"); @@ -565,6 +598,29 @@ this.printerBindLoading = false; }); }, + testPrinter() { + if (!this.form.id) { + this.$Message.warning("请先保存店铺后再测试打印"); + return; + } + if (!this.form.printerSn) { + this.$Message.warning("请先绑定云打印机"); + return; + } + this.printerTestLoading = true; + testShopPrinter({ + shopId: this.form.id + }).then((res) => { + this.printerTestLoading = false; + if (res.success) { + this.$Message.success(res.message || "测试打印已发送"); + } else { + this.$Message.error(res.message || "测试打印失败"); + } + }).catch(() => { + this.printerTestLoading = false; + }); + }, loadPrintConfig() { if (!this.form.id) return; getShopPrintConfig({ @@ -573,10 +629,13 @@ if (res.success && res.result) { const printerSn = res.result.printerSn || ""; const printerName = res.result.printerName || this.form.shopName || ""; + const printerBrand = res.result.printerBrand || "daqu"; + this.$set(this.form, "printerBrand", printerBrand); this.$set(this.form, "printerSn", printerSn); this.$set(this.form, "printerName", printerName); this.$set(this.form, "printingMethod", res.result.printingMethod || "bluetooth"); this.printerForm = { + brand: printerBrand, sn: printerSn, key: "", name: printerName, @@ -933,6 +992,7 @@ transferAddressName: data.transferAddressName || "", }); this.printerForm = { + brand: this.form.printerBrand || "daqu", sn: this.form.printerSn || "", key: "", name: this.form.printerName || this.form.shopName || "", @@ -962,6 +1022,7 @@ supportTransferDelivery: 0, }; this.printerForm = { + brand: "daqu", sn: "", key: "", name: "",