修复点餐反应慢问题,修复库存问题
This commit is contained in:
@@ -153,14 +153,16 @@
|
||||
<view class="Controls" v-else>
|
||||
<view class="btn" v-if="item.cartNumber != '0'">
|
||||
<up-icon name="minus-circle-fill" color="#E9AB7A" size="25"></up-icon>
|
||||
<view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item, '-'), 500)"></view>
|
||||
<view class="btnClick" @tap.stop="singleclick(item, '-')"></view>
|
||||
<!-- <view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item, '-'), 500)"></view> -->
|
||||
</view>
|
||||
<text class="num">{{ ifcartNumber(item) }}</text>
|
||||
<view class="btn">
|
||||
<up-icon name="plus-circle-fill" color="#E9AB7A" size="25"></up-icon>
|
||||
<view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item, '+'), 500)"></view>
|
||||
<!-- <view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item, '+'), 500)"></view> -->
|
||||
<view class="btnClick" @tap.stop="singleclick(item, '+')"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -288,15 +290,17 @@
|
||||
<view class="Controls" v-else>
|
||||
<view class="btn" v-if="item1.cartNumber * 1 != '0'">
|
||||
<up-icon name="minus-circle-fill" color="#E9AB7A" size="25"></up-icon>
|
||||
<view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item1, '-'), 500)"></view>
|
||||
<!-- <view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item1, '-'), 500)"></view> -->
|
||||
<view class="btnClick" @tap.stop="singleclick(item1, '-')"></view>
|
||||
</view>
|
||||
|
||||
<text class="num">{{ ifcartNumber(item1) }}</text>
|
||||
<view class="btn">
|
||||
<up-icon name="plus-circle-fill" color="#E9AB7A" size="25"></up-icon>
|
||||
<view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item1, '+'), 500)"></view>
|
||||
<!-- <view class="btnClick"
|
||||
@tap.stop="$u.throttle(() => singleclick(item1, '+'), 500)"></view> -->
|
||||
<view class="btnClick" @tap.stop="singleclick(item1, '+')"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -318,7 +322,7 @@
|
||||
<shopindex ref="showShopInfoRef"></shopindex>
|
||||
<!-- 购物车 -->
|
||||
<shoppingCartes :cartLists_count="cartLists_count" :cartList="matchedProducts" :showCart="showCart"
|
||||
:limitDiscount="limitTimeDiscountRes" @customevent="websocketsendMessage" @close="showCart = !showCart"
|
||||
:limitDiscount="limitTimeDiscountRes" @customevent="websocketsendMessage" @close="showCart = !showCart"
|
||||
:orderinfo="orderinfo" @clickcancelOrder="clickcancelOrder" v-if="cartLists_count > 0"
|
||||
:nextFullAmountActivty="nextFullAmountActivty"></shoppingCartes>
|
||||
|
||||
@@ -470,7 +474,7 @@
|
||||
v-if="specifications.item.suitNum > 1">「{{ specifications.item.suitNum }}{{ specifications.item.unitName }}起点」</text>
|
||||
</view>
|
||||
|
||||
<view class="operation-wrap" v-if="specifications.item.type != 'package'">
|
||||
<view class="operation-wrap" v-if="specifications.item.type != 'package'&&stockNumberIsFull(specifications.item)">
|
||||
<view class="btn">
|
||||
<up-icon name="minus-circle-fill" color="#E9AB7A" size="25"
|
||||
v-if="shopCartNumber > 0"></up-icon>
|
||||
@@ -486,23 +490,32 @@
|
||||
<view class="shop_skuselect flex-start" v-if="selectedSpecsStr">
|
||||
<view class="shop_skuselectname">{{ selectedSpecsStr }}</view>
|
||||
</view>
|
||||
<template v-if="isSkuGoods">
|
||||
<view v-if="specifications.item.type == 'package'" class="addShopping"
|
||||
:class="shopCartNumber > 0 && allConditionsSatisfied ? 'active' : ''"
|
||||
@click="submitSelection()">
|
||||
{{ skuBtnText }}
|
||||
</view>
|
||||
<view v-else class="addShopping" :class="shopCartNumber > 0 && canSubmit ? 'active' : ''"
|
||||
@click="submitSelection()">
|
||||
{{ skuBtnText }}
|
||||
<template v-if="!stockNumberIsFull(specifications.item)">
|
||||
<view class="addShopping">
|
||||
库存不足
|
||||
</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="addShopping" :class="shopCartNumber > 0 ? 'active' : ''"
|
||||
@click="submitSelection()">
|
||||
{{ skuBtnText }}
|
||||
</view>
|
||||
<template v-if="isSkuGoods">
|
||||
<view v-if="specifications.item.type == 'package'" class="addShopping"
|
||||
:class="shopCartNumber > 0 && allConditionsSatisfied ? 'active' : ''"
|
||||
@click="submitSelection()">
|
||||
{{ skuBtnText }}
|
||||
</view>
|
||||
<view v-else class="addShopping" :class="shopCartNumber > 0 && canSubmit ? 'active' : ''"
|
||||
@click="submitSelection()">
|
||||
{{ skuBtnText }}
|
||||
</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<view class="addShopping" :class="shopCartNumber > 0 ? 'active' : ''"
|
||||
@click="submitSelection()">
|
||||
{{ skuBtnText }}
|
||||
</view>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</up-popup>
|
||||
@@ -1154,7 +1167,7 @@
|
||||
return;
|
||||
}
|
||||
let res = await shoppingcart();
|
||||
|
||||
|
||||
if ((specifications.item.type == 'package' && allConditionsSatisfied.value) || (specifications.item.type ==
|
||||
'sku' && canSubmit.value)) {
|
||||
// 是否是套餐 有就传
|
||||
@@ -1336,19 +1349,27 @@
|
||||
|
||||
return isInRange;
|
||||
};
|
||||
|
||||
|
||||
|
||||
function stockNumberIsFull(item){
|
||||
if(item.isStock && item.stockNumber < item.suitNum){
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断商品是否可售
|
||||
* @param {Object} item
|
||||
*/
|
||||
function juageProductAvailable(item) {
|
||||
function juageProductAvailable(item, i) {
|
||||
if (!isProductAvailable(item.days, item.startTime, item.endTime)) {
|
||||
uni.showToast({
|
||||
title: '不在可售时间内'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (item.isStock && item.stockNumber < item.suitNum) {
|
||||
if ( item.isStock && item.stockNumber < item.suitNum && i == '+') {
|
||||
uni.showToast({
|
||||
title: '库存不足',
|
||||
icon: 'none'
|
||||
@@ -1361,7 +1382,7 @@
|
||||
// 单规格
|
||||
const singleclick = async (item, i) => {
|
||||
console.log('单规格商品点击事件:', item, i);
|
||||
if (!juageProductAvailable(item)) {
|
||||
if (!juageProductAvailable(item, i)) {
|
||||
return false;
|
||||
}
|
||||
// 判断购物车是否有该选中商品
|
||||
@@ -1477,9 +1498,9 @@
|
||||
const websocketsendMessage = (data) => {
|
||||
console.log('websocketsendMessage', data);
|
||||
delete data.memberPrice;
|
||||
uni.$u.debounce(() => {
|
||||
useSocket.sendMessage(data);
|
||||
}, 500);
|
||||
useSocket.sendMessage(data);
|
||||
// uni.$u.debounce(() => {
|
||||
// }, 500);
|
||||
};
|
||||
|
||||
// 用于记录已经处理过的消息的 msg_id
|
||||
@@ -1556,7 +1577,7 @@
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let socketInitFinished = false
|
||||
// 收到的消息变化
|
||||
async function onMessage(Message) {
|
||||
@@ -1688,7 +1709,8 @@
|
||||
}
|
||||
|
||||
// 提示
|
||||
if (Message.status == 0 && Message.type != 'no_suit_num' && Message.type != 'time_discount'&&Message.operate_type != 'rottable_error') {
|
||||
if (Message.status == 0 && Message.type != 'no_suit_num' && Message.type != 'time_discount' && Message
|
||||
.operate_type != 'rottable_error') {
|
||||
uni.showToast({
|
||||
title: Message.msg,
|
||||
icon: 'none'
|
||||
@@ -2210,7 +2232,7 @@
|
||||
await userStore.actionsproductqueryShop(newTableCode);
|
||||
await userStore.actionsproductqueryProduct();
|
||||
const res = await APIhistoryOrder({
|
||||
tableCode:newTableCode
|
||||
tableCode: newTableCode
|
||||
});
|
||||
|
||||
if (res && res.id) {
|
||||
@@ -2265,7 +2287,7 @@
|
||||
if (e.one_more_order && e.order_id) {
|
||||
extraInitPar.one_more_order = 1
|
||||
extraInitPar.order_id = e.order_id
|
||||
extraInitPar.user_id = uni.cache.get('userInfo').id||''
|
||||
extraInitPar.user_id = uni.cache.get('userInfo').id || ''
|
||||
}
|
||||
|
||||
useSocket.connect({
|
||||
|
||||
@@ -387,7 +387,6 @@ export const useCartsStore = defineStore("cart", () => {
|
||||
limitTimeDiscount.value = Message.time_dis_info;
|
||||
}
|
||||
cartsGoodsInfoInit(msgData);
|
||||
uni.hideLoading();
|
||||
isLoading.value = false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user