Commit a0a783ea2fd6f4d7d18b8ad12c2430aa21aa0373
1 parent
ceaac519
平摊算法的优化
Showing
1 changed file
with
9 additions
and
6 deletions
pages/cart/cart2/cart2.js
... | ... | @@ -699,7 +699,7 @@ Page({ |
699 | 699 | |
700 | 700 | //有活动,且优惠活动并没有限制使用优惠券,且有减价 |
701 | 701 | //--看有没有减价-- |
702 | - if(item_map.prom_price && item_map.price-item_map.prom_price){ | |
702 | + if(item_map.prom_price>=0 && item_map.price-item_map.prom_price){ | |
703 | 703 | if(cart_item.prom_pt_json){ |
704 | 704 | cart_item.prom_pt_json.push({"prom_id":item_map.prom_id,"dis":(item_map.price-item_map.prom_price).toFixed(2),"ispt":0}) |
705 | 705 | }else{ |
... | ... | @@ -743,7 +743,7 @@ Page({ |
743 | 743 | var m_item = item_map.goods[i]; |
744 | 744 | var m_all_amount = m_item.goods_price * m_item.goods_num - m_item.goods_price * m_item.goods_num * per; |
745 | 745 | var account = Math.floor(100 * m_all_amount /m_item.goods_num) / 100; |
746 | - if (account) { | |
746 | + if (account>=0) { | |
747 | 747 | item_map.goods[i].account = account; |
748 | 748 | account_all += account * m_item.goods_num; //累加总实收 |
749 | 749 | } |
... | ... | @@ -1540,6 +1540,7 @@ Page({ |
1540 | 1540 | //比例太小不平摊 |
1541 | 1541 | if(per<0.001){ |
1542 | 1542 | goods.account_yu=th.data.formData.cut_price; |
1543 | + item.is_discount_amount=1; | |
1543 | 1544 | }else{ |
1544 | 1545 | per=Math.floor(per*1000)/1000; |
1545 | 1546 | var all_amount=goods.goods_price*goods.goods_num-goods.goods_price*goods.goods_num*per; //商品总实收 |
... | ... | @@ -1547,6 +1548,7 @@ Page({ |
1547 | 1548 | var account_yu=account*goods.goods_num-(goods.goods_price*goods.goods_num-th.data.formData.cut_price); //算出余数 |
1548 | 1549 | goods.account=account; |
1549 | 1550 | goods.account_yu=parseFloat(account_yu.toFixed(2)); |
1551 | + item.is_discount_amount=1; | |
1550 | 1552 | } |
1551 | 1553 | } |
1552 | 1554 | item.order_goods.push(goods); |
... | ... | @@ -1672,9 +1674,10 @@ Page({ |
1672 | 1674 | }; |
1673 | 1675 | |
1674 | 1676 | //把优惠的平摊结果写进去 |
1675 | - if(g_item.account){ | |
1676 | - goods.account=g_item.account; | |
1677 | - goods.account_yu=g_item.account_yu; | |
1677 | + if(g_item.account>=0 || g_item.account_yu>0){ | |
1678 | + if(g_item.account>=0) goods.account=g_item.account; | |
1679 | + if(g_item.account_yu>=0) goods.account_yu=g_item.account_yu; | |
1680 | + item.is_discount_amount=1; | |
1678 | 1681 | } |
1679 | 1682 | |
1680 | 1683 | //--把券的钱,写入从表--- |
... | ... | @@ -1756,7 +1759,7 @@ Page({ |
1756 | 1759 | |
1757 | 1760 | if (pdata.length==0) return; |
1758 | 1761 | var str = JSON.stringify(pdata); |
1759 | - | |
1762 | + | |
1760 | 1763 | wx.showLoading({title: "加载中"}); |
1761 | 1764 | wx.request({ |
1762 | 1765 | url: oo.url + '/api/weshop/order/createWxdOrder', | ... | ... |