diff --git a/src/views/tool/Instead/components/carts/list.vue b/src/views/tool/Instead/components/carts/list.vue index f04bb43..ce7ab02 100644 --- a/src/views/tool/Instead/components/carts/list.vue +++ b/src/views/tool/Instead/components/carts/list.vue @@ -101,9 +101,7 @@ 去结账 --> - + 仅下单 @@ -133,11 +131,11 @@ import { useUserStore } from "@/store/modules/user"; function isEmptyObject(obj) { // 步骤1:排除null和非对象类型 if (obj === null || typeof obj !== "object") { - return false; + return true; } // 步骤2:排除数组(数组也是对象,需单独判断) if (Array.isArray(obj)) { - return false; + return true; } // 步骤3:判断自身可枚举属性是否为空 return Object.keys(obj).length === 0; diff --git a/src/views/tool/Instead/components/order.vue b/src/views/tool/Instead/components/order.vue index e405374..f03d265 100644 --- a/src/views/tool/Instead/components/order.vue +++ b/src/views/tool/Instead/components/order.vue @@ -591,7 +591,7 @@ function pointsToMoney(val) { carts.orderCostSummary.pointDeductionAmount = finalMoney; } -const emits = defineEmits(["chooseUser", "paysuccess"]); +const emits = defineEmits(["chooseUser", "paysuccess", 'createOrder']); function chooseUser() { emits("chooseUser"); } @@ -703,31 +703,37 @@ async function getPaytype() { } const cashRemark = ref(""); -function nowPayClick(payType) { - payType = payType || payTypes.list[payTypes.sel].payType; - if (payType === "cash") { - ElMessageBox.prompt("是否确认已现金收款:" + currentpayMoney.value + "元", "快捷支付", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - inputPlaceholder: '请输入现金支付备注(选填)', - }) - .then(({ value }) => { - cashRemark.value = value || ""; - payOrder("cash"); - }) - .catch(() => { }); - return; - } - if (payType == "member-account") { - if (!carts.vipUser.id) { - return ElMessage.error("请先选择会员"); - } - payOrder(payType); - return; +async function nowPayClick(payType) { + if (carts.list.length) { + await emits('createOrder', 'only-create') } - refScanPayOpen(payType); + setTimeout(() => { + payType = payType || payTypes.list[payTypes.sel].payType; + if (payType === "cash") { + ElMessageBox.prompt("是否确认已现金收款:" + currentpayMoney.value + "元", "快捷支付", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + inputPlaceholder: '请输入现金支付备注(选填)', + }) + .then(({ value }) => { + cashRemark.value = value || ""; + payOrder("cash"); + }) + .catch(() => { }); + return; + } + if (payType == "member-account") { + if (!carts.vipUser.id) { + return ElMessage.error("请先选择会员"); + } + payOrder(payType); + return; + } + + refScanPayOpen(payType); + }, 500); } let authCode = ""; diff --git a/src/views/tool/Instead/index.vue b/src/views/tool/Instead/index.vue index ef3338e..b3e622c 100644 --- a/src/views/tool/Instead/index.vue +++ b/src/views/tool/Instead/index.vue @@ -130,7 +130,7 @@ + :table="carts.tableInfo" :perpole="perpole" v-else :user="user" @create-order="createOrder"> @@ -802,10 +802,17 @@ onMounted(async () => { // : await orderApi.getHistoryList({ // tableCode, // }); - const res = await orderApi.getHistoryList({ - // orderId: carts.oldOrder.id, - tableCode: carts.table_code, - }); + let res = '' + if (carts.table_code) { + res = await orderApi.getHistoryList({ + // orderId: carts.oldOrder.id, + tableCode: carts.table_code, + }); + } else { + res = await orderApi.getHistoryList({ + orderId: id, + }) + } const noPayStatus = { cancelled: "订单已取消",