Commit d9b51885d995f9bc6d62ca34ced97539458f26e8
1 parent
02bfb03f
商品组合购的 店铺优惠的计算优化
Showing
4 changed files
with
31 additions
and
13 deletions
pages/cart/cart/cart.js
| ... | ... | @@ -619,7 +619,7 @@ Page({ |
| 619 | 619 | var wlist=""; |
| 620 | 620 | for(var i in list.goods){ |
| 621 | 621 | //如果商品有促销活动 |
| 622 | - if(list.goods[i].prom_type>0 || list.goods[i].prom_type==7 ) continue; | |
| 622 | + if(list.goods[i].prom_type>0 && list.goods[i].prom_type!=7) continue; | |
| 623 | 623 | wlist+= encodeURIComponent(list.goods[i].erpwareid)+","; |
| 624 | 624 | } |
| 625 | 625 | wlist=ut.sub_last(wlist); |
| ... | ... | @@ -644,7 +644,7 @@ Page({ |
| 644 | 644 | set_cart_offline_price:function(data,glist) |
| 645 | 645 | { |
| 646 | 646 | for(var i in glist) { |
| 647 | - if(glist[i].erpwareid==data.WareId && glist[i].prom_type==0){ | |
| 647 | + if(glist[i].erpwareid==data.WareId && (glist[i].prom_type==0 || glist[i].prom_type==7)){ | |
| 648 | 648 | if(glist[i].goods_price>=data.WarePrice){ |
| 649 | 649 | glist[i].is_offline=1; |
| 650 | 650 | glist[i].offline_price=data.WarePrice; |
| ... | ... | @@ -1243,6 +1243,15 @@ Page({ |
| 1243 | 1243 | [txt1]: offline_price.toFixed(2), |
| 1244 | 1244 | [txt2]: offline_num, |
| 1245 | 1245 | }); |
| 1246 | + }else{ | |
| 1247 | + if(car[a].offline_price>0){ | |
| 1248 | + var txt1= "requestData[" + a + "].offline_price"; | |
| 1249 | + var txt2= "requestData[" + a + "].offline_num"; | |
| 1250 | + th.setData({ | |
| 1251 | + [txt1]: 0, | |
| 1252 | + [txt2]: 0 | |
| 1253 | + }); | |
| 1254 | + } | |
| 1246 | 1255 | } |
| 1247 | 1256 | |
| 1248 | 1257 | } | ... | ... |
pages/cart/cart/cart.wxml
| ... | ... | @@ -122,7 +122,7 @@ |
| 122 | 122 | <view class="fs20">¥</view> |
| 123 | 123 | <view class="fs28">{{items.goods_price}}</view> |
| 124 | 124 | |
| 125 | - <view wx:if="{{items.is_offline}}" class="quan_color flex ai-center"><text>券后 ¥{{items.offline_price}}</text></view> | |
| 125 | + <view wx:if="{{items.is_offline}}" class="quan_color flex ai-center"><text>券后 ¥{{g_filter.toFix(items.offline_price,2)}}</text></view> | |
| 126 | 126 | |
| 127 | 127 | </view> |
| 128 | 128 | <view class="count"> | ... | ... |
pages/cart/cart/g_filter.wxs
| ... | ... | @@ -20,10 +20,19 @@ var g_filters = { |
| 20 | 20 | var tnow=getDate(); |
| 21 | 21 | if(t1>=tnow) return 1; |
| 22 | 22 | return 0; |
| 23 | - } | |
| 23 | + }, | |
| 24 | + | |
| 25 | + toFix: function (val, count) { | |
| 26 | + if(!val){ | |
| 27 | + return parseFloat(0).toFixed(count); | |
| 28 | + } | |
| 29 | + val = parseFloat(val); | |
| 30 | + return val.toFixed(count) | |
| 31 | + } | |
| 24 | 32 | } |
| 25 | 33 | module.exports = { |
| 26 | 34 | has_char: g_filters.has_char, |
| 27 | 35 | beg_time: g_filters.beg_time, |
| 28 | 36 | end_time: g_filters.end_time, |
| 37 | + toFix: g_filters.toFix, | |
| 29 | 38 | } |
| 30 | 39 | \ No newline at end of file | ... | ... |
pages/cart/cart/zh_calculate.js
| ... | ... | @@ -217,7 +217,7 @@ module.exports = { |
| 217 | 217 | } |
| 218 | 218 | aprice += item.price; |
| 219 | 219 | if (item.offline_price) { |
| 220 | - offline_price += item.goods_price - item.offline_price; | |
| 220 | + offline_price += gitem.goods_price - gitem.offline_price; | |
| 221 | 221 | offline_num += 1; |
| 222 | 222 | } |
| 223 | 223 | } |
| ... | ... | @@ -237,8 +237,8 @@ module.exports = { |
| 237 | 237 | gitem.need_downlow_num+=item.num; |
| 238 | 238 | } |
| 239 | 239 | aprice += item.price*item.num; |
| 240 | - if (item.offline_price) { | |
| 241 | - offline_price += (item.goods_price - item.offline_price)*item.num; | |
| 240 | + if (item.offline_price && th.data.sales_rules==2) { | |
| 241 | + offline_price += (gitem.goods_price - gitem.offline_price)*item.num; | |
| 242 | 242 | offline_num += item.num; |
| 243 | 243 | } |
| 244 | 244 | |
| ... | ... | @@ -264,13 +264,13 @@ module.exports = { |
| 264 | 264 | for (var ii in goods) { |
| 265 | 265 | var item = goods[ii]; |
| 266 | 266 | var gitem=get_num2(item); |
| 267 | - if(gitem) { | |
| 268 | - gitem.need_downlow_num = item.num; | |
| 267 | + if(gitem && gitem.selected) { | |
| 268 | + | |
| 269 | + gitem.need_downlow_num = gitem.goods_num; | |
| 269 | 270 | |
| 270 | - if (item.offline_price) { | |
| 271 | - offline_price += (item[ii].goods_price - item[ii].offline_price) * item[ii] | |
| 272 | - .goods_num; | |
| 273 | - offline_num += item[ii].goods_num; | |
| 271 | + if (item.offline_price && th.data.sales_rules==2) { | |
| 272 | + offline_price += (item.goods_price - item.offline_price) * gitem.goods_num; | |
| 273 | + offline_num += gitem.goods_num; | |
| 274 | 274 | } |
| 275 | 275 | } |
| 276 | 276 | } | ... | ... |