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: "",