Commit dfbb5336669e3e94d9e6e68ea1db735f3e6ff753
1 parent
d4d0df85
商品的多规格的bug优化, 金额和价格的错误~~
Showing
6 changed files
with
94 additions
and
37 deletions
packageC/pages/luckyGo/luckyGo_goodsInfo/buy_pt.wxml
... | ... | @@ -204,7 +204,7 @@ |
204 | 204 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> |
205 | 205 | </block> |
206 | 206 | <block wx:else> |
207 | - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | |
207 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy {{sp_seleing?'gray':''}} " data-action="buy">立即购买</view> | |
208 | 208 | </block> |
209 | 209 | |
210 | 210 | </block> |
... | ... | @@ -221,7 +221,7 @@ |
221 | 221 | <view class="spec-cart-btn spec-buy w100" style="background-color: #dcdcdc;color: #999;">配送不匹配</view> |
222 | 222 | </block> |
223 | 223 | <block wx:else> |
224 | - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view> | |
224 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100 {{sp_seleing?'gray':''}}" data-action="buy">确定</view> | |
225 | 225 | </block> |
226 | 226 | </block> |
227 | 227 | ... | ... |
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js
... | ... | @@ -3025,6 +3025,13 @@ Page({ |
3025 | 3025 | |
3026 | 3026 | //-----------选择属性的按钮事件---------- |
3027 | 3027 | sele_spec: function (e) { |
3028 | + | |
3029 | + //防止重复点击 | |
3030 | + if(this.data.sp_seleing){ | |
3031 | + return false; | |
3032 | + } | |
3033 | + this.setData({sp_seleing:1}) | |
3034 | + | |
3028 | 3035 | var that = this, ee = this, th = this; |
3029 | 3036 | var gid = e.currentTarget.dataset.gid; |
3030 | 3037 | var nor = e.currentTarget.dataset.nor; |
... | ... | @@ -3056,13 +3063,21 @@ Page({ |
3056 | 3063 | }); |
3057 | 3064 | |
3058 | 3065 | |
3059 | - that.check_is_youhui(gid, that.data.is_normal); | |
3066 | + this.get_sto(that.data.is_normal,()=>{ | |
3067 | + that.sele_spec_next(gid,item) | |
3068 | + }); | |
3069 | + | |
3070 | + | |
3071 | + }, | |
3060 | 3072 | |
3061 | - this.get_sto(that.data.is_normal); | |
3062 | 3073 | |
3063 | 3074 | |
3064 | - //默认门店要拿下门店库存 | |
3065 | - if (!getApp().is_virtual(item) && !item.whsle_id && that.data.sales_rules >= 2 && that.data.def_pick_store) { | |
3075 | + sele_spec_next(gid,item){ | |
3076 | + var that = this; | |
3077 | + that.check_is_youhui(gid, that.data.is_normal); | |
3078 | + | |
3079 | + //默认门店要拿下门店库存 | |
3080 | + if (!getApp().is_virtual(item) && !item.whsle_id && that.data.sales_rules >= 2 && that.data.def_pick_store) { | |
3066 | 3081 | var lock = 0, plist = null; |
3067 | 3082 | // //先读取门店的lock,采用链式写法,少用await |
3068 | 3083 | // getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
... | ... | @@ -3099,8 +3114,8 @@ Page({ |
3099 | 3114 | |
3100 | 3115 | } |
3101 | 3116 | |
3117 | + that.sele_spec_chech_activity(); | |
3102 | 3118 | |
3103 | - this.sele_spec_chech_activity(); | |
3104 | 3119 | }, |
3105 | 3120 | |
3106 | 3121 | //选择了不同的规格的时候要判断是不是有活动正在进行中 |
... | ... | @@ -3155,7 +3170,8 @@ Page({ |
3155 | 3170 | prom_start_time: prom.start_time, |
3156 | 3171 | prom_st: prom_st, |
3157 | 3172 | prom_act: prom, |
3158 | - prom_id: prom.id | |
3173 | + prom_id: prom.id, | |
3174 | + sp_seleing:0 | |
3159 | 3175 | }) |
3160 | 3176 | |
3161 | 3177 | //却换图片 |
... | ... | @@ -3196,13 +3212,14 @@ Page({ |
3196 | 3212 | prom_end_time: null, |
3197 | 3213 | prom_start_time: null, |
3198 | 3214 | prom_st: null, |
3215 | + sp_seleing:0 | |
3199 | 3216 | }) |
3200 | 3217 | |
3201 | 3218 | }, |
3202 | 3219 | |
3203 | 3220 | |
3204 | 3221 | //---------拿出门店分类和门店------------ |
3205 | - get_sto(e) { | |
3222 | + get_sto(e,func) { | |
3206 | 3223 | var th = this, that = this; |
3207 | 3224 | var is_normal = e; |
3208 | 3225 | |
... | ... | @@ -3253,9 +3270,9 @@ Page({ |
3253 | 3270 | getApp().request.promiseGet("/api/weshop/pickup/list", { |
3254 | 3271 | data: dd, |
3255 | 3272 | }).then(res => { |
3256 | - var e = res; | |
3273 | + var e = res; | |
3257 | 3274 | |
3258 | - if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { | |
3275 | + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { | |
3259 | 3276 | |
3260 | 3277 | //-- 如果有指定门店的时候 -- |
3261 | 3278 | if(th.data.sele_g.pickup_ids && th.data.is_normal){ |
... | ... | @@ -3346,7 +3363,13 @@ Page({ |
3346 | 3363 | th.deal_pickup(e); //--普通门店排版-- |
3347 | 3364 | }, 800) |
3348 | 3365 | } |
3366 | + | |
3367 | + if(func) func(); | |
3368 | + | |
3349 | 3369 | } |
3370 | + },err=>{ | |
3371 | + ut.m_toast('网络繁忙,请稍后重试'); | |
3372 | + wx.hideLoading(); | |
3350 | 3373 | }) |
3351 | 3374 | }, 200) |
3352 | 3375 | |
... | ... | @@ -4692,6 +4715,11 @@ Page({ |
4692 | 4715 | //-----------------拼单生成方法--------------------- |
4693 | 4716 | addCart_pt: function () { |
4694 | 4717 | |
4718 | + //如果是切换规格的时候,让商品不能提交到确认订单的页面,否则活动会出错,金额也不对 | |
4719 | + if(this.data.sp_seleing){ | |
4720 | + return false; | |
4721 | + } | |
4722 | + | |
4695 | 4723 | if (this.data.is_normal == 0) { |
4696 | 4724 | //看一下有没有起购数,如果有起购数,要计算起购数 |
4697 | 4725 | // var qnum = parseFloat(th.data.prom_act.minbuynum); | ... | ... |
pages/goods/goodsInfo/buy_com_pop.wxml
... | ... | @@ -153,10 +153,10 @@ |
153 | 153 | </view> |
154 | 154 | <block wx:else> |
155 | 155 | <view class="flex jc_sb"> |
156 | - <view class="spec-cart-btn spec-buy w40" bindtap="addCart" | |
156 | + <view class="spec-cart-btn spec-buy w40 {{sp_seleing?'gray':''}}" bindtap="addCart" | |
157 | 157 | data-action="add" style="background-color: #ffb03f;">加入购物车 |
158 | 158 | </view> |
159 | - <view class="spec-cart-btn spec-buy w40" bindtap="addCart" | |
159 | + <view class="spec-cart-btn spec-buy w40 {{sp_seleing?'gray':''}}" bindtap="addCart" | |
160 | 160 | data-action="buy">立即购买 |
161 | 161 | </view> |
162 | 162 | </view> |
... | ... | @@ -172,10 +172,10 @@ |
172 | 172 | |
173 | 173 | <block wx:else> |
174 | 174 | <view class="flex jc_sb"> |
175 | - <view class="spec-cart-btn spec-buy w40" bindtap="addCart" | |
175 | + <view class="spec-cart-btn spec-buy w40 {{sp_seleing?'gray':''}}" bindtap="addCart" | |
176 | 176 | data-action="add" style="background-color: #ffb03f;">加入购物车 |
177 | 177 | </view> |
178 | - <view class="spec-cart-btn spec-buy w40" bindtap="addCart" | |
178 | + <view class="spec-cart-btn spec-buy w40 {{sp_seleing?'gray':''}}" bindtap="addCart" | |
179 | 179 | data-action="buy">立即购买 |
180 | 180 | </view> |
181 | 181 | </view> | ... | ... |
pages/goods/goodsInfo/buy_pt.wxml
... | ... | @@ -195,7 +195,7 @@ |
195 | 195 | </view> |
196 | 196 | </block> |
197 | 197 | <block wx:else> |
198 | - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | |
198 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy {{sp_seleing?'gray':''}}" data-action="buy">立即购买</view> | |
199 | 199 | </block> |
200 | 200 | </block> |
201 | 201 | <!-- 线上销售 --> |
... | ... | @@ -206,7 +206,7 @@ |
206 | 206 | </view> |
207 | 207 | </block> |
208 | 208 | <block wx:else> |
209 | - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | |
209 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy {{sp_seleing?'gray':''}}" data-action="buy">立即购买</view> | |
210 | 210 | </block> |
211 | 211 | </block> |
212 | 212 | </block> |
... | ... | @@ -226,7 +226,7 @@ |
226 | 226 | <view class="spec-cart-btn spec-buy w100" data-action="add" style="background-color: #dcdcdc;color: #999;">该店不可售</view> |
227 | 227 | </block> |
228 | 228 | <block wx:else> |
229 | - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view> | |
229 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy w100 {{sp_seleing?'gray':''}}" data-action="buy">确定</view> | |
230 | 230 | </block> |
231 | 231 | </block> |
232 | 232 | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
... | ... | @@ -1392,6 +1392,10 @@ Page({ |
1392 | 1392 | |
1393 | 1393 | //------------加入购物车-------------- |
1394 | 1394 | addCart: function (t) { |
1395 | + //如果是切换规格的时候,让商品不能提交到确认订单的页面,否则活动会出错,金额也不对 | |
1396 | + if(this.data.sp_seleing){ | |
1397 | + return false; | |
1398 | + } | |
1395 | 1399 | |
1396 | 1400 | var th = this; |
1397 | 1401 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
... | ... | @@ -3279,6 +3283,12 @@ Page({ |
3279 | 3283 | //-----------选择属性的按钮事件---------- |
3280 | 3284 | sele_spec: function (e) { |
3281 | 3285 | |
3286 | + if(this.data.sp_seleing){ | |
3287 | + return false; | |
3288 | + } | |
3289 | + | |
3290 | + this.setData({sp_seleing:1}) | |
3291 | + | |
3282 | 3292 | var that = this; |
3283 | 3293 | var th = this; |
3284 | 3294 | |
... | ... | @@ -3365,22 +3375,27 @@ Page({ |
3365 | 3375 | }); |
3366 | 3376 | |
3367 | 3377 | |
3368 | - | |
3369 | 3378 | if (nor) { |
3370 | 3379 | that.set_sele_g(sku_g) |
3371 | - that.get_sto(1); | |
3380 | + that.get_sto(1,()=>{ | |
3381 | + that.sele_spec_next(that,item,gid,nor); | |
3382 | + }); | |
3372 | 3383 | } |
3373 | - else that.get_sto(); | |
3384 | + else that.get_sto(null,()=>{ | |
3385 | + that.sele_spec_next(that,item,gid,nor); | |
3386 | + }); | |
3374 | 3387 | |
3388 | + }, | |
3375 | 3389 | |
3390 | + //-- 选择规格下一步 -- | |
3391 | + sele_spec_next(that,item,gid,nor){ | |
3376 | 3392 | if (!item.whsle_id && ([1, 2, 4, 6].indexOf(item.prom_type) == -1 || this.data.is_normal == 1)) |
3377 | 3393 | that.check_is_youhui(gid, that.data.is_normal, 1); |
3378 | 3394 | |
3379 | - | |
3380 | 3395 | //默认门店要拿下门店库存 |
3381 | 3396 | if (that.data.sales_rules >= 2 && that.data.def_pick_store && !that.data.sele_g.whsle_id && [1, 2, 4, 6].indexOf(item.prom_type) == -1) { |
3382 | 3397 | var lock = 0, |
3383 | - plist = null; | |
3398 | + plist = null; | |
3384 | 3399 | |
3385 | 3400 | that.check_CanOutQty(that.data.sele_g, that.data.def_pick_store, function (CanOutQty) { |
3386 | 3401 | that.data.def_pick_store.CanOutQty = CanOutQty; |
... | ... | @@ -3391,18 +3406,18 @@ Page({ |
3391 | 3406 | }) |
3392 | 3407 | |
3393 | 3408 | } |
3394 | - this.sele_spec_chech_activity(nor); | |
3409 | + that.sele_spec_chech_activity(nor); | |
3395 | 3410 | |
3396 | 3411 | //如果是秒杀,拼团等互动,就不重新算界面 |
3397 | 3412 | if ([1, 2, 4, 6, 8, 9].indexOf(this.data.base_nor_prom_type) > -1) { |
3398 | 3413 | return false; |
3399 | 3414 | } |
3400 | 3415 | |
3401 | - this.check_has_flash(gid); | |
3416 | + that.check_has_flash(gid); | |
3402 | 3417 | var url = '/api/weshop/activitylist/listGoodActInfo2New'; |
3403 | 3418 | var req_d = { |
3404 | 3419 | "store_id": os.stoid, |
3405 | - "goods_id": this.data.gid, | |
3420 | + "goods_id": that.data.gid, | |
3406 | 3421 | "user_id": user_id, |
3407 | 3422 | } |
3408 | 3423 | getApp().request.get(url, { |
... | ... | @@ -3421,7 +3436,7 @@ Page({ |
3421 | 3436 | if (arr3 && arr3.length > 0) { |
3422 | 3437 | //获取活动信息 |
3423 | 3438 | var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + |
3424 | - arr3[0].act_id + "/" + getApp().globalData.user_id; | |
3439 | + arr3[0].act_id + "/" + getApp().globalData.user_id; | |
3425 | 3440 | getApp().request.get(url, { |
3426 | 3441 | success: function (e) { |
3427 | 3442 | if (e.data.code == 0 && e.data.data) { |
... | ... | @@ -3450,9 +3465,7 @@ Page({ |
3450 | 3465 | //选择了不同的规格的时候要判断是不是有活动正在进行中 |
3451 | 3466 | async sele_spec_chech_activity(nor) { |
3452 | 3467 | //---如果是活动的时候--- |
3453 | - var prom = null, | |
3454 | - goodsinfo = this.data.sele_g, | |
3455 | - th = this; | |
3468 | + var prom = null,goodsinfo = this.data.sele_g,th = this; | |
3456 | 3469 | |
3457 | 3470 | //如果是普通购买的时候,要返回原先 |
3458 | 3471 | if (goodsinfo.goods_id == this.data.base_nor_goods_id) { |
... | ... | @@ -3537,7 +3550,8 @@ Page({ |
3537 | 3550 | prom_start_time: prom.start_time, |
3538 | 3551 | prom_st: prom_st, |
3539 | 3552 | prom_act: prom, |
3540 | - prom_id: prom.id | |
3553 | + prom_id: prom.id, | |
3554 | + sp_seleing:0 | |
3541 | 3555 | }) |
3542 | 3556 | |
3543 | 3557 | var pro_null=null; |
... | ... | @@ -3581,7 +3595,10 @@ Page({ |
3581 | 3595 | } |
3582 | 3596 | } |
3583 | 3597 | |
3584 | - if (nor) return false; | |
3598 | + if (nor){ | |
3599 | + th.setData({ sp_seleing:0 }) | |
3600 | + return false; | |
3601 | + } | |
3585 | 3602 | |
3586 | 3603 | //---设置普通商品--- |
3587 | 3604 | th.setData({ |
... | ... | @@ -3591,13 +3608,14 @@ Page({ |
3591 | 3608 | prom_end_time: null, |
3592 | 3609 | prom_start_time: null, |
3593 | 3610 | prom_st: null, |
3611 | + sp_seleing:0 | |
3594 | 3612 | }) |
3595 | 3613 | |
3596 | 3614 | }, |
3597 | 3615 | |
3598 | 3616 | |
3599 | 3617 | //---------拿出门店分类和门店------------ |
3600 | - get_sto(e) { | |
3618 | + get_sto(e,func) { | |
3601 | 3619 | console.log('get_sto') |
3602 | 3620 | var th = this, |
3603 | 3621 | that = this; |
... | ... | @@ -3791,12 +3809,16 @@ Page({ |
3791 | 3809 | th.deal_pickup(e); //--普通门店排版-- |
3792 | 3810 | }, 800) |
3793 | 3811 | } |
3812 | + if(func) func(); | |
3794 | 3813 | }else{ |
3795 | 3814 | wx.hideLoading(); |
3796 | 3815 | } |
3797 | 3816 | } else { |
3798 | 3817 | wx.hideLoading(); |
3799 | 3818 | } |
3819 | + },err=>{ | |
3820 | + ut.m_toast('网络繁忙,请稍后重试'); | |
3821 | + wx.hideLoading(); | |
3800 | 3822 | }) |
3801 | 3823 | }, 200) |
3802 | 3824 | |
... | ... | @@ -3807,6 +3829,7 @@ Page({ |
3807 | 3829 | keyword: e.detail.value |
3808 | 3830 | }) |
3809 | 3831 | }, |
3832 | + | |
3810 | 3833 | //搜索门店 |
3811 | 3834 | searchfn() { |
3812 | 3835 | let choice_sort_store = this.data.choice_sort_store |
... | ... | @@ -5338,6 +5361,12 @@ Page({ |
5338 | 5361 | |
5339 | 5362 | //-----------------拼单生成方法--------------------- |
5340 | 5363 | addCart_pt: function () { |
5364 | + | |
5365 | + //如果是切换规格的时候,让商品不能提交到确认订单的页面,否则活动会出错,金额也不对 | |
5366 | + if(this.data.sp_seleing){ | |
5367 | + return false; | |
5368 | + } | |
5369 | + | |
5341 | 5370 | var th = this; |
5342 | 5371 | if (this.data.is_normal == 0) { |
5343 | 5372 | //看一下有没有起购数,如果有起购数,要计算起购数 | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxml
... | ... | @@ -1465,10 +1465,10 @@ |
1465 | 1465 | </view> |
1466 | 1466 | </block> |
1467 | 1467 | <block wx:else> |
1468 | - <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn yellow fs32" data-action="add"> | |
1468 | + <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn yellow {{sp_seleing?'gray':''}}" data-action="add"> | |
1469 | 1469 | 加入购物车 |
1470 | 1470 | </view> |
1471 | - <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy" data-action="buy"> | |
1471 | + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy {{sp_seleing?'gray':''}}" data-action="buy"> | |
1472 | 1472 | {{sele_g.offline_price?"券后购买":"立即购买"}} |
1473 | 1473 | </view> |
1474 | 1474 | </block> |
... | ... | @@ -1487,10 +1487,10 @@ |
1487 | 1487 | </view> |
1488 | 1488 | </block> |
1489 | 1489 | <block wx:else> |
1490 | - <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn yellow fs32" data-action="add"> | |
1490 | + <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn yellow {{sp_seleing?'gray':''}}" data-action="add"> | |
1491 | 1491 | 加入购物车 |
1492 | 1492 | </view> |
1493 | - <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy" data-action="buy"> | |
1493 | + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy {{sp_seleing?'gray':''}}" data-action="buy"> | |
1494 | 1494 | {{sele_g.offline_price?"券后购买":"立即购买"}} |
1495 | 1495 | </view> |
1496 | 1496 | </block> | ... | ... |