Commit a0a783ea2fd6f4d7d18b8ad12c2430aa21aa0373

Authored by yvan.ni
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',
... ...