fix:规格弹框,手动输入数量无法改变数量问题修复

pull/8/head
kele 2023-05-11 10:32:04 +08:00
parent c04bb0b112
commit 9b89863c96
3 changed files with 37 additions and 8 deletions

View File

@ -87,6 +87,7 @@
:max="state.selectedSkuPrice.stock" :max="state.selectedSkuPrice.stock"
:step="1" :step="1"
v-model="state.selectedSkuPrice.goods_num" v-model="state.selectedSkuPrice.goods_num"
@change="onNumberChange($event)"
activity="groupon" activity="groupon"
></su-number-box> ></su-number-box>
</view> </view>
@ -96,9 +97,7 @@
<view class="buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"> <view class="buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center">
<view class="ss-flex"> <view class="ss-flex">
<button class="ss-reset-button origin-price-btn ss-flex-col"> <button class="ss-reset-button origin-price-btn ss-flex-col">
<view class="btn-title">{{ <view class="btn-title">{{ grouponNum === 0 ? '阶梯团' : grouponNum + '人团' }}</view>
grouponNum === 0 ? '阶梯团' : grouponNum + '人团'
}}</view>
</button> </button>
<button class="ss-reset-button btn-tox ss-flex-col" @tap="onBuy"> <button class="ss-reset-button btn-tox ss-flex-col" @tap="onBuy">
<view class="btn-price"> <view class="btn-price">
@ -160,6 +159,13 @@
currentSkuArray: [], currentSkuArray: [],
grouponNum: props.grouponNum, grouponNum: props.grouponNum,
}); });
//
function onNumberChange(e) {
if(e === 0) return;
if (state.selectedSkuPrice.goods_num === e) return;
state.selectedSkuPrice.goods_num = e;
}
// //
if (!props.goodsInfo.is_sku) { if (!props.goodsInfo.is_sku) {
state.selectedSkuPrice = props.goodsInfo.sku_prices[0]; state.selectedSkuPrice = props.goodsInfo.sku_prices[0];

View File

@ -60,6 +60,7 @@
:max="state.selectedSkuPrice.stock" :max="state.selectedSkuPrice.stock"
:step="1" :step="1"
v-model="state.selectedSkuPrice.goods_num" v-model="state.selectedSkuPrice.goods_num"
@change="onNumberChange($event)"
activity="seckill" activity="seckill"
></su-number-box> ></su-number-box>
</view> </view>
@ -151,6 +152,12 @@
sheep.$helper.toast('请选择规格'); sheep.$helper.toast('请选择规格');
} }
}; };
//
function onNumberChange(e) {
if (e === 0) return;
if (state.selectedSkuPrice.goods_num === e) return;
state.selectedSkuPrice.goods_num = e;
}
// //
const changeDisabled = (isChecked = false, pid = 0, skuId = 0) => { const changeDisabled = (isChecked = false, pid = 0, skuId = 0) => {
let newPrice = []; // skuPrice let newPrice = []; // skuPrice

View File

@ -21,13 +21,14 @@
<view <view
v-if="goodsPrice.price > 0 && goodsPrice.score > 0" v-if="goodsPrice.price > 0 && goodsPrice.score > 0"
class="score-text ss-m-l-4" class="score-text ss-m-l-4"
>+</view >+
> </view>
<image <image
v-if="goodsPrice.score > 0" v-if="goodsPrice.score > 0"
:src="sheep.$url.static('/static/img/shop/goods/score1.svg')" :src="sheep.$url.static('/static/img/shop/goods/score1.svg')"
class="score-img" class="score-img"
></image> >
</image>
<view v-if="goodsPrice.score > 0" class="score-text"> <view v-if="goodsPrice.score > 0" class="score-text">
{{ goodsPrice.score }} {{ goodsPrice.score }}
</view> </view>
@ -75,6 +76,7 @@
:max="state.selectedSkuPrice.stock" :max="state.selectedSkuPrice.stock"
:step="1" :step="1"
v-model="state.selectedSkuPrice.goods_num" v-model="state.selectedSkuPrice.goods_num"
@change="onNumberChange($event)"
></su-number-box> ></su-number-box>
</view> </view>
</scroll-view> </scroll-view>
@ -123,7 +125,12 @@
selectedSkuPrice: {}, selectedSkuPrice: {},
currentSkuArray: [], currentSkuArray: [],
}); });
//
function onNumberChange(e) {
if (e === 0) return;
if (state.selectedSkuPrice.goods_num === e) return;
state.selectedSkuPrice.goods_num = e;
}
// //
if (!props.goodsInfo.is_sku) { if (!props.goodsInfo.is_sku) {
state.selectedSkuPrice = props.goodsInfo.sku_prices[0]; state.selectedSkuPrice = props.goodsInfo.sku_prices[0];
@ -162,7 +169,10 @@
price = state.selectedSkuPrice.price; price = state.selectedSkuPrice.price;
score = state.selectedSkuPrice.score || 0; score = state.selectedSkuPrice.score || 0;
} }
return { price, score }; return {
price,
score,
};
}); });
function onAddCart() { function onAddCart() {
@ -352,6 +362,7 @@
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient)); background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
color: #fff; color: #fff;
} }
.score-btn { .score-btn {
width: 100%; width: 100%;
margin: 0 20rpx; margin: 0 20rpx;
@ -393,22 +404,26 @@
font-weight: 500; font-weight: 500;
line-height: 42rpx; line-height: 42rpx;
} }
.score-img { .score-img {
width: 36rpx; width: 36rpx;
height: 36rpx; height: 36rpx;
margin: 0 4rpx; margin: 0 4rpx;
} }
.score-text { .score-text {
font-size: 30rpx; font-size: 30rpx;
font-weight: 500; font-weight: 500;
color: $red; color: $red;
font-family: OPPOSANS; font-family: OPPOSANS;
} }
.price-text { .price-text {
font-size: 30rpx; font-size: 30rpx;
font-weight: 500; font-weight: 500;
color: $red; color: $red;
font-family: OPPOSANS; font-family: OPPOSANS;
&::before { &::before {
content: '¥'; content: '¥';
font-size: 30rpx; font-size: 30rpx;
@ -449,6 +464,7 @@
margin-right: 10rpx; margin-right: 10rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.disabled-btn { .disabled-btn {
font-weight: 400; font-weight: 400;
color: #c6c6c6; color: #c6c6c6;