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; |