Commit e499af95e175e5dd6da0b2d87676672412d0bec8
Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into dev
Showing
3 changed files
with
209 additions
and
61 deletions
packageB/pages/zuhegou/index/index.js
| @@ -531,6 +531,9 @@ Page({ | @@ -531,6 +531,9 @@ Page({ | ||
| 531 | this.data.sele_g = this.data.list[index]; | 531 | this.data.sele_g = this.data.list[index]; |
| 532 | this.data.sele_index=index; | 532 | this.data.sele_index=index; |
| 533 | th.data.goodsInputNum = this.data.sele_g.num + 1; | 533 | th.data.goodsInputNum = this.data.sele_g.num + 1; |
| 534 | + if(this.data.sele_g.cart_num){ | ||
| 535 | + th.data.s_cart_num = this.data.sele_g.cart_num + 1; | ||
| 536 | + } | ||
| 534 | th.add_cart_func(); | 537 | th.add_cart_func(); |
| 535 | }, | 538 | }, |
| 536 | 539 | ||
| @@ -566,6 +569,7 @@ Page({ | @@ -566,6 +569,7 @@ Page({ | ||
| 566 | th.data.sele_g = item; | 569 | th.data.sele_g = item; |
| 567 | th.data.sele_index = index; | 570 | th.data.sele_index = index; |
| 568 | th.data.goodsInputNum = check_num; | 571 | th.data.goodsInputNum = check_num; |
| 572 | + th.data.s_cart_num = this.data.sele_g.cart_num - 1; | ||
| 569 | th.sub_updata_cart(); | 573 | th.sub_updata_cart(); |
| 570 | return false; | 574 | return false; |
| 571 | } | 575 | } |
| @@ -767,9 +771,11 @@ Page({ | @@ -767,9 +771,11 @@ Page({ | ||
| 767 | //-- 加入购物的函数 -- | 771 | //-- 加入购物的函数 -- |
| 768 | add_cart_func: function () { | 772 | add_cart_func: function () { |
| 769 | if (oo.user_id == null) { | 773 | if (oo.user_id == null) { |
| 774 | + this.data.changing=0; | ||
| 770 | return getApp().my_warnning("还未登录!", 0, this); | 775 | return getApp().my_warnning("还未登录!", 0, this); |
| 771 | } | 776 | } |
| 772 | if (!getApp().globalData.userInfo) { | 777 | if (!getApp().globalData.userInfo) { |
| 778 | + this.data.changing=0; | ||
| 773 | return getApp().my_warnning("还未登录!", 0, this); | 779 | return getApp().my_warnning("还未登录!", 0, this); |
| 774 | } | 780 | } |
| 775 | 781 | ||
| @@ -782,31 +788,48 @@ Page({ | @@ -782,31 +788,48 @@ Page({ | ||
| 782 | e.get_buy_num(o, function (ee) { | 788 | e.get_buy_num(o, function (ee) { |
| 783 | //---判断商品是否超出限购--- | 789 | //---判断商品是否超出限购--- |
| 784 | if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { | 790 | if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { |
| 785 | - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { | 791 | + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) { |
| 786 | wx.showModal({ | 792 | wx.showModal({ |
| 787 | title: '提示', | 793 | title: '提示', |
| 788 | content: '超出商品限购' | 794 | content: '超出商品限购' |
| 789 | }); | 795 | }); |
| 796 | + th.data.changing=0; | ||
| 790 | return false; | 797 | return false; |
| 791 | } | 798 | } |
| 799 | + if(th.data.s_cart_num){ | ||
| 800 | + if (th.data.s_cart_num + th.data.g_buy_num.get(th.data.sele_g.goods_id).gd_buynum > th.data.sele_g.viplimited) { | ||
| 801 | + wx.showModal({ | ||
| 802 | + title: '提示', | ||
| 803 | + content: '超出商品限购' | ||
| 804 | + }); | ||
| 805 | + th.data.changing=0; | ||
| 806 | + return false; | ||
| 807 | + } | ||
| 808 | + } | ||
| 809 | + | ||
| 792 | } | 810 | } |
| 793 | //---判断商品是否超出活动限购--- | 811 | //---判断商品是否超出活动限购--- |
| 794 | if (th.data.sele_g.buyqty > 0) { | 812 | if (th.data.sele_g.buyqty > 0) { |
| 795 | - if (th.data.goodsInputNum > th.data.sele_g.buyqty) { | 813 | + if (th.data.goodsInputNum+ th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.buyqty) { |
| 796 | wx.showModal({ | 814 | wx.showModal({ |
| 797 | title: '提示', | 815 | title: '提示', |
| 798 | content: '超出商品活动限购' | 816 | content: '超出商品活动限购' |
| 799 | }); | 817 | }); |
| 818 | + th.data.changing=0; | ||
| 800 | return false; | 819 | return false; |
| 801 | } | 820 | } |
| 802 | } | 821 | } |
| 803 | 822 | ||
| 804 | - if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); | 823 | + if (th.data.goodsInputNum <= 0){ |
| 824 | + this.data.changing=0;return s.my_warnning("商品数量不能为0", 0, th); | ||
| 825 | + } | ||
| 805 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) | 826 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
| 806 | this.setData({ | 827 | this.setData({ |
| 807 | sto_sele_name: "" | 828 | sto_sele_name: "" |
| 808 | }); | 829 | }); |
| 809 | - if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); | 830 | + if (th.data.sto_sele_name == "") { |
| 831 | + th.data.changing=0;return s.my_warnning("请选择门店", 0, th); | ||
| 832 | + } | ||
| 810 | 833 | ||
| 811 | //--------------此时操作的数据------------ | 834 | //--------------此时操作的数据------------ |
| 812 | var newd = { | 835 | var newd = { |
| @@ -843,8 +866,12 @@ Page({ | @@ -843,8 +866,12 @@ Page({ | ||
| 843 | if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; | 866 | if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; |
| 844 | } | 867 | } |
| 845 | 868 | ||
| 846 | - if (o.store_count <= 0) return getApp().my_warnning("库存已为空!", 0, th); | ||
| 847 | - if (o.store_count < e.data.goodsInputNum) return getApp().my_warnning("库存不足!", 0, th); | 869 | + if (o.store_count <= 0){ |
| 870 | + th.data.changing=0;return getApp().my_warnning("库存已为空!", 0, th); | ||
| 871 | + } | ||
| 872 | + if (o.store_count < e.data.goodsInputNum){ | ||
| 873 | + th.data.changing=0;return getApp().my_warnning("库存不足!", 0, th); | ||
| 874 | + } | ||
| 848 | th.add_cart_next(o, newd); //加入购物车下一步 | 875 | th.add_cart_next(o, newd); //加入购物车下一步 |
| 849 | 876 | ||
| 850 | }) | 877 | }) |
| @@ -881,11 +908,11 @@ Page({ | @@ -881,11 +908,11 @@ Page({ | ||
| 881 | th.data.adding = 0; | 908 | th.data.adding = 0; |
| 882 | return getApp().my_warnning("库存不足!", 0, th); | 909 | return getApp().my_warnning("库存不足!", 0, th); |
| 883 | } | 910 | } |
| 884 | - if (th.data.goodsInputNum > o.buyqty && o.buyqty>0) { | 911 | + if (th.data.goodsInputNum+ th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > o.buyqty && o.buyqty>0) { |
| 885 | th.data.adding = 0; | 912 | th.data.adding = 0; |
| 886 | return getApp().my_warnning("超出商品活动限购!", 0, th); | 913 | return getApp().my_warnning("超出商品活动限购!", 0, th); |
| 887 | } | 914 | } |
| 888 | - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited | 915 | + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id).prom_buybum > th.data.sele_g.viplimited |
| 889 | && th.data.sele_g.viplimited > 0 | 916 | && th.data.sele_g.viplimited > 0 |
| 890 | ) { | 917 | ) { |
| 891 | th.data.adding = 0; | 918 | th.data.adding = 0; |
| @@ -900,7 +927,9 @@ Page({ | @@ -900,7 +927,9 @@ Page({ | ||
| 900 | member_goods_price: newd.goods_price, | 927 | member_goods_price: newd.goods_price, |
| 901 | store_id: os.stoid, | 928 | store_id: os.stoid, |
| 902 | }; | 929 | }; |
| 903 | - | 930 | + if(th.data.s_cart_num){ |
| 931 | + updata.goods_num=th.data.s_cart_num; | ||
| 932 | + } | ||
| 904 | //---是不是从收藏夹出来的--- | 933 | //---是不是从收藏夹出来的--- |
| 905 | if (th.data.c_guide_id) { | 934 | if (th.data.c_guide_id) { |
| 906 | updata['guide_id'] = th.data.c_guide_id; | 935 | updata['guide_id'] = th.data.c_guide_id; |
| @@ -915,7 +944,7 @@ Page({ | @@ -915,7 +944,7 @@ Page({ | ||
| 915 | data: updata, | 944 | data: updata, |
| 916 | success: function (t) { | 945 | success: function (t) { |
| 917 | th.setData({ | 946 | th.setData({ |
| 918 | - [txt1]: updata.goods_num, | 947 | + [txt1]: th.data.goodsInputNum, |
| 919 | [txt2]: true, | 948 | [txt2]: true, |
| 920 | [txt]: true, | 949 | [txt]: true, |
| 921 | [txt3]: newd.goods_price, | 950 | [txt3]: newd.goods_price, |
| @@ -925,8 +954,6 @@ Page({ | @@ -925,8 +954,6 @@ Page({ | ||
| 925 | th.re_sum_price();//重新统计数量和总金额 | 954 | th.re_sum_price();//重新统计数量和总金额 |
| 926 | } | 955 | } |
| 927 | }); | 956 | }); |
| 928 | - | ||
| 929 | - | ||
| 930 | } else { | 957 | } else { |
| 931 | 958 | ||
| 932 | getApp().request.post("/api/weshop/cart/save", { | 959 | getApp().request.post("/api/weshop/cart/save", { |
| @@ -1287,7 +1314,6 @@ Page({ | @@ -1287,7 +1314,6 @@ Page({ | ||
| 1287 | } else { | 1314 | } else { |
| 1288 | item = th.data.only_pk[index]; //当没有门店分类的时候 | 1315 | item = th.data.only_pk[index]; //当没有门店分类的时候 |
| 1289 | } | 1316 | } |
| 1290 | - | ||
| 1291 | } else { | 1317 | } else { |
| 1292 | var index = th.data.sec_pick_index; | 1318 | var index = th.data.sec_pick_index; |
| 1293 | item = th.data.sec_sto.s_arr[index]; | 1319 | item = th.data.sec_sto.s_arr[index]; |
| @@ -1437,25 +1463,36 @@ Page({ | @@ -1437,25 +1463,36 @@ Page({ | ||
| 1437 | if (map && map.has(gd.goods_id)) { | 1463 | if (map && map.has(gd.goods_id)) { |
| 1438 | "function" == typeof func && func(); | 1464 | "function" == typeof func && func(); |
| 1439 | } else { | 1465 | } else { |
| 1466 | + var res1=null; | ||
| 1440 | //----获取商品购买数---- | 1467 | //----获取商品购买数---- |
| 1441 | - getApp().request.get("/api/weshop/ordergoods/getUserBuyGoodsNum", { | 1468 | + getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
| 1442 | data: { | 1469 | data: { |
| 1443 | store_id: os.stoid, | 1470 | store_id: os.stoid, |
| 1444 | user_id: user_id, | 1471 | user_id: user_id, |
| 1445 | - goods_id: gd.goods_id | 1472 | + goods_id: gd.goods_id, |
| 1473 | + prom_type: gd.prom_type, | ||
| 1474 | + prom_id: gd.prom_id | ||
| 1446 | }, | 1475 | }, |
| 1447 | - success: function (t) { | ||
| 1448 | - if (t.data.code == 0) { | ||
| 1449 | - var g_buy_num = t.data.data.goodsbuynum; | ||
| 1450 | - if (!map) map = new Map(); | ||
| 1451 | - map.set(gd.goods_id, g_buy_num); | ||
| 1452 | - th.setData({ | ||
| 1453 | - g_buy_num: map | ||
| 1454 | - }); | ||
| 1455 | - "function" == typeof func && func(); | ||
| 1456 | - } | 1476 | + }).then(res2=>{ |
| 1477 | + var g_buy_num=0; | ||
| 1478 | + var promgoodsbuynum=0; | ||
| 1479 | + if (res2.data.code == 0) { | ||
| 1480 | + var buy_num_data = res2.data.data; | ||
| 1481 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
| 1482 | + g_buy_num = buy_num_data.goodsbuynum; | ||
| 1457 | } | 1483 | } |
| 1458 | - }); | 1484 | + |
| 1485 | + if (!map) map = new Map(); | ||
| 1486 | + var ob={ | ||
| 1487 | + gd_buynum:g_buy_num, | ||
| 1488 | + prom_buybum:promgoodsbuynum, | ||
| 1489 | + } | ||
| 1490 | + map.set(gd.goods_id, ob); | ||
| 1491 | + th.setData({ | ||
| 1492 | + g_buy_num: map | ||
| 1493 | + }); | ||
| 1494 | + "function" == typeof func && func(); | ||
| 1495 | + }) | ||
| 1459 | } | 1496 | } |
| 1460 | }, | 1497 | }, |
| 1461 | 1498 | ||
| @@ -1477,6 +1514,11 @@ Page({ | @@ -1477,6 +1514,11 @@ Page({ | ||
| 1477 | goods_price: cur_price, | 1514 | goods_price: cur_price, |
| 1478 | store_id: os.stoid, | 1515 | store_id: os.stoid, |
| 1479 | }; | 1516 | }; |
| 1517 | + | ||
| 1518 | + if(th.data.s_cart_num){ | ||
| 1519 | + updata.goods_num=th.data.s_cart_num; | ||
| 1520 | + } | ||
| 1521 | + | ||
| 1480 | //---是不是从收藏夹出来的--- | 1522 | //---是不是从收藏夹出来的--- |
| 1481 | if (th.data.c_guide_id) { | 1523 | if (th.data.c_guide_id) { |
| 1482 | updata['guide_id'] = th.data.c_guide_id; | 1524 | updata['guide_id'] = th.data.c_guide_id; |
| @@ -1496,7 +1538,6 @@ Page({ | @@ -1496,7 +1538,6 @@ Page({ | ||
| 1496 | [txt2]: true, | 1538 | [txt2]: true, |
| 1497 | [txt]: true, | 1539 | [txt]: true, |
| 1498 | }); | 1540 | }); |
| 1499 | - | ||
| 1500 | th.data.adding = 0; | 1541 | th.data.adding = 0; |
| 1501 | th.data.sele_store = 1; | 1542 | th.data.sele_store = 1; |
| 1502 | th.re_sum_price();//重新统计数量和总金额 | 1543 | th.re_sum_price();//重新统计数量和总金额 |
| @@ -1525,6 +1566,7 @@ Page({ | @@ -1525,6 +1566,7 @@ Page({ | ||
| 1525 | var txt2 = "list[" + index + "].showNum"; | 1566 | var txt2 = "list[" + index + "].showNum"; |
| 1526 | var txt3 = "list[" + index + "].cart_id"; | 1567 | var txt3 = "list[" + index + "].cart_id"; |
| 1527 | var txt4 = "list[" + index + "].current_price"; | 1568 | var txt4 = "list[" + index + "].current_price"; |
| 1569 | + var txt5 = "list[" + index + "].cart_num"; | ||
| 1528 | 1570 | ||
| 1529 | //----先看会员在购物车中是否加入了该商品----- | 1571 | //----先看会员在购物车中是否加入了该商品----- |
| 1530 | getApp().request.get("/api/weshop/cart/page", { | 1572 | getApp().request.get("/api/weshop/cart/page", { |
| @@ -1537,39 +1579,89 @@ Page({ | @@ -1537,39 +1579,89 @@ Page({ | ||
| 1537 | success: function (re) { | 1579 | success: function (re) { |
| 1538 | if (re.data.data.total > 0) { | 1580 | if (re.data.data.total > 0) { |
| 1539 | var item = re.data.data.pageData[0]; | 1581 | var item = re.data.data.pageData[0]; |
| 1582 | + th.get_buy_num(th.data.sele_g,function () { | ||
| 1583 | + //当前的价格要更新进去 | ||
| 1584 | + var cur_price = th.data.sele_g.shop_price; | ||
| 1585 | + if (th.data.card_field && th.data.sele_g[th.data.card_field]) { | ||
| 1586 | + cur_price = th.data.sele_g[th.data.card_field]; | ||
| 1587 | + } | ||
| 1540 | 1588 | ||
| 1541 | - //当前的价格要更新进去 | ||
| 1542 | - var cur_price = th.data.sele_g.shop_price; | ||
| 1543 | - if (th.data.card_field && th.data.sele_g[th.data.card_field]) { | ||
| 1544 | - cur_price = th.data.sele_g[th.data.card_field]; | ||
| 1545 | - } | 1589 | + var prom_buybum=0; |
| 1590 | + var gd_buynum=0; | ||
| 1591 | + //加入也要控制一下限购 | ||
| 1592 | + var check_obj=th.data.g_buy_num.get(th.data.sele_g.goods_id); | ||
| 1593 | + if(check_obj.gd_buynum && check_obj.gd_buynum>0) gd_buynum=check_obj.gd_buynum; | ||
| 1594 | + if(check_obj.prom_buybum && check_obj.prom_buybum>0) prom_buybum=check_obj.prom_buybum; | ||
| 1595 | + | ||
| 1596 | + if(check_obj){ | ||
| 1597 | + if(check_obj.prom_buybum && check_obj.prom_buybum>th.data.sele_g.buyqty && | ||
| 1598 | + th.data.sele_g.buyqty>0 | ||
| 1599 | + ){ | ||
| 1600 | + wx.showToast({ | ||
| 1601 | + title: "您的已购数量超出活动的限购", | ||
| 1602 | + icon: 'none', | ||
| 1603 | + duration: 2000 | ||
| 1604 | + }); | ||
| 1605 | + return false; | ||
| 1606 | + } | ||
| 1607 | + if(check_obj.gd_buynum && check_obj.gd_buynum>th.data.sele_g.viplimited && | ||
| 1608 | + th.data.sele_g.viplimited>0 | ||
| 1609 | + ){ | ||
| 1610 | + wx.showToast({ | ||
| 1611 | + title: "您的已购数量超出商品的限购", | ||
| 1612 | + icon: 'none', | ||
| 1613 | + duration: 2000 | ||
| 1614 | + }); | ||
| 1615 | + return false; | ||
| 1616 | + } | ||
| 1617 | + } | ||
| 1546 | 1618 | ||
| 1547 | - th.setData({ | ||
| 1548 | - [txt1]: item.goods_num, | ||
| 1549 | - [txt2]: true, | ||
| 1550 | - [txt]: true, | ||
| 1551 | - [txt3]: item.id, | ||
| 1552 | - [txt4]: cur_price, | ||
| 1553 | - }); | 1619 | + item.cbuy=-1; |
| 1620 | + var cbuy=th.data.sele_g.viplimited>0?th.data.sele_g.viplimited-gd_buynum:-1; | ||
| 1621 | + if(cbuy>-1) item.cbuy=cbuy; | ||
| 1622 | + var cbuy2=th.data.sele_g.buyqty>0?th.data.sele_g.buyqty-prom_buybum:-1; | ||
| 1623 | + if(cbuy2>-1){ | ||
| 1624 | + if(item.cbuy==-1 || item.cbuy>cbuy2) item.cbuy=cbuy2; | ||
| 1625 | + } | ||
| 1554 | 1626 | ||
| 1555 | - var updata = { | ||
| 1556 | - id: item.id, | ||
| 1557 | - prom_type: 7, | ||
| 1558 | - goods_price: cur_price, | ||
| 1559 | - prom_id: th.data.act.id | ||
| 1560 | - }; | ||
| 1561 | - if (getApp().globalData.guide_id) { | ||
| 1562 | - updata['guide_id'] = getApp().globalData.guide_id; | ||
| 1563 | - updata['guide_type'] = 0; | ||
| 1564 | - } | 1627 | + var num=item.goods_num; |
| 1628 | + if(item.cbuy>-1 && item.cbuy<item.goods_num){ | ||
| 1629 | + num=item.cbuy; | ||
| 1630 | + } | ||
| 1631 | + th.setData({ | ||
| 1632 | + [txt1]: num, | ||
| 1633 | + [txt2]: true, | ||
| 1634 | + [txt]: true, | ||
| 1635 | + [txt3]: item.id, | ||
| 1636 | + [txt4]: cur_price, | ||
| 1637 | + [txt5]: item.goods_num, | ||
| 1638 | + }); | ||
| 1565 | 1639 | ||
| 1566 | - getApp().request.put("/api/weshop/cart/update", { | ||
| 1567 | - data: updata, | ||
| 1568 | - success: function (t) { | 1640 | + if(item.cbuy>-1){ |
| 1641 | + th.setData({ | ||
| 1642 | + [txt5]: item.cbuy, | ||
| 1643 | + }); | ||
| 1569 | } | 1644 | } |
| 1570 | - }); | ||
| 1571 | 1645 | ||
| 1572 | - th.re_sum_price(); | 1646 | + var updata = { |
| 1647 | + id: item.id, | ||
| 1648 | + prom_type: 7, | ||
| 1649 | + goods_price: cur_price, | ||
| 1650 | + prom_id: th.data.act.id | ||
| 1651 | + }; | ||
| 1652 | + if (getApp().globalData.guide_id) { | ||
| 1653 | + updata['guide_id'] = getApp().globalData.guide_id; | ||
| 1654 | + updata['guide_type'] = 0; | ||
| 1655 | + } | ||
| 1656 | + | ||
| 1657 | + getApp().request.put("/api/weshop/cart/update", { | ||
| 1658 | + data: updata, | ||
| 1659 | + success: function (t) { | ||
| 1660 | + } | ||
| 1661 | + }); | ||
| 1662 | + th.re_sum_price(); | ||
| 1663 | + }) | ||
| 1664 | + | ||
| 1573 | } else { | 1665 | } else { |
| 1574 | func(); | 1666 | func(); |
| 1575 | } | 1667 | } |
| @@ -1627,7 +1719,7 @@ Page({ | @@ -1627,7 +1719,7 @@ Page({ | ||
| 1627 | } | 1719 | } |
| 1628 | 1720 | ||
| 1629 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 | 1721 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 |
| 1630 | - if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) { | 1722 | + if (this.data.act.is_bz && no_in_arr.length > this.data.act.zhbuyqty) { |
| 1631 | //看一下是几倍 | 1723 | //看一下是几倍 |
| 1632 | var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); | 1724 | var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); |
| 1633 | aprice += be * aprice; | 1725 | aprice += be * aprice; |
pages/cart/cart/cart.js
| @@ -1240,7 +1240,11 @@ Page({ | @@ -1240,7 +1240,11 @@ Page({ | ||
| 1240 | }, | 1240 | }, |
| 1241 | }).then(res => { | 1241 | }).then(res => { |
| 1242 | var buy_num_data = res.data.data; | 1242 | var buy_num_data = res.data.data; |
| 1243 | - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | 1243 | + if (buy_num_data.promgoodsbuynum) { |
| 1244 | + promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
| 1245 | + var txt="requestData[" + pitem + "].goods[" + item + "].zh_b_num"; | ||
| 1246 | + th.setData({[txt]:promgoodsbuynum}); | ||
| 1247 | + } | ||
| 1244 | goodsbuynum = buy_num_data.goodsbuynum; | 1248 | goodsbuynum = buy_num_data.goodsbuynum; |
| 1245 | }) | 1249 | }) |
| 1246 | 1250 |
pages/cart/cart/zh_calculate.js
| @@ -51,7 +51,7 @@ module.exports = { | @@ -51,7 +51,7 @@ module.exports = { | ||
| 51 | } | 51 | } |
| 52 | }, | 52 | }, |
| 53 | 53 | ||
| 54 | - //把组合购的商品价格计算出来 | 54 | + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!zh_b_num是已经购买了多少件 |
| 55 | calculate_zh: function(car, a, th) { | 55 | calculate_zh: function(car, a, th) { |
| 56 | var car_item = car[a]; | 56 | var car_item = car[a]; |
| 57 | var tfeel = 0, | 57 | var tfeel = 0, |
| @@ -81,6 +81,7 @@ module.exports = { | @@ -81,6 +81,7 @@ module.exports = { | ||
| 81 | var need_to_buy = 0; | 81 | var need_to_buy = 0; |
| 82 | var all_zhqty = 0; //所有商品要求起购数之和 | 82 | var all_zhqty = 0; //所有商品要求起购数之和 |
| 83 | var no_in_arr = []; //剩余的未加入组合购 | 83 | var no_in_arr = []; //剩余的未加入组合购 |
| 84 | + var out_arr=[]; //超出活动限购的商品放入 | ||
| 84 | 85 | ||
| 85 | var title =""; //提示语; | 86 | var title =""; //提示语; |
| 86 | //var goods = bitem.goods; | 87 | //var goods = bitem.goods; |
| @@ -109,7 +110,36 @@ module.exports = { | @@ -109,7 +110,36 @@ module.exports = { | ||
| 109 | 110 | ||
| 110 | for (var i in goods) { | 111 | for (var i in goods) { |
| 111 | var item = goods[i]; | 112 | var item = goods[i]; |
| 112 | - item.num = get_num(item).goods_num; | 113 | + item.goods_price=get_num(item).goods_price; |
| 114 | + item.offline_price=get_num(item).offline_price; | ||
| 115 | + var cart_num=get_num(item).goods_num; | ||
| 116 | + var zh_b_num=get_num2(item).zh_b_num; | ||
| 117 | + | ||
| 118 | + //-- 当商品有购买的时候,以及有限购的时候 -- | ||
| 119 | + if(zh_b_num>0 && item.buyqty>0){ | ||
| 120 | + | ||
| 121 | + var cbuy=item.buyqty-zh_b_num; | ||
| 122 | + //当可买的数量为0 | ||
| 123 | + if(cbuy<=0){ | ||
| 124 | + item.num=0; | ||
| 125 | + out_arr.push({ | ||
| 126 | + price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,num:cart_num | ||
| 127 | + }) | ||
| 128 | + }else{ | ||
| 129 | + if(cbuy>=cart_num) item.num =cart_num; | ||
| 130 | + else{ | ||
| 131 | + item.num =cbuy; | ||
| 132 | + out_arr.push({ | ||
| 133 | + price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,num:cart_num-cbuy | ||
| 134 | + }) | ||
| 135 | + } | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + }else{ | ||
| 139 | + item.num =cart_num; | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + | ||
| 113 | item.goods_price=get_num(item).goods_price; | 143 | item.goods_price=get_num(item).goods_price; |
| 114 | item.offline_price=get_num(item).offline_price; | 144 | item.offline_price=get_num(item).offline_price; |
| 115 | 145 | ||
| @@ -166,8 +196,6 @@ module.exports = { | @@ -166,8 +196,6 @@ module.exports = { | ||
| 166 | no_in_arr.pop(); | 196 | no_in_arr.pop(); |
| 167 | } | 197 | } |
| 168 | } | 198 | } |
| 169 | - | ||
| 170 | - | ||
| 171 | //算一下剩余的钱 | 199 | //算一下剩余的钱 |
| 172 | if (no_in_arr.length) { | 200 | if (no_in_arr.length) { |
| 173 | for (var ii in no_in_arr) { | 201 | for (var ii in no_in_arr) { |
| @@ -188,6 +216,31 @@ module.exports = { | @@ -188,6 +216,31 @@ module.exports = { | ||
| 188 | } | 216 | } |
| 189 | } | 217 | } |
| 190 | } | 218 | } |
| 219 | + | ||
| 220 | + //超量的部分也要计算一下 | ||
| 221 | + if(out_arr.length){ | ||
| 222 | + for (var m in out_arr) { | ||
| 223 | + var item = out_arr[m]; | ||
| 224 | + var gitem=get_num2(item); | ||
| 225 | + if(gitem) { | ||
| 226 | + if (!gitem.need_downlow_num) { | ||
| 227 | + gitem.need_downlow_num = item.num; | ||
| 228 | + } | ||
| 229 | + else { | ||
| 230 | + gitem.need_downlow_num+=item.num; | ||
| 231 | + } | ||
| 232 | + aprice += item.price*item.num; | ||
| 233 | + if (item.offline_price) { | ||
| 234 | + offline_price += (item.goods_price - item.offline_price)*item.num; | ||
| 235 | + offline_num += item.num; | ||
| 236 | + } | ||
| 237 | + | ||
| 238 | + } | ||
| 239 | + } | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + | ||
| 191 | all_price = aprice; | 244 | all_price = aprice; |
| 192 | 245 | ||
| 193 | //-- 设置还需要购买多少件,享受活动,前段显示 -- | 246 | //-- 设置还需要购买多少件,享受活动,前段显示 -- |
| @@ -254,7 +307,6 @@ module.exports = { | @@ -254,7 +307,6 @@ module.exports = { | ||
| 254 | console.log('nyf111'); | 307 | console.log('nyf111'); |
| 255 | console.log(car_item); | 308 | console.log(car_item); |
| 256 | 309 | ||
| 257 | - | ||
| 258 | var res = { | 310 | var res = { |
| 259 | tfeel: tfeel, | 311 | tfeel: tfeel, |
| 260 | offline_price: offline_price, | 312 | offline_price: offline_price, |