فهرست منبع

fix: 续费旧规则、购买续费商品规格切换频繁异常

yangfeng 4 سال پیش
والد
کامیت
1c97f038c2

+ 4 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js

@@ -223,6 +223,7 @@ var renew = {
             renew.checkOver3Years(goodsSize.getTimeSelect('1年'))
           }
         } else {
+          console.log(this.price, '1111')
           // 旧规则初始化订单价格
           goodsOrder.updatePrice(this.price / 100)
           // 旧规则初始化自动领券 旧规则无满赠活动可直接领券 旧规则使用默认的pId 101 不传即为默认
@@ -395,6 +396,8 @@ var renew = {
             $('.weui-mask').trigger('click')
             _this.timeSelect = _this.getTimePickerSelected()
             _this.calcDuration(true)
+            // 选择完周期后清除上次选择的优惠券
+            sessionStorage.removeItem('vip-cur-select-coupon')
             _this.setPrice(_this.calcPrice())
             _this.saveState()
         })
@@ -708,6 +711,7 @@ var goodsSize = new Vue({
       renew.checkOver3Years(this.getTimeSelect(data.period))
       sessionStorage.removeItem('$select-coupon')
       this.defaultSize = data
+      goodsCoupon.$refs.goodsCoupon.couponList = [] // 防止频繁切换商品规格时  能点击到上和规格可用的优惠券
       goodsOrder.updatePrice(data.price/100)
       // 查询有无满赠,无满赠执行回调查优惠券
       renew.getGiftList(function(){

+ 5 - 1
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_purchase.html

@@ -17,6 +17,8 @@
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/css/vip-size-template.css?v={{Msg "seo" "version"}}' />
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/css/vip-coupon-template.css?v={{Msg "seo" "version"}}' />
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/coupon/css/pay-order-template.css?v={{Msg "seo" "version"}}' />
+  <script type="text/javascript" src="//cdn.bootcdn.net/ajax/libs/vConsole/3.3.4/vconsole.min.js"></script>
+    <script>new VConsole()</script>
   <style>
     .vip_purchase {
       height: 100%;
@@ -711,10 +713,11 @@
             getGoodSize: function(data) {
               console.log(data, '父组件接收子组件传来的商品规格')
               this.props.defaultSize = data
+              goodsCoupon.$refs.goodsCoupon.couponList = [] // 防止频繁切换商品规格时  能点击到上和规格可用的优惠券
               // 查询有无满赠,无满赠执行回调查优惠券
+              goodsOrder.updatePrice(data.price/100)
               purchase.getGiftList(function(){
                 goodsCoupon.updatePrice(data.price/100, data.pId)
-                goodsOrder.updatePrice(data.price/100)
               })
             }
           }
@@ -737,6 +740,7 @@
             updateCoupon: function(data) {
               this.curSelectCoupon = data
               var curSize = JSON.parse(sessionStorage.getItem('vip-cur-select-size'))
+              console.log(data, curSize)
               // 更新优惠券选择同时更新订单组件的价格及优惠金额
               if (curSize) {
                 goodsOrder.updatePrice(curSize.price/100)

+ 4 - 0
src/web/staticres/vipsubscribe/js/vip_renew.js

@@ -107,6 +107,7 @@ var renew = {
                       }
                       
                     }
+                    goodsCoupon.$refs.goodsCoupon.couponList = [] // 防止频繁切换商品规格时  能点击到上和规格可用的优惠券
                     // 初始化默认金额
                     _this.setPrice(_this.calcPrice())
                 }
@@ -395,6 +396,8 @@ var renew = {
             $('.weui-mask').trigger('click')
             _this.timeSelect = _this.getTimePickerSelected()
             _this.calcDuration(true)
+            // 选择完周期后清除上次选择的优惠券
+            sessionStorage.removeItem('vip-cur-select-coupon')
             _this.setPrice(_this.calcPrice())
             _this.saveState()
         })
@@ -710,6 +713,7 @@ var goodsSize = new Vue({
       renew.checkOver3Years(this.getTimeSelect(data.period))
       sessionStorage.removeItem('$select-coupon')
       this.defaultSize = data
+      goodsCoupon.$refs.goodsCoupon.couponList = [] // 防止频繁切换商品规格时  能点击到上和规格可用的优惠券
       goodsOrder.updatePrice(data.price/100)
       // 查询有无满赠,无满赠执行回调查优惠券
       renew.getGiftList(function(){

+ 2 - 1
src/web/templates/weixin/vipsubscribe/vip_purchase.html

@@ -696,10 +696,11 @@
                 getGoodSize: function(data) {
                   console.log(data, '父组件接收子组件传来的商品规格')
                   this.props.defaultSize = data
+                  goodsCoupon.$refs.goodsCoupon.couponList = [] // 防止频繁切换商品规格时  能点击到上和规格可用的优惠券
+                  goodsOrder.updatePrice(data.price/100)
                   // 查询有无满赠,无满赠执行回调查优惠券
                   purchase.getGiftList(function(){
                     goodsCoupon.updatePrice(data.price/100, data.pId)
-                    goodsOrder.updatePrice(data.price/100)
                   })
                 }
               }