diff --git a/src/utils/websocket.ts b/src/utils/websocket.ts index ea7ee1d..ef57d9b 100644 --- a/src/utils/websocket.ts +++ b/src/utils/websocket.ts @@ -30,7 +30,7 @@ class WebSocketManager { private messageHandlers: Map void)[]> = new Map(); private type: string = 'manage'; private reconnectAttempts = 0; - private maxReconnectAttempts = 3; // 自定义最大重试次数 + private maxReconnectAttempts = 10; // 自定义最大重试次数 private reconnectDelay = 5000; // 重试延迟(单位:毫秒) private timer: any | null = null; @@ -145,6 +145,18 @@ class WebSocketManager { }, this.reconnectDelay); } else { console.error("达到最大重连次数,停止重连"); + ElMessageBox.confirm('达到最大重连次数' + this.maxReconnectAttempts + '次,已停止重连,是否立即重连?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + + callback: (action: string) => { + console.log(action); + if (action == 'confirm') { + this.setupWebSocket(); + this.reconnectAttempts = 0; + } + } + }); } } diff --git a/src/views/tool/Instead/components/control.vue b/src/views/tool/Instead/components/control.vue index cedf0c6..0636329 100644 --- a/src/views/tool/Instead/components/control.vue +++ b/src/views/tool/Instead/components/control.vue @@ -4,7 +4,7 @@
- {{ carts.selCart.number || 1 }} + {{ carts.selCart.number || 1 }}
@@ -44,7 +44,20 @@ const controls = ref([ // { label: "整单等叫", key: "", disabled: false, per: "all-wating" }, ]); -const emits = defineEmits(["noteClick", "changePriceClick", "packClick", "return", "rottable"]); +const emits = defineEmits([ + "noteClick", + "changePriceClick", + "packClick", + "return", + "rottable", + "changeCartNumberShow", +]); +function changeCartNumberShow() { + if (!carts.selCart.id) { + return; + } + emits("changeCartNumberShow"); +} function controlsClick(item) { switch (item.key) { case "is_gift": @@ -99,8 +112,9 @@ const perList = computed(() => { if (carts.selCart.id) { if (carts.isOldOrder) { arr = ["return"]; + } else { + arr = ["cart", "del", "pack", "gift", "save", "one-note", "print", "all-note", "all-wating"]; } - arr = ["cart", "del", "pack", "gift", "save", "one-note", "print", "all-note", "all-wating"]; } if (carts.oldOrder.id) { arr.push("rottable"); diff --git a/src/views/tool/Instead/components/keyboard.vue b/src/views/tool/Instead/components/keyboard.vue index 1c0a1f8..370cc5f 100644 --- a/src/views/tool/Instead/components/keyboard.vue +++ b/src/views/tool/Instead/components/keyboard.vue @@ -111,6 +111,8 @@ function clearFunction() { } number.value = ""; } +const regex = /^\d+(\.\d{1,2})?$/; + function keyboradAdd(n) { if (n == "." && `${number.value}`.includes(".")) { return; @@ -120,10 +122,17 @@ function keyboradAdd(n) { return (number.value = 0 + n); } } + if (n == ".") { + return (number.value += n); + } const newval = number.value + n; if (newval * 1 > props.max * 1) { return ElMessage.error(props.maxTips); } + if (props.isFloat && !regex.test(newval)) { + console.log("输入不合法"); + return; + } console.log(number.value); number.value = newval; } diff --git a/src/views/tool/Instead/components/popup-change-number.vue b/src/views/tool/Instead/components/popup-change-number.vue new file mode 100644 index 0000000..7dc9782 --- /dev/null +++ b/src/views/tool/Instead/components/popup-change-number.vue @@ -0,0 +1,289 @@ + + + + + \ No newline at end of file diff --git a/src/views/tool/Instead/index.vue b/src/views/tool/Instead/index.vue index de6217f..dba7b8a 100644 --- a/src/views/tool/Instead/index.vue +++ b/src/views/tool/Instead/index.vue @@ -124,6 +124,7 @@ @changePriceClick="showChangePrice" @return="refReturnCartShow" @rottable="rottableShow" + @changeCartNumberShow="refChangeNumberShow" />
@@ -186,7 +187,8 @@
- + + @@ -231,6 +233,7 @@ import chooseUser from "./components/choose-user.vue"; import changeWeight from "./components/popup-weight-goods.vue"; import changeTaocan from "./components/popup-taocan-goods.vue"; import addLingShiCai from "./components/popup-linshiCai.vue"; +import changeNumber from "./components/popup-change-number.vue"; import rottable from "./components/popup-rottable.vue"; import GoodsItem from "./components/goods-item.vue"; import dialogGoodsSel from "./components/dialog-goods-sel.vue"; @@ -252,6 +255,15 @@ const shopUser = useUserStore(); const route = useRoute(); const router = useRouter(); +//更改数量 +const refChangeNumber = ref(); +function refChangeNumberShow() { + refChangeNumber.value.open(carts.selCart); +} +function refChangeNumberConfirm(cart, num) { + carts.updateTag("number", num); +} + //转桌 const refRotTable = ref(); function rottableShow() {