Commit 40716d9400eca7220602414e3b6cef9159bfcea8
1 parent
74d10292
购物车的bug优化
Showing
1 changed file
with
210 additions
and
18 deletions
pages/cart/cart/cart.js
@@ -552,23 +552,42 @@ Page({ | @@ -552,23 +552,42 @@ Page({ | ||
552 | 552 | ||
553 | var by_map = null; | 553 | var by_map = null; |
554 | 554 | ||
555 | - //--要获得商品,该用户买了多少件,同步应用-- | ||
556 | - await getApp().request.promiseGet("/api/weshop/ordergoods/listUserBuyGoodsNum", { | ||
557 | - data: { | ||
558 | - store_id: oo.stoid, | ||
559 | - user_id: user_id, | ||
560 | - goods_ids: g_arr.join(','), | 555 | + // //--要获得商品,该用户买了多少件,同步应用-- |
556 | + // await getApp().request.promiseGet("/api/weshop/ordergoods/listUserBuyGoodsNum", { | ||
557 | + // data: { | ||
558 | + // store_id: oo.stoid, | ||
559 | + // user_id: user_id, | ||
560 | + // goods_ids: g_arr.join(','), | ||
561 | + // | ||
562 | + // }, | ||
563 | + // }).then(res => { | ||
564 | + // if (ut.ajax_ok2(res)) { | ||
565 | + // by_map = {}; | ||
566 | + // for (let i in res.data.data) { | ||
567 | + // let item = res.data.data[i]; | ||
568 | + // by_map[item.goods_id] = item; | ||
569 | + // } | ||
570 | + // } | ||
571 | + // }) | ||
572 | + | ||
573 | + | ||
574 | + for (let ir = 0; ir < g_arr.length; ir++) { | ||
575 | + let gg_it=g_arr[ir]; | ||
576 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
577 | + data: { | ||
578 | + store_id: oo.stoid, | ||
579 | + user_id: user_id, | ||
580 | + goods_ids: gg_it, | ||
581 | + isnew:1 | ||
582 | + }, | ||
583 | + }).then(tt => { | ||
584 | + if (tt.data.code == 0) { | ||
585 | + if(!by_map) by_map={}; | ||
586 | + by_map[gg_it] = tt.data.data; | ||
587 | + } | ||
588 | + }) | ||
589 | + } | ||
561 | 590 | ||
562 | - }, | ||
563 | - }).then(res => { | ||
564 | - if (ut.ajax_ok2(res)) { | ||
565 | - by_map = {}; | ||
566 | - for (let i in res.data.data) { | ||
567 | - let item = res.data.data[i]; | ||
568 | - by_map[item.goods_id] = item; | ||
569 | - } | ||
570 | - } | ||
571 | - }) | ||
572 | 591 | ||
573 | for (var i = 0; i < carr.length; i++) { | 592 | for (var i = 0; i < carr.length; i++) { |
574 | var item = carr[i]; | 593 | var item = carr[i]; |
@@ -1464,6 +1483,50 @@ Page({ | @@ -1464,6 +1483,50 @@ Page({ | ||
1464 | t_num = 0, | 1483 | t_num = 0, |
1465 | text_arr = ""; | 1484 | text_arr = ""; |
1466 | 1485 | ||
1486 | + | ||
1487 | + if(this.data.is_edit){ | ||
1488 | + let val=!e.data.checkAllToggle; | ||
1489 | + if (dda && dda.length > 0) { | ||
1490 | + for (var i = 0; i < dda.length; i++) { | ||
1491 | + var item = dda[i].goods; | ||
1492 | + | ||
1493 | + var txt0 = "requestData[" + i + "].selected"; | ||
1494 | + this.setData({ | ||
1495 | + [txt0]: val, | ||
1496 | + }); | ||
1497 | + | ||
1498 | + for (var j = 0; j < item.length; j++) { | ||
1499 | + let txt = "requestData[" + i + "].goods[" + j + "].selected"; | ||
1500 | + e.setData({ | ||
1501 | + [txt]: val, | ||
1502 | + }); | ||
1503 | + } | ||
1504 | + } | ||
1505 | + } | ||
1506 | + if (sdda && sdda.length > 0) { | ||
1507 | + for (i = 0; i < sdda.length; i++) { | ||
1508 | + var item1 = sdda[i].goods; | ||
1509 | + | ||
1510 | + var txt00 = "service_data[" + i + "].selected"; | ||
1511 | + this.setData({ | ||
1512 | + [txt00]: val, | ||
1513 | + }); | ||
1514 | + | ||
1515 | + for (j = 0; j < item1.length; j++) { | ||
1516 | + let txt1 = "service_data[" + i + "].goods[" + j + "].selected"; | ||
1517 | + e.setData({ | ||
1518 | + [txt1]: val, | ||
1519 | + }); | ||
1520 | + } | ||
1521 | + } | ||
1522 | + } | ||
1523 | + | ||
1524 | + e.setData({ | ||
1525 | + checkAllToggle: val, | ||
1526 | + }) | ||
1527 | + return false; | ||
1528 | + } | ||
1529 | + | ||
1467 | if (e.data.requestData && e.data.requestData.length > 0 && | 1530 | if (e.data.requestData && e.data.requestData.length > 0 && |
1468 | e.data.service_data && e.data.service_data.length > 0) { | 1531 | e.data.service_data && e.data.service_data.length > 0) { |
1469 | wx.showModal({ | 1532 | wx.showModal({ |
@@ -1498,6 +1561,46 @@ Page({ | @@ -1498,6 +1561,46 @@ Page({ | ||
1498 | for (var j = 0; j < item.length; j++) { | 1561 | for (var j = 0; j < item.length; j++) { |
1499 | if (item[j].is_gift) continue; | 1562 | if (item[j].is_gift) continue; |
1500 | var obj = JSON.parse(JSON.stringify(item[j])); | 1563 | var obj = JSON.parse(JSON.stringify(item[j])); |
1564 | + var gd_info=obj; | ||
1565 | + | ||
1566 | + if (!gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1 && !gd_info.selected && th.data.sales_rules >= 2) { | ||
1567 | + var ob = {}; | ||
1568 | + await th.check_down_line_next(gd_info, i, j, gd_info.erpwareid, function (res) { | ||
1569 | + ob = res; | ||
1570 | + }); | ||
1571 | + | ||
1572 | + if (ob.code == -1) { | ||
1573 | + | ||
1574 | + wx.showToast({ | ||
1575 | + title: gd_info.goods_name+'购买数量超出商品库存', | ||
1576 | + icon: 'none', | ||
1577 | + }); | ||
1578 | + | ||
1579 | + return false; | ||
1580 | + } else { | ||
1581 | + if (th.data.sales_rules == 3) { | ||
1582 | + var goods_id = gd_info.goods_id; | ||
1583 | + var num = 0; | ||
1584 | + | ||
1585 | + for (let ii = 0; ii< th.data.requestData.length; ii++) { | ||
1586 | + if (i == ii) continue; | ||
1587 | + var it = th.data.requestData[ii].goods.find((e) => { | ||
1588 | + return e.goods_id == goods_id; | ||
1589 | + }) | ||
1590 | + if (it && it.selected) num += it.goods_num | ||
1591 | + } | ||
1592 | + | ||
1593 | + if (num > ob.CanOutQty) { | ||
1594 | + wx.showToast({ | ||
1595 | + title: gd_info.goods_name+'购买数量超出商品库存', | ||
1596 | + icon: 'none', | ||
1597 | + }); | ||
1598 | + return false; | ||
1599 | + } | ||
1600 | + } | ||
1601 | + } | ||
1602 | + } | ||
1603 | + | ||
1501 | 1604 | ||
1502 | 1605 | ||
1503 | //-- 判断起购数量 -- | 1606 | //-- 判断起购数量 -- |
@@ -1734,6 +1837,20 @@ Page({ | @@ -1734,6 +1837,20 @@ Page({ | ||
1734 | }); | 1837 | }); |
1735 | 1838 | ||
1736 | if (!sele) { | 1839 | if (!sele) { |
1840 | + | ||
1841 | + //编辑不管判断了 | ||
1842 | + if(this.data.is_edit){ | ||
1843 | + for (var im = 0; im < item.length; im++) { | ||
1844 | + let pro_off1 = false | ||
1845 | + var txt = "requestData[" + pitems + "].goods[" + im + "].selected"; | ||
1846 | + this.setData({[txt]:1}) | ||
1847 | + } | ||
1848 | + | ||
1849 | + var txt0 = "requestData[" + pitems + "].selected"; | ||
1850 | + this.setData({[txt0]:1}) | ||
1851 | + return false; | ||
1852 | + } | ||
1853 | + | ||
1737 | var check_is_service_selected = 0; | 1854 | var check_is_service_selected = 0; |
1738 | for (var ii in garr) { | 1855 | for (var ii in garr) { |
1739 | for (var ij in garr[ii].goods) { | 1856 | for (var ij in garr[ii].goods) { |
@@ -1797,7 +1914,7 @@ Page({ | @@ -1797,7 +1914,7 @@ Page({ | ||
1797 | if (ob.code == -1) { | 1914 | if (ob.code == -1) { |
1798 | 1915 | ||
1799 | wx.showToast({ | 1916 | wx.showToast({ |
1800 | - title: '购买数量超出商品库存', | 1917 | + title: gd_info.goods_name+'购买数量超出商品库存', |
1801 | icon: 'none', | 1918 | icon: 'none', |
1802 | }); | 1919 | }); |
1803 | 1920 | ||
@@ -1817,7 +1934,7 @@ Page({ | @@ -1817,7 +1934,7 @@ Page({ | ||
1817 | 1934 | ||
1818 | if (num > ob.CanOutQty) { | 1935 | if (num > ob.CanOutQty) { |
1819 | wx.showToast({ | 1936 | wx.showToast({ |
1820 | - title: '购买数量超出商品库存', | 1937 | + title: gd_info.goods_name+'购买数量超出商品库存', |
1821 | icon: 'none', | 1938 | icon: 'none', |
1822 | }); | 1939 | }); |
1823 | return false; | 1940 | return false; |
@@ -1963,6 +2080,15 @@ Page({ | @@ -1963,6 +2080,15 @@ Page({ | ||
1963 | var garr = e.data.service_data; | 2080 | var garr = e.data.service_data; |
1964 | 2081 | ||
1965 | if (!a.selected) { | 2082 | if (!a.selected) { |
2083 | + | ||
2084 | + //如果是标记的时候 | ||
2085 | + if(this.data.is_edit){ | ||
2086 | + var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; | ||
2087 | + this.setData({[txt]:1}) | ||
2088 | + return false; | ||
2089 | + } | ||
2090 | + | ||
2091 | + | ||
1966 | var check_is_service_selected = 0; | 2092 | var check_is_service_selected = 0; |
1967 | for (var ii in garr) { | 2093 | for (var ii in garr) { |
1968 | for (var ij in garr[ii].goods) { | 2094 | for (var ij in garr[ii].goods) { |
@@ -2127,6 +2253,17 @@ Page({ | @@ -2127,6 +2253,17 @@ Page({ | ||
2127 | iarr = item; | 2253 | iarr = item; |
2128 | 2254 | ||
2129 | if (!sele) { | 2255 | if (!sele) { |
2256 | + | ||
2257 | + //编辑不管判断了 | ||
2258 | + if(this.data.is_edit){ | ||
2259 | + for (var im = 0; im < item.length; im++) { | ||
2260 | + let pro_off1 = false | ||
2261 | + var txt = "service_data[" + pitems + "].goods[" + im + "].selected"; | ||
2262 | + this.setData({[txt]:1}) | ||
2263 | + } | ||
2264 | + return false; | ||
2265 | + } | ||
2266 | + | ||
2130 | var check_is_goods_selected = 0; | 2267 | var check_is_goods_selected = 0; |
2131 | for (var ii in garr) { | 2268 | for (var ii in garr) { |
2132 | for (var ij in garr[ii].goods) { | 2269 | for (var ij in garr[ii].goods) { |
@@ -2172,6 +2309,16 @@ Page({ | @@ -2172,6 +2309,16 @@ Page({ | ||
2172 | var garr = e.data.requestData; | 2309 | var garr = e.data.requestData; |
2173 | 2310 | ||
2174 | if (!a.selected) { | 2311 | if (!a.selected) { |
2312 | + | ||
2313 | + if(this.data.is_edit){ | ||
2314 | + var txt = "service_data[" + pitems + "].goods[" + item + "].selected"; | ||
2315 | + e.setData({ | ||
2316 | + [txt]: 1, | ||
2317 | + }); | ||
2318 | + return false; | ||
2319 | + } | ||
2320 | + | ||
2321 | + | ||
2175 | var check_is_goods_selected = 0; | 2322 | var check_is_goods_selected = 0; |
2176 | for (var ii in garr) { | 2323 | for (var ii in garr) { |
2177 | for (var ij in garr[ii].goods) { | 2324 | for (var ij in garr[ii].goods) { |
@@ -3938,6 +4085,51 @@ Page({ | @@ -3938,6 +4085,51 @@ Page({ | ||
3938 | this.setData({ | 4085 | this.setData({ |
3939 | is_edit: type | 4086 | is_edit: type |
3940 | }); | 4087 | }); |
4088 | + | ||
4089 | + let dda = this.data.requestData; | ||
4090 | + let sdda = this.data.service_data; | ||
4091 | + | ||
4092 | + //清空选中的状态 | ||
4093 | + if (dda && dda.length > 0) { | ||
4094 | + for (var i = 0; i < dda.length; i++) { | ||
4095 | + var item = dda[i].goods; | ||
4096 | + var txt0 = "requestData[" + i + "].selected"; | ||
4097 | + this.setData({ | ||
4098 | + [txt0]: 0, | ||
4099 | + }); | ||
4100 | + | ||
4101 | + for (var j = 0; j < item.length; j++) { | ||
4102 | + let txt = "requestData[" + i + "].goods[" + j + "].selected"; | ||
4103 | + this.setData({ | ||
4104 | + [txt]: 0, | ||
4105 | + }); | ||
4106 | + } | ||
4107 | + } | ||
4108 | + } | ||
4109 | + | ||
4110 | + //清空选中的状态 | ||
4111 | + if (sdda && sdda.length > 0) { | ||
4112 | + for (i = 0; i < sdda.length; i++) { | ||
4113 | + var item1 = sdda[i].goods; | ||
4114 | + var txt00 = "service_data[" + i + "].selected"; | ||
4115 | + this.setData({ | ||
4116 | + [txt00]: 0, | ||
4117 | + }); | ||
4118 | + | ||
4119 | + for (j = 0; j < item1.length; j++) { | ||
4120 | + let txt1 = "service_data[" + i + "].goods[" + j + "].selected"; | ||
4121 | + this.setData({ | ||
4122 | + [txt1]: 0, | ||
4123 | + }); | ||
4124 | + } | ||
4125 | + } | ||
4126 | + } | ||
4127 | + | ||
4128 | + this.setData({ | ||
4129 | + checkAllToggle: 0, | ||
4130 | + }) | ||
4131 | + | ||
4132 | + | ||
3941 | }, | 4133 | }, |
3942 | 4134 | ||
3943 | //--多个删除购物车商品--- | 4135 | //--多个删除购物车商品--- |