feat: 代客下单增加删除历史订单同步
This commit is contained in:
parent
5cb9943d2f
commit
52fb5b9fb5
|
|
@ -37,10 +37,14 @@ export const useCartsStore = defineStore("carts", () => {
|
|||
//当前购物车数据
|
||||
const list = useStorage<any[]>("carts", []);
|
||||
//历史订单数据
|
||||
const oldOrder = useStorage<any>("Instead_olold_order", {
|
||||
// const oldOrder = useStorage<any>("Instead_olold_order", {
|
||||
// detailMap: [],
|
||||
// originAmount: 0
|
||||
// });
|
||||
const oldOrder = ref({
|
||||
detailMap: [],
|
||||
originAmount: 0
|
||||
});
|
||||
})
|
||||
|
||||
//代客下单页面商品缓存
|
||||
const goods = useStorage<any[]>("Instead_goods", []);
|
||||
|
|
@ -367,6 +371,10 @@ export const useCartsStore = defineStore("carts", () => {
|
|||
cart_id
|
||||
});
|
||||
}
|
||||
//清空历史订单
|
||||
function clearHistory() {
|
||||
sendMessage('clearOrder', {});
|
||||
}
|
||||
|
||||
|
||||
function del(data: any) {
|
||||
|
|
@ -447,8 +455,15 @@ export const useCartsStore = defineStore("carts", () => {
|
|||
//获取历史订单
|
||||
async function getOldOrder(table_code: string | number) {
|
||||
const res = await orderApi.getHistoryList({ tableCode: table_code })
|
||||
console.log('getOldOrder');
|
||||
console.log(res);
|
||||
if (res) {
|
||||
setOldOrder(res)
|
||||
} else {
|
||||
oldOrder.value = {
|
||||
detailMap: [],
|
||||
originAmount: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -551,7 +566,7 @@ export const useCartsStore = defineStore("carts", () => {
|
|||
if ($oldOrder) {
|
||||
setOldOrder($oldOrder)
|
||||
} else {
|
||||
oldOrder.value = { detailMap: [] }
|
||||
oldOrder.value = { detailMap: [], originAmount: 0 }
|
||||
}
|
||||
|
||||
// console.log('oldOrder.detailMap', oldOrder.value.detailMap)
|
||||
|
|
@ -690,6 +705,9 @@ export const useCartsStore = defineStore("carts", () => {
|
|||
if (msg.operate_type === "batch") {
|
||||
concocatSocket({ ...$initParams, table_code: table_code.value })
|
||||
}
|
||||
if (msg.operate_type === "manage_clearOrder") {
|
||||
getOldOrder(msg.data.table_code)
|
||||
}
|
||||
if (msg.operate_type === "product_update") {
|
||||
console.log('商品更新')
|
||||
init($initParams, oldOrder.value)
|
||||
|
|
@ -711,6 +729,7 @@ export const useCartsStore = defineStore("carts", () => {
|
|||
WebSocketManager.sendMessage(msg);
|
||||
}
|
||||
return {
|
||||
clearHistory,
|
||||
disconnect,
|
||||
dinnerType,
|
||||
changePack,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ export interface ApifoxModel {
|
|||
[property: string]: string | number | undefined; // 限制额外属性类型
|
||||
}
|
||||
|
||||
export type msgType = 'add' | 'reduce' | 'remove' | 'edit' | 'init' | 'cleanup' | 'del' | 'rottable' | 'batch' | 'disconnect';
|
||||
export type msgType = 'add' | 'reduce' | 'remove' | 'edit' | 'init' | 'cleanup' | 'del' | 'rottable' | 'batch' | 'disconnect' | 'clearOrder';
|
||||
|
||||
class WebSocketManager {
|
||||
private client: WebSocket | null = null;
|
||||
|
|
|
|||
|
|
@ -197,14 +197,6 @@ const props = defineProps({
|
|||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
oldOrder: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
detailMap: [],
|
||||
};
|
||||
},
|
||||
},
|
||||
goodsList: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
|
|
|
|||
|
|
@ -114,7 +114,6 @@
|
|||
@clearOldOrder="clearOldOrder"
|
||||
:showOrder="showOrder"
|
||||
:goodsList="carts.goods"
|
||||
:oldOrder="oldOrder"
|
||||
:dinerType="diners.sel"
|
||||
:perpole="perpole"
|
||||
:remark="remark"
|
||||
|
|
@ -182,7 +181,7 @@
|
|||
<!-- 订单信息展示 -->
|
||||
<Order
|
||||
ref="refOrder"
|
||||
:orderInfo="oldOrder"
|
||||
:orderInfo="carts.oldOrder"
|
||||
@chooseUser="showChooseUser"
|
||||
@paysuccess="refresh"
|
||||
:table="table"
|
||||
|
|
@ -305,7 +304,7 @@ async function refReturnCartConfirm(e) {
|
|||
console.log(e);
|
||||
const res = await orderApi.refundOrder({
|
||||
...e,
|
||||
orderId: oldOrder.value.id,
|
||||
orderId: carts.oldOrder.id,
|
||||
});
|
||||
ElMessage({
|
||||
type: res ? "success" : "error",
|
||||
|
|
@ -314,12 +313,11 @@ async function refReturnCartConfirm(e) {
|
|||
if (res) {
|
||||
// 获取历史订单数据
|
||||
const res1 = await orderApi.getHistoryList({
|
||||
orderId: oldOrder.value.id,
|
||||
orderId: carts.oldOrder.id,
|
||||
});
|
||||
if (res1) {
|
||||
oldOrder.value = res1;
|
||||
carts.setOldOrder(res1);
|
||||
}
|
||||
carts.setOldOrder(res1);
|
||||
}
|
||||
}
|
||||
function refReturnCartShow(e) {
|
||||
|
|
@ -361,7 +359,6 @@ const showOrder = ref(false);
|
|||
function hideOrder() {
|
||||
showOrder.value = false;
|
||||
}
|
||||
const oldOrder = ref({ detailMap: [] });
|
||||
|
||||
let loadingTimer = null;
|
||||
let loading = undefined;
|
||||
|
|
@ -387,7 +384,7 @@ async function createOrder(key) {
|
|||
// return;
|
||||
// }
|
||||
const payArr = ["wx-aiplay", "cash", "to-pay"];
|
||||
if (payArr.includes(key) && carts.isEmpty && oldOrder.value.id) {
|
||||
if (payArr.includes(key) && carts.isEmpty && carts.oldOrder.id) {
|
||||
showOrder.value = true;
|
||||
nextTick(() => {
|
||||
refOrder.value.nowPayClick(key || "");
|
||||
|
|
@ -406,7 +403,7 @@ async function createOrder(key) {
|
|||
loading.close();
|
||||
}, 1000 * 20);
|
||||
const res = await orderApi.add({
|
||||
orderId: oldOrder.value.id || "",
|
||||
orderId: carts.oldOrder.id || "",
|
||||
shopId: shopUser.userInfo.id,
|
||||
userId: user.value.userId,
|
||||
packFee: carts.packFee * 1,
|
||||
|
|
@ -415,7 +412,7 @@ async function createOrder(key) {
|
|||
dineMode: diners.sel == 0 ? "dine-in" : "take-out",
|
||||
remark: remark.value,
|
||||
seatNum: perpole.value * 1,
|
||||
placeNum: oldOrder.value.placeNum * 1 + 1,
|
||||
placeNum: carts.oldOrder.placeNum * 1 + 1,
|
||||
waitCall: false,
|
||||
vipPrice: user.value.id && user.value.isVip,
|
||||
});
|
||||
|
|
@ -436,9 +433,8 @@ async function createOrder(key) {
|
|||
orderId: res.id,
|
||||
});
|
||||
if (res1) {
|
||||
oldOrder.value = res1;
|
||||
carts.setOldOrder(res1);
|
||||
}
|
||||
carts.setOldOrder(res1);
|
||||
}
|
||||
if (key == "only-create") {
|
||||
return;
|
||||
|
|
@ -467,13 +463,14 @@ async function clearOldOrder(params) {
|
|||
const res1 = params.placeNum
|
||||
? await orderApi.rmPlaceOrder(params)
|
||||
: await orderApi.cancelOrder(params);
|
||||
carts.clearHistory();
|
||||
ElMessage({
|
||||
type: res1 ? "success" : "error",
|
||||
message: res1 ? "删除成功" : "删除失败",
|
||||
});
|
||||
// 获取历史订单数据
|
||||
const res = await orderApi.getHistoryList({
|
||||
orderId: oldOrder.value.id,
|
||||
orderId: carts.oldOrder.id,
|
||||
});
|
||||
const noPayStatus = {
|
||||
cancelled: "订单已取消",
|
||||
|
|
@ -481,15 +478,11 @@ async function clearOldOrder(params) {
|
|||
};
|
||||
if (noPayStatus[res.status]) {
|
||||
// ElMessage.error(noPayStatus[res.status]);
|
||||
oldOrder.value = {
|
||||
detailMap: [],
|
||||
};
|
||||
carts.oldOrder = oldOrder.value;
|
||||
resetOldOrder();
|
||||
showOrder.value = false;
|
||||
return;
|
||||
}
|
||||
if (res) {
|
||||
oldOrder.value = res;
|
||||
carts.setOldOrder(res);
|
||||
}
|
||||
}
|
||||
|
|
@ -559,7 +552,6 @@ async function tableClick(item) {
|
|||
// getTableDetail({ tableCode: item.tableCode });
|
||||
const res = await orderApi.getHistoryList({ tableCode: item.tableCode });
|
||||
if (res) {
|
||||
oldOrder.value = res;
|
||||
carts.setOldOrder(res);
|
||||
}
|
||||
table.value = item;
|
||||
|
|
@ -777,7 +769,7 @@ function init() {
|
|||
getTableList();
|
||||
getCategoryList();
|
||||
changeCartsDinerType();
|
||||
carts.init({ table_code: table.value.tableCode }, oldOrder.value);
|
||||
carts.init({ table_code: table.value.tableCode }, carts.oldOrder);
|
||||
}
|
||||
|
||||
onBeforeRouteLeave(() => {
|
||||
|
|
@ -826,7 +818,7 @@ onMounted(async () => {
|
|||
}
|
||||
}
|
||||
if (res) {
|
||||
oldOrder.value = res;
|
||||
carts.setOldOrder(res);
|
||||
showOrder.value = key == "isPayOrder" ? true : false;
|
||||
perpole.value = res.seatNum || 0;
|
||||
}
|
||||
|
|
@ -841,10 +833,14 @@ onMounted(async () => {
|
|||
init();
|
||||
});
|
||||
|
||||
function refresh() {
|
||||
oldOrder.value = {
|
||||
function resetOldOrder() {
|
||||
carts.setOldOrder({
|
||||
detailMap: [],
|
||||
};
|
||||
originAmount: 0,
|
||||
});
|
||||
}
|
||||
function refresh() {
|
||||
resetOldOrder();
|
||||
showOrder.value = false;
|
||||
user.value = {};
|
||||
table.value = {};
|
||||
|
|
|
|||
Loading…
Reference in New Issue