Commit a513332ec3a51947c158c911502fc2b77f7e9c22
1 parent
551e7b7b
指定门店,购物车的优化, 和积分购普通购买多规格的优化
Showing
3 changed files
with
166 additions
and
19 deletions
pages/cart/cart/cart.js
| ... | ... | @@ -1359,6 +1359,8 @@ Page({ |
| 1359 | 1359 | } |
| 1360 | 1360 | } |
| 1361 | 1361 | }, |
| 1362 | + | |
| 1363 | + | |
| 1362 | 1364 | //删除商品 |
| 1363 | 1365 | delete_th_item: function (t) { |
| 1364 | 1366 | var e = this; |
| ... | ... | @@ -1416,28 +1418,37 @@ Page({ |
| 1416 | 1418 | var b = t.currentTarget.dataset.pitems; |
| 1417 | 1419 | a = this.data.requestData[b].goods[a]; |
| 1418 | 1420 | |
| 1419 | - console.log('add+'); | |
| 1420 | - if (a.goods_num < a.store_count) { | |
| 1421 | + console.log('add+'); | |
| 1422 | + | |
| 1423 | + if(this.data.sales_rules <2 || a.whsle_id || [1,2,4,6,8,9].indexOf(a.prom_type)>-1 ) { | |
| 1424 | + | |
| 1425 | + if (a.goods_num < a.store_count) { | |
| 1426 | + | |
| 1427 | + // wx.showModal({ | |
| 1428 | + // title: '提示', | |
| 1429 | + // content: '购买的数量不能超出库存数量', | |
| 1430 | + // }); | |
| 1431 | + wx.showToast({ | |
| 1432 | + title: '购买的数量不能超出库存数量', | |
| 1433 | + icon: 'none', | |
| 1434 | + }); | |
| 1435 | + // getApp().my_warnning('购买的数量不能超出库存数量', 0, this); | |
| 1436 | + this.data.up_dating = 0; | |
| 1437 | + | |
| 1438 | + return false; | |
| 1439 | + } | |
| 1440 | + } | |
| 1441 | + | |
| 1442 | + | |
| 1421 | 1443 | var e = { |
| 1422 | - goods_num: a.goods_num + 1, | |
| 1444 | + goods_num: a.goods_num + 1, | |
| 1423 | 1445 | id: a.id, |
| 1424 | 1446 | goods_id: a.goods_id, |
| 1425 | 1447 | store_id: oo.stoid |
| 1426 | 1448 | }; |
| 1427 | 1449 | // console.log('goods_num', e.goods_num); |
| 1428 | 1450 | this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); |
| 1429 | - } else { | |
| 1430 | - // wx.showModal({ | |
| 1431 | - // title: '提示', | |
| 1432 | - // content: '购买的数量不能超出库存数量', | |
| 1433 | - // }); | |
| 1434 | - wx.showToast({ | |
| 1435 | - title: '购买的数量不能超出库存数量', | |
| 1436 | - icon: 'none', | |
| 1437 | - }); | |
| 1438 | - // getApp().my_warnning('购买的数量不能超出库存数量', 0, this); | |
| 1439 | - this.data.up_dating = 0; | |
| 1440 | - } | |
| 1451 | + | |
| 1441 | 1452 | }, |
| 1442 | 1453 | //-------------减数量--------------------- |
| 1443 | 1454 | subNum: function (t) { |
| ... | ... | @@ -1455,6 +1466,8 @@ Page({ |
| 1455 | 1466 | return false; |
| 1456 | 1467 | } |
| 1457 | 1468 | |
| 1469 | + | |
| 1470 | + | |
| 1458 | 1471 | if (1 != a.goods_num) { |
| 1459 | 1472 | var e = { |
| 1460 | 1473 | goods_num: a.goods_num - 1, |
| ... | ... | @@ -1751,7 +1764,7 @@ Page({ |
| 1751 | 1764 | }, |
| 1752 | 1765 | //------门店全选按钮,要判断是否门店的匹配方式一致--------- |
| 1753 | 1766 | check_th_all_item: async function (ele) { |
| 1754 | - var e = this, | |
| 1767 | + var e = this,th=this, | |
| 1755 | 1768 | pitems = ele.currentTarget.dataset.pitems, |
| 1756 | 1769 | item = this.data.requestData[pitems].goods, |
| 1757 | 1770 | sele = this.data.requestData[pitems].selected; |
| ... | ... | @@ -1808,6 +1821,50 @@ Page({ |
| 1808 | 1821 | |
| 1809 | 1822 | for (var i = 0; i < item.length; i++) { |
| 1810 | 1823 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; |
| 1824 | + | |
| 1825 | + var gd_info=item[i]; | |
| 1826 | + if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1,2,4,6,8,9].indexOf(gd_info.prom_type)==-1 ) { | |
| 1827 | + var ob = {}; | |
| 1828 | + await th.check_down_line_next(gd_info, pitems, i, gd_info.erpwareid, function (res) { | |
| 1829 | + ob = res; | |
| 1830 | + }); | |
| 1831 | + | |
| 1832 | + if (ob.code == -1) { | |
| 1833 | + | |
| 1834 | + wx.showToast({ | |
| 1835 | + title: '购买数量超出商品库存', | |
| 1836 | + icon: 'none', | |
| 1837 | + }); | |
| 1838 | + | |
| 1839 | + return false; | |
| 1840 | + }else{ | |
| 1841 | + if(th.data.sales_rules==3){ | |
| 1842 | + var goods_id=gd_info.goods_id; | |
| 1843 | + var num=0; | |
| 1844 | + | |
| 1845 | + for (let i = 0; i < th.data.requestData.length; i++) { | |
| 1846 | + if(pitems==i) continue; | |
| 1847 | + var it= th.data.requestData[i].goods.find((e)=>{ | |
| 1848 | + return e.goods_id==goods_id; | |
| 1849 | + }) | |
| 1850 | + if(it && it.selected) num+=it.goods_num | |
| 1851 | + } | |
| 1852 | + | |
| 1853 | + if(num>ob.CanOutQty){ | |
| 1854 | + wx.showToast({ | |
| 1855 | + title: '购买数量超出商品库存', | |
| 1856 | + icon: 'none', | |
| 1857 | + }); | |
| 1858 | + | |
| 1859 | + return false; | |
| 1860 | + } | |
| 1861 | + } | |
| 1862 | + } | |
| 1863 | + | |
| 1864 | + } | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1811 | 1868 | e.setData({ |
| 1812 | 1869 | [txt]: Number(!sele), |
| 1813 | 1870 | }); |
| ... | ... | @@ -1829,7 +1886,7 @@ Page({ |
| 1829 | 1886 | }, |
| 1830 | 1887 | //---------------单选,也要判断门店的配送方式是否一致-------------- |
| 1831 | 1888 | check_th_item: async function (t) { |
| 1832 | - var e = this, | |
| 1889 | + var e = this,th=this, | |
| 1833 | 1890 | item = t.currentTarget.dataset.item, |
| 1834 | 1891 | pitems = t.currentTarget.dataset.pitems; |
| 1835 | 1892 | a = this.data.requestData[pitems].goods[item]; |
| ... | ... | @@ -1884,6 +1941,51 @@ Page({ |
| 1884 | 1941 | }); |
| 1885 | 1942 | } else { |
| 1886 | 1943 | var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; |
| 1944 | + var gd_info=a; | |
| 1945 | + | |
| 1946 | + var erpwareid = gd_info.erpwareid; | |
| 1947 | + if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1,2,4,6,8,9].indexOf(gd_info.prom_type)==-1 ) { | |
| 1948 | + var ob = {}; | |
| 1949 | + await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { | |
| 1950 | + ob = res; | |
| 1951 | + }); | |
| 1952 | + | |
| 1953 | + if (ob.code == -1) { | |
| 1954 | + | |
| 1955 | + wx.showToast({ | |
| 1956 | + title: '购买数量超出商品库存', | |
| 1957 | + icon: 'none', | |
| 1958 | + }); | |
| 1959 | + | |
| 1960 | + return false; | |
| 1961 | + }else{ | |
| 1962 | + if(th.data.sales_rules==3){ | |
| 1963 | + var goods_id=gd_info.goods_id; | |
| 1964 | + var num=0; | |
| 1965 | + | |
| 1966 | + for (let i = 0; i < th.data.requestData.length; i++) { | |
| 1967 | + if(pitems==i) continue; | |
| 1968 | + var it= th.data.requestData[i].goods.find((e)=>{ | |
| 1969 | + return e.goods_id==goods_id; | |
| 1970 | + }) | |
| 1971 | + if(it && it.selected) num+=it.goods_num | |
| 1972 | + } | |
| 1973 | + | |
| 1974 | + if(num>ob.CanOutQty){ | |
| 1975 | + wx.showToast({ | |
| 1976 | + title: '购买数量超出商品库存', | |
| 1977 | + icon: 'none', | |
| 1978 | + }); | |
| 1979 | + | |
| 1980 | + return false; | |
| 1981 | + } | |
| 1982 | + } | |
| 1983 | + } | |
| 1984 | + | |
| 1985 | + } | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1887 | 1989 | e.setData({ |
| 1888 | 1990 | [txt]: Number(!a.selected), |
| 1889 | 1991 | }); |
| ... | ... | @@ -2708,7 +2810,43 @@ Page({ |
| 2708 | 2810 | }); |
| 2709 | 2811 | th.doCheckAll(); |
| 2710 | 2812 | t.goods_num = ob.CanOutQty; |
| 2813 | + }else{ | |
| 2814 | + | |
| 2815 | + var this_obj=this.data.requestData[pitem].goods[item]; | |
| 2816 | + | |
| 2817 | + if(th.data.sales_rules==3 && this_obj.selected){ | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + var goods_id=this_obj.goods_id; | |
| 2821 | + | |
| 2822 | + var num=0; | |
| 2823 | + | |
| 2824 | + for (let i = 0; i < this.data.requestData.length; i++) { | |
| 2825 | + if(pitem==i) continue; | |
| 2826 | + var it= this.data.requestData[i].goods.find((e)=>{ | |
| 2827 | + return e.goods_id==goods_id; | |
| 2828 | + }) | |
| 2829 | + if(it && it.selected) num+=it.goods_num | |
| 2830 | + } | |
| 2831 | + | |
| 2832 | + if(num>ob.CanOutQty){ | |
| 2833 | + wx.showToast({ | |
| 2834 | + title: '购买数量超出商品库存', | |
| 2835 | + icon: 'none', | |
| 2836 | + }); | |
| 2837 | + | |
| 2838 | + th.data.up_dating = 0; | |
| 2839 | + return false; | |
| 2840 | + } | |
| 2841 | + | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + } | |
| 2711 | 2845 | } |
| 2846 | + | |
| 2847 | + | |
| 2848 | + | |
| 2849 | + | |
| 2712 | 2850 | this.update_cart(t, pitem, item); |
| 2713 | 2851 | }, |
| 2714 | 2852 | |
| ... | ... | @@ -2792,7 +2930,11 @@ Page({ |
| 2792 | 2930 | ob.code = -1; |
| 2793 | 2931 | ob.CanOutQty = plist.CanOutQty - lock |
| 2794 | 2932 | if (ob.CanOutQty < 0) ob.CanOutQty = 0; |
| 2933 | + }else{ | |
| 2934 | + ob.CanOutQty=plist.CanOutQty-c_num- lock; | |
| 2795 | 2935 | } |
| 2936 | + | |
| 2937 | + | |
| 2796 | 2938 | func(ob) |
| 2797 | 2939 | }, |
| 2798 | 2940 | ... | ... |
pages/goods/goodsInfo/buy_com_pop.wxml
| ... | ... | @@ -12,7 +12,7 @@ |
| 12 | 12 | |
| 13 | 13 | <view class="flex"> |
| 14 | 14 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> |
| 15 | - <block wx:if="{{sales_rules==2}}"> | |
| 15 | + <block wx:if="{{sales_rules>=2}}"> | |
| 16 | 16 | <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> |
| 17 | 17 | 可售:{{def_pick_store.CanOutQty}} |
| 18 | 18 | </view> | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
| ... | ... | @@ -2967,6 +2967,9 @@ Page({ |
| 2967 | 2967 | }); |
| 2968 | 2968 | |
| 2969 | 2969 | |
| 2970 | + if(nor) that.get_sto(1); | |
| 2971 | + else that.get_sto(); | |
| 2972 | + | |
| 2970 | 2973 | if(!item.whsle_id) that.check_is_youhui(gid, that.data.is_normal); |
| 2971 | 2974 | |
| 2972 | 2975 | //默认门店要拿下门店库存 |
| ... | ... | @@ -3006,7 +3009,7 @@ Page({ |
| 3006 | 3009 | // that.setData({def_pick_store: that.data.def_pick_store}); |
| 3007 | 3010 | // }) |
| 3008 | 3011 | |
| 3009 | - that.check_CanOutQty(th.data.sele_g,that.data.def_pick_store,function (CanOutQty){ | |
| 3012 | + that.check_CanOutQty(that.data.sele_g,that.data.def_pick_store,function (CanOutQty){ | |
| 3010 | 3013 | that.data.def_pick_store.CanOutQty = CanOutQty; |
| 3011 | 3014 | //--给门店赋值线下库存-- |
| 3012 | 3015 | that.setData({def_pick_store: that.data.def_pick_store}); |
| ... | ... | @@ -6096,6 +6099,8 @@ Page({ |
| 6096 | 6099 | var ind = ee.currentTarget.dataset.ind; |
| 6097 | 6100 | var bconfig = th.data.bconfig; |
| 6098 | 6101 | |
| 6102 | + debugger | |
| 6103 | + | |
| 6099 | 6104 | //如果开启了,则不在选择门店 |
| 6100 | 6105 | if(this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store){ |
| 6101 | 6106 | return false; | ... | ... |