fix: 修改代客下单逻辑,收到清空购物车消息和切换台桌时获取该台桌订单

This commit is contained in:
YeMingfei666 2025-03-18 09:22:55 +08:00
parent 61607fcc44
commit 259d6db77f
2 changed files with 18 additions and 12 deletions

View File

@ -3,6 +3,7 @@ import WebSocketManager, { type ApifoxModel, msgType } from "@/utils/websocket";
import orderApi from "@/api/order/order";
import { useUserStoreHook } from "@/store/modules/user";
import { customTruncateToTwoDecimals } from '@/utils/tools'
const shopUser = useUserStoreHook();
export interface CartsState {
id: string | number;
@ -409,6 +410,12 @@ export const useCartsStore = defineStore("carts", () => {
}
}
//获取历史订单
async function getOldOrder(table_code: string | number) {
const res = await orderApi.getHistoryList({ tableCode: table_code })
setOldOrder(res)
}
function getProductDetails(v: { product_id: string, sku_id: string }) {
const goods = goodsMap[v.product_id]
if (!goods) {
@ -625,6 +632,7 @@ export const useCartsStore = defineStore("carts", () => {
}
if (msg.operate_type === "manage_cleanup") {
nowCartsClear()
getOldOrder(msg.data.table_code)
}
if (msg.operate_type === "batch") {
concocatSocket({ ...$initParams, table_code: table_code.value })

View File

@ -176,7 +176,7 @@
<!-- 订单信息展示 -->
<Order
ref="refOrder"
:orderInfo="orderInfo"
:orderInfo="oldOrder"
@chooseUser="showChooseUser"
@paysuccess="refresh"
:table="table"
@ -273,8 +273,7 @@ function rottableShow() {
}
async function rottableSuccess(tableCode) {
const res = await getTableDetail({ tableCode: tableCode });
table.value = res;
carts.changeTable(tableCode);
tableClick(res);
}
//
@ -301,7 +300,6 @@ async function refReturnCartConfirm(e) {
orderId: oldOrder.value.id,
});
oldOrder.value = res1;
orderInfo.value = res1;
carts.setOldOrder(res1);
}
}
@ -346,8 +344,6 @@ function hideOrder() {
}
const oldOrder = ref({ detailMap: [] });
const orderInfo = ref({});
let loadingTimer = null;
let loading = undefined;
@ -410,7 +406,6 @@ async function createOrder(key) {
orderId: res.id,
});
oldOrder.value = res1;
orderInfo.value = res1;
carts.setOldOrder(res1);
}
if (key == "only-create") {
@ -491,10 +486,14 @@ function returnTableLabel(key) {
const item = $status[key];
return item ? item.label : "";
}
function tableClick(item) {
async function tableClick(item) {
console.log(item);
getTableDetail({ tableCode: item.tableCode });
// getTableDetail({ tableCode: item.tableCode });
const res = await orderApi.getHistoryList({ tableCode: item.tableCode });
if (res) {
oldOrder.value = res;
carts.setOldOrder(res);
}
table.value = item;
carts.changeTable(item.tableCode);
refTable.value.hide();
@ -747,7 +746,6 @@ onMounted(async () => {
}
if (res) {
oldOrder.value = res;
orderInfo.value = res;
showOrder.value = true;
perpole.value = res.seatNum || 0;
}
@ -765,7 +763,7 @@ function refresh() {
oldOrder.value = {
detailMap: [],
};
orderInfo.value = {};
oldOrder.value = {};
showOrder.value = false;
user.value = {};
table.value = {};