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 | 552 | |
553 | 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 | 592 | for (var i = 0; i < carr.length; i++) { |
574 | 593 | var item = carr[i]; |
... | ... | @@ -1464,6 +1483,50 @@ Page({ |
1464 | 1483 | t_num = 0, |
1465 | 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 | 1530 | if (e.data.requestData && e.data.requestData.length > 0 && |
1468 | 1531 | e.data.service_data && e.data.service_data.length > 0) { |
1469 | 1532 | wx.showModal({ |
... | ... | @@ -1498,6 +1561,46 @@ Page({ |
1498 | 1561 | for (var j = 0; j < item.length; j++) { |
1499 | 1562 | if (item[j].is_gift) continue; |
1500 | 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 | 1837 | }); |
1735 | 1838 | |
1736 | 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 | 1854 | var check_is_service_selected = 0; |
1738 | 1855 | for (var ii in garr) { |
1739 | 1856 | for (var ij in garr[ii].goods) { |
... | ... | @@ -1797,7 +1914,7 @@ Page({ |
1797 | 1914 | if (ob.code == -1) { |
1798 | 1915 | |
1799 | 1916 | wx.showToast({ |
1800 | - title: '购买数量超出商品库存', | |
1917 | + title: gd_info.goods_name+'购买数量超出商品库存', | |
1801 | 1918 | icon: 'none', |
1802 | 1919 | }); |
1803 | 1920 | |
... | ... | @@ -1817,7 +1934,7 @@ Page({ |
1817 | 1934 | |
1818 | 1935 | if (num > ob.CanOutQty) { |
1819 | 1936 | wx.showToast({ |
1820 | - title: '购买数量超出商品库存', | |
1937 | + title: gd_info.goods_name+'购买数量超出商品库存', | |
1821 | 1938 | icon: 'none', |
1822 | 1939 | }); |
1823 | 1940 | return false; |
... | ... | @@ -1963,6 +2080,15 @@ Page({ |
1963 | 2080 | var garr = e.data.service_data; |
1964 | 2081 | |
1965 | 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 | 2092 | var check_is_service_selected = 0; |
1967 | 2093 | for (var ii in garr) { |
1968 | 2094 | for (var ij in garr[ii].goods) { |
... | ... | @@ -2127,6 +2253,17 @@ Page({ |
2127 | 2253 | iarr = item; |
2128 | 2254 | |
2129 | 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 | 2267 | var check_is_goods_selected = 0; |
2131 | 2268 | for (var ii in garr) { |
2132 | 2269 | for (var ij in garr[ii].goods) { |
... | ... | @@ -2172,6 +2309,16 @@ Page({ |
2172 | 2309 | var garr = e.data.requestData; |
2173 | 2310 | |
2174 | 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 | 2322 | var check_is_goods_selected = 0; |
2176 | 2323 | for (var ii in garr) { |
2177 | 2324 | for (var ij in garr[ii].goods) { |
... | ... | @@ -3938,6 +4085,51 @@ Page({ |
3938 | 4085 | this.setData({ |
3939 | 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 | //--多个删除购物车商品--- | ... | ... |