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 | } | ... | ... |