feat: 增加代课下单收到商品信息变动时重新获取商品信息初始化购物车数据

This commit is contained in:
2025-03-18 14:03:07 +08:00
parent cefabae276
commit 735b325fd3
7 changed files with 274 additions and 73 deletions

View File

@@ -1,5 +1,9 @@
<template>
<div class="box" v-loading="cartsLoading" element-loading-text="购物车连接初始化中,请稍等……">
<div
class="box"
v-loading="!carts.isLinkFinshed"
element-loading-text="购物车连接初始化中请稍等"
>
<div class="content">
<div class="top">
<div class="left u-flex u-col-center">
@@ -107,8 +111,7 @@
@createOrder="createOrder"
@hideOrder="hideOrder"
:showOrder="showOrder"
:goodsMapisFinish="goodsMapisFinish"
:goodsList="goods.list"
:goodsList="carts.goods"
:oldOrder="oldOrder"
:perpole="perpole"
:remark="remark"
@@ -158,7 +161,7 @@
</div>
</div>
</div>
<div v-if="goods.list.length <= 0" class="no-goods">未找到相关商品</div>
<div v-if="carts.goods.length <= 0" class="no-goods">未找到相关商品</div>
<div class="goods-list">
<div class="lingshicai" @click="showaddLingShiCai">
<el-icon size="26"><Plus /></el-icon>
@@ -167,7 +170,7 @@
<GoodsItem
:item="item"
@click="goodsClick(item)"
v-for="item in goods.list"
v-for="item in carts.goods"
:key="item.id"
></GoodsItem>
</div>
@@ -311,7 +314,9 @@ async function refReturnCartConfirm(e) {
const res1 = await orderApi.getHistoryList({
orderId: oldOrder.value.id,
});
oldOrder.value = res1;
if (res1) {
oldOrder.value = res1;
}
carts.setOldOrder(res1);
}
}
@@ -417,7 +422,9 @@ async function createOrder(key) {
const res1 = await orderApi.getHistoryList({
orderId: res.id,
});
oldOrder.value = res1;
if (res1) {
oldOrder.value = res1;
}
carts.setOldOrder(res1);
}
if (key == "only-create") {
@@ -616,24 +623,12 @@ const goods = reactive({
},
});
let goodsMapisFinish = ref(false);
async function getGoods() {
const res = await productApi.getPage({
page: 1,
size: 400,
status: "on_sale",
...goods.query,
});
goods.list = res.records;
carts.goods = goods.list;
goodsMapisFinish.value = true;
carts.getGoods(goods.query);
}
const cartsLoading = computed(() => {
return !goodsMapisFinish.value || !carts.isLinkFinshed;
});
function goodsClick(item) {
if (!goodsMapisFinish.value) {
if (!carts.isLinkFinshed) {
return ElMessage.error({
message: "添加失败socket未连接成功请刷新再试",
type: "error",
@@ -689,7 +684,6 @@ function skuSelConfirm(item) {
//购物车
const refCart = ref(null);
function clearCarts() {
ElMessageBox.alert("确定要清空点餐列表吗?", "提示", {
confirmButtonText: "确定",
@@ -712,7 +706,7 @@ watch(
function init() {
getTableList();
getCategoryList();
getGoods();
carts.init();
}
onBeforeRouteLeave(() => {
@@ -775,13 +769,12 @@ function refresh() {
oldOrder.value = {
detailMap: [],
};
oldOrder.value = {};
showOrder.value = false;
user.value = {};
table.value = {};
router.replace(route.path);
carts.dataReset();
refCart.value.carts.init();
carts.init();
// setTimeout(() => {
// router.go(0);
// }, 1500);