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