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,6 +1359,8 @@ Page({ | ||
| 1359 | } | 1359 | } |
| 1360 | } | 1360 | } |
| 1361 | }, | 1361 | }, |
| 1362 | + | ||
| 1363 | + | ||
| 1362 | //删除商品 | 1364 | //删除商品 |
| 1363 | delete_th_item: function (t) { | 1365 | delete_th_item: function (t) { |
| 1364 | var e = this; | 1366 | var e = this; |
| @@ -1416,28 +1418,37 @@ Page({ | @@ -1416,28 +1418,37 @@ Page({ | ||
| 1416 | var b = t.currentTarget.dataset.pitems; | 1418 | var b = t.currentTarget.dataset.pitems; |
| 1417 | a = this.data.requestData[b].goods[a]; | 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 | var e = { | 1443 | var e = { |
| 1422 | - goods_num: a.goods_num + 1, | 1444 | + goods_num: a.goods_num + 1, |
| 1423 | id: a.id, | 1445 | id: a.id, |
| 1424 | goods_id: a.goods_id, | 1446 | goods_id: a.goods_id, |
| 1425 | store_id: oo.stoid | 1447 | store_id: oo.stoid |
| 1426 | }; | 1448 | }; |
| 1427 | // console.log('goods_num', e.goods_num); | 1449 | // console.log('goods_num', e.goods_num); |
| 1428 | this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); | 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 | subNum: function (t) { | 1454 | subNum: function (t) { |
| @@ -1455,6 +1466,8 @@ Page({ | @@ -1455,6 +1466,8 @@ Page({ | ||
| 1455 | return false; | 1466 | return false; |
| 1456 | } | 1467 | } |
| 1457 | 1468 | ||
| 1469 | + | ||
| 1470 | + | ||
| 1458 | if (1 != a.goods_num) { | 1471 | if (1 != a.goods_num) { |
| 1459 | var e = { | 1472 | var e = { |
| 1460 | goods_num: a.goods_num - 1, | 1473 | goods_num: a.goods_num - 1, |
| @@ -1751,7 +1764,7 @@ Page({ | @@ -1751,7 +1764,7 @@ Page({ | ||
| 1751 | }, | 1764 | }, |
| 1752 | //------门店全选按钮,要判断是否门店的匹配方式一致--------- | 1765 | //------门店全选按钮,要判断是否门店的匹配方式一致--------- |
| 1753 | check_th_all_item: async function (ele) { | 1766 | check_th_all_item: async function (ele) { |
| 1754 | - var e = this, | 1767 | + var e = this,th=this, |
| 1755 | pitems = ele.currentTarget.dataset.pitems, | 1768 | pitems = ele.currentTarget.dataset.pitems, |
| 1756 | item = this.data.requestData[pitems].goods, | 1769 | item = this.data.requestData[pitems].goods, |
| 1757 | sele = this.data.requestData[pitems].selected; | 1770 | sele = this.data.requestData[pitems].selected; |
| @@ -1808,6 +1821,50 @@ Page({ | @@ -1808,6 +1821,50 @@ Page({ | ||
| 1808 | 1821 | ||
| 1809 | for (var i = 0; i < item.length; i++) { | 1822 | for (var i = 0; i < item.length; i++) { |
| 1810 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; | 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 | e.setData({ | 1868 | e.setData({ |
| 1812 | [txt]: Number(!sele), | 1869 | [txt]: Number(!sele), |
| 1813 | }); | 1870 | }); |
| @@ -1829,7 +1886,7 @@ Page({ | @@ -1829,7 +1886,7 @@ Page({ | ||
| 1829 | }, | 1886 | }, |
| 1830 | //---------------单选,也要判断门店的配送方式是否一致-------------- | 1887 | //---------------单选,也要判断门店的配送方式是否一致-------------- |
| 1831 | check_th_item: async function (t) { | 1888 | check_th_item: async function (t) { |
| 1832 | - var e = this, | 1889 | + var e = this,th=this, |
| 1833 | item = t.currentTarget.dataset.item, | 1890 | item = t.currentTarget.dataset.item, |
| 1834 | pitems = t.currentTarget.dataset.pitems; | 1891 | pitems = t.currentTarget.dataset.pitems; |
| 1835 | a = this.data.requestData[pitems].goods[item]; | 1892 | a = this.data.requestData[pitems].goods[item]; |
| @@ -1884,6 +1941,51 @@ Page({ | @@ -1884,6 +1941,51 @@ Page({ | ||
| 1884 | }); | 1941 | }); |
| 1885 | } else { | 1942 | } else { |
| 1886 | var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; | 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 | e.setData({ | 1989 | e.setData({ |
| 1888 | [txt]: Number(!a.selected), | 1990 | [txt]: Number(!a.selected), |
| 1889 | }); | 1991 | }); |
| @@ -2708,7 +2810,43 @@ Page({ | @@ -2708,7 +2810,43 @@ Page({ | ||
| 2708 | }); | 2810 | }); |
| 2709 | th.doCheckAll(); | 2811 | th.doCheckAll(); |
| 2710 | t.goods_num = ob.CanOutQty; | 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 | this.update_cart(t, pitem, item); | 2850 | this.update_cart(t, pitem, item); |
| 2713 | }, | 2851 | }, |
| 2714 | 2852 | ||
| @@ -2792,7 +2930,11 @@ Page({ | @@ -2792,7 +2930,11 @@ Page({ | ||
| 2792 | ob.code = -1; | 2930 | ob.code = -1; |
| 2793 | ob.CanOutQty = plist.CanOutQty - lock | 2931 | ob.CanOutQty = plist.CanOutQty - lock |
| 2794 | if (ob.CanOutQty < 0) ob.CanOutQty = 0; | 2932 | if (ob.CanOutQty < 0) ob.CanOutQty = 0; |
| 2933 | + }else{ | ||
| 2934 | + ob.CanOutQty=plist.CanOutQty-c_num- lock; | ||
| 2795 | } | 2935 | } |
| 2936 | + | ||
| 2937 | + | ||
| 2796 | func(ob) | 2938 | func(ob) |
| 2797 | }, | 2939 | }, |
| 2798 | 2940 |
pages/goods/goodsInfo/buy_com_pop.wxml
| @@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
| 12 | 12 | ||
| 13 | <view class="flex"> | 13 | <view class="flex"> |
| 14 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> | 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 | <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> | 16 | <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> |
| 17 | 可售:{{def_pick_store.CanOutQty}} | 17 | 可售:{{def_pick_store.CanOutQty}} |
| 18 | </view> | 18 | </view> |
pages/goods/goodsInfo/goodsInfo.js
| @@ -2967,6 +2967,9 @@ Page({ | @@ -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 | if(!item.whsle_id) that.check_is_youhui(gid, that.data.is_normal); | 2973 | if(!item.whsle_id) that.check_is_youhui(gid, that.data.is_normal); |
| 2971 | 2974 | ||
| 2972 | //默认门店要拿下门店库存 | 2975 | //默认门店要拿下门店库存 |
| @@ -3006,7 +3009,7 @@ Page({ | @@ -3006,7 +3009,7 @@ Page({ | ||
| 3006 | // that.setData({def_pick_store: that.data.def_pick_store}); | 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 | that.data.def_pick_store.CanOutQty = CanOutQty; | 3013 | that.data.def_pick_store.CanOutQty = CanOutQty; |
| 3011 | //--给门店赋值线下库存-- | 3014 | //--给门店赋值线下库存-- |
| 3012 | that.setData({def_pick_store: that.data.def_pick_store}); | 3015 | that.setData({def_pick_store: that.data.def_pick_store}); |
| @@ -6096,6 +6099,8 @@ Page({ | @@ -6096,6 +6099,8 @@ Page({ | ||
| 6096 | var ind = ee.currentTarget.dataset.ind; | 6099 | var ind = ee.currentTarget.dataset.ind; |
| 6097 | var bconfig = th.data.bconfig; | 6100 | var bconfig = th.data.bconfig; |
| 6098 | 6101 | ||
| 6102 | + debugger | ||
| 6103 | + | ||
| 6099 | //如果开启了,则不在选择门店 | 6104 | //如果开启了,则不在选择门店 |
| 6100 | if(this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store){ | 6105 | if(this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store){ |
| 6101 | return false; | 6106 | return false; |