Commit d9b51885d995f9bc6d62ca34ced97539458f26e8

Authored by yvan.ni
1 parent 02bfb03f

商品组合购的 店铺优惠的计算优化

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