-
mentioned in commit 4223fe7897a8173eb9fda899698218d7afdbaa5a
-
Status changed to merged
-
2. 阶梯团 还差多少人活动最优时,要转化成整形计算
-
2、多条吗商品在切换的时的库存控制 3、 订单列表中立即支付的bug修复
Showing
5 changed files
pages/goods/goodsInfo/goodsInfo.js
@@ -219,6 +219,7 @@ Page({ | @@ -219,6 +219,7 @@ Page({ | ||
219 | new_user: 0, //新用户 | 219 | new_user: 0, //新用户 |
220 | 220 | ||
221 | def_pick_store: null, // 默认的门店 | 221 | def_pick_store: null, // 默认的门店 |
222 | + fir_def_store:null, //客户默认的门店的 | ||
222 | lat: null, //维度 | 223 | lat: null, //维度 |
223 | lon: null, //经度 | 224 | lon: null, //经度 |
224 | 225 | ||
@@ -233,11 +234,13 @@ Page({ | @@ -233,11 +234,13 @@ Page({ | ||
233 | is_collect_load:0, //是不是处理 | 234 | is_collect_load:0, //是不是处理 |
234 | is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 | 235 | is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 |
235 | sales_rules:1, //默认是线上销售 | 236 | sales_rules:1, //默认是线上销售 |
237 | + | ||
238 | + wait_for_user_store:null, | ||
239 | + | ||
236 | }, | 240 | }, |
237 | 241 | ||
238 | //------初始化加载---------- | 242 | //------初始化加载---------- |
239 | onLoad: function(t) { | 243 | onLoad: function(t) { |
240 | - | ||
241 | wx.setNavigationBarTitle({ | 244 | wx.setNavigationBarTitle({ |
242 | title: "商品详情", | 245 | title: "商品详情", |
243 | }) | 246 | }) |
@@ -297,7 +300,6 @@ Page({ | @@ -297,7 +300,6 @@ Page({ | ||
297 | //---如果后台又开等级卡的开关--- | 300 | //---如果后台又开等级卡的开关--- |
298 | if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ | 301 | if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ |
299 | th.setData({rank_switch:true}); | 302 | th.setData({rank_switch:true}); |
300 | - | ||
301 | //---回调卡的列表--- | 303 | //---回调卡的列表--- |
302 | th.getPlusCardType(function(ob){ | 304 | th.getPlusCardType(function(ob){ |
303 | th.setData({card_list:ob.card_list}); | 305 | th.setData({card_list:ob.card_list}); |
@@ -346,38 +348,38 @@ Page({ | @@ -346,38 +348,38 @@ Page({ | ||
346 | clearInterval(w_time); | 348 | clearInterval(w_time); |
347 | var distance = null; | 349 | var distance = null; |
348 | var e=JSON.parse(JSON.stringify(ee)); | 350 | var e=JSON.parse(JSON.stringify(ee)); |
349 | - | ||
350 | 351 | ||
351 | //如果有开启近距离的话,同时距离优不一样了 | 352 | //如果有开启近距离的话,同时距离优不一样了 |
352 | if (that.data.lat != null) { | 353 | if (that.data.lat != null) { |
353 | //如果经纬度有变化的话 | 354 | //如果经纬度有变化的话 |
354 | if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ | 355 | if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ |
356 | + that.data.fir_def_store=e; | ||
355 | that.setData({ | 357 | that.setData({ |
356 | def_pick_store: e, | 358 | def_pick_store: e, |
357 | sto_sele_name: e.pickup_name, | 359 | sto_sele_name: e.pickup_name, |
358 | sto_sele_id: e.pickup_id, | 360 | sto_sele_id: e.pickup_id, |
359 | sto_sele_distr: e.distr_type | 361 | sto_sele_distr: e.distr_type |
360 | }) | 362 | }) |
361 | - }else{ | ||
362 | - //要用接口是获取距离,js的计算不准 | ||
363 | - getApp().request.get("/api/weshop/pickup/list",{ | ||
364 | - data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon}, | ||
365 | - success:function (res) { | ||
366 | - if(res.data.code==0){ | ||
367 | - e=res.data.data.pageData[0]; | ||
368 | - if (e){ | ||
369 | - appd.pk_store=e; | ||
370 | - that.setData({ | ||
371 | - def_pick_store: e, | ||
372 | - sto_sele_name: e.pickup_name, | ||
373 | - sto_sele_id: e.pickup_id, | ||
374 | - sto_sele_distr: e.distr_type | ||
375 | - }) | ||
376 | - } | ||
377 | - | ||
378 | - } | ||
379 | - } | ||
380 | - }) | 363 | + }else{ |
364 | + //要用接口是获取距离,js的计算不准 | ||
365 | + getApp().request.promiseGet("/api/weshop/pickup/list",{ | ||
366 | + data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon}, | ||
367 | + }).then(res=>{ | ||
368 | + if(res.data.code==0){ | ||
369 | + e=res.data.data.pageData[0]; | ||
370 | + if (e){ | ||
371 | + appd.pk_store=e; | ||
372 | + that.data.fir_def_store=e; | ||
373 | + that.setData({ | ||
374 | + def_pick_store: e, | ||
375 | + sto_sele_name: e.pickup_name, | ||
376 | + sto_sele_id: e.pickup_id, | ||
377 | + sto_sele_distr: e.distr_type | ||
378 | + }) | ||
379 | + } | ||
380 | + | ||
381 | + } | ||
382 | + }) | ||
381 | } | 383 | } |
382 | 384 | ||
383 | //e.distance = distance; | 385 | //e.distance = distance; |
@@ -387,18 +389,16 @@ Page({ | @@ -387,18 +389,16 @@ Page({ | ||
387 | }else{ | 389 | }else{ |
388 | if (e) { | 390 | if (e) { |
389 | e.distance = null; | 391 | e.distance = null; |
392 | + that.data.fir_def_store=e; | ||
390 | that.setData({ | 393 | that.setData({ |
391 | def_pick_store: e, | 394 | def_pick_store: e, |
392 | sto_sele_name: e.pickup_name, | 395 | sto_sele_name: e.pickup_name, |
393 | sto_sele_id: e.pickup_id, | 396 | sto_sele_id: e.pickup_id, |
394 | sto_sele_distr: e.distr_type | 397 | sto_sele_distr: e.distr_type |
395 | }) | 398 | }) |
396 | - } | ||
397 | - | ||
398 | - | 399 | + } |
399 | } | 400 | } |
400 | - | ||
401 | - | 401 | + |
402 | }, 500) | 402 | }, 500) |
403 | }); | 403 | }); |
404 | 404 | ||
@@ -549,7 +549,7 @@ Page({ | @@ -549,7 +549,7 @@ Page({ | ||
549 | 549 | ||
550 | //---展示--- | 550 | //---展示--- |
551 | onShow: function() { | 551 | onShow: function() { |
552 | - var goods_list = null,th = this; | 552 | + var goods_list = null,th = this,that=this; |
553 | var ui = setInterval(function () { | 553 | var ui = setInterval(function () { |
554 | goods_list = th.selectComponent("#goods_list"); | 554 | goods_list = th.selectComponent("#goods_list"); |
555 | if (goods_list) { | 555 | if (goods_list) { |
@@ -626,10 +626,49 @@ Page({ | @@ -626,10 +626,49 @@ Page({ | ||
626 | 626 | ||
627 | 627 | ||
628 | //获取统一条形码,普通商品和优惠促销的商品 | 628 | //获取统一条形码,普通商品和优惠促销的商品 |
629 | - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 4 || ee.data.data.prom_type == 5){ | ||
630 | - | ||
631 | - //获取门店 | ||
632 | - ee.get_sto(); | 629 | + if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 4 || ee.data.data.prom_type == 5){ |
630 | + //默认门店要拿下门店库存 | ||
631 | + if(that.data.sales_rules==2 && that.data.is_newsales_rules){ | ||
632 | + //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 | ||
633 | + getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ | ||
634 | + if(th.data.fir_def_store){ | ||
635 | + var lock=0,plist=null; | ||
636 | + //先读取门店的lock,采用链式写法,少用await | ||
637 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | ||
638 | + data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id} | ||
639 | + }).then(res=>{ | ||
640 | + if(res.data.code==0 && res.data.data.total>0){ | ||
641 | + for(var i in res.data.data.pageData) | ||
642 | + lock+=res.data.data.pageData[i].outQty | ||
643 | + } | ||
644 | + //---通过接口获取门店的线下库存信息-- | ||
645 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | ||
646 | + data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} | ||
647 | + }) | ||
648 | + }).then(res=>{ | ||
649 | + if(res.data.code==0 && res.data.data.total>0){ | ||
650 | + plist=res.data.data.pageData[0]; | ||
651 | + } | ||
652 | + if(plist && plist.CanOutQty-lock>0){ | ||
653 | + that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; | ||
654 | + }else{ | ||
655 | + that.data.fir_def_store.CanOutQty=0; | ||
656 | + } | ||
657 | + //--给门店赋值线下库存-- | ||
658 | + th.setData({def_pick_store:that.data.fir_def_store}); | ||
659 | + //获取门店 | ||
660 | + ee.get_sto(); | ||
661 | + }) | ||
662 | + }else{ | ||
663 | + //--获取门店-- | ||
664 | + ee.get_sto(); | ||
665 | + } | ||
666 | + }) | ||
667 | + }else{ | ||
668 | + //获取门店 | ||
669 | + ee.get_sto(); | ||
670 | + } | ||
671 | + | ||
633 | ee.get_sku(o.stoid, t.data.data.sku, gid); | 672 | ee.get_sku(o.stoid, t.data.data.sku, gid); |
634 | } | 673 | } |
635 | else { | 674 | else { |
@@ -1453,6 +1492,7 @@ Page({ | @@ -1453,6 +1492,7 @@ Page({ | ||
1453 | 1492 | ||
1454 | //-----------选择属性的按钮事件---------- | 1493 | //-----------选择属性的按钮事件---------- |
1455 | sele_spec: function(e) { | 1494 | sele_spec: function(e) { |
1495 | + var that=this,ee=this,th=this; | ||
1456 | var gid = e.currentTarget.dataset.gid; | 1496 | var gid = e.currentTarget.dataset.gid; |
1457 | var sku_g = this.data.sku_g; | 1497 | var sku_g = this.data.sku_g; |
1458 | var item = null; | 1498 | var item = null; |
@@ -1466,7 +1506,37 @@ Page({ | @@ -1466,7 +1506,37 @@ Page({ | ||
1466 | sele_g: item, | 1506 | sele_g: item, |
1467 | gid: gid | 1507 | gid: gid |
1468 | }); | 1508 | }); |
1469 | - this.get_sto(); | 1509 | + |
1510 | + this.get_sto(); | ||
1511 | + //默认门店要拿下门店库存 | ||
1512 | + if(that.data.sales_rules==2 && that.data.def_pick_store){ | ||
1513 | + var lock=0,plist=null; | ||
1514 | + //先读取门店的lock,采用链式写法,少用await | ||
1515 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | ||
1516 | + data:{store_id:os.stoid,wareId:ee.data.sele_g.goods_id,storageId:that.data.def_pick_store.pickup_id} | ||
1517 | + }).then(res=>{ | ||
1518 | + if(res.data.code==0 && res.data.data.total>0){ | ||
1519 | + for(var i in res.data.data.pageData) | ||
1520 | + lock+=res.data.data.pageData[i].outQty | ||
1521 | + } | ||
1522 | + //---通过接口获取门店的线下库存信息-- | ||
1523 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | ||
1524 | + data:{storageNos:that.data.def_pick_store.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} | ||
1525 | + }) | ||
1526 | + }).then(res=>{ | ||
1527 | + if(res.data.code==0 && res.data.data.total>0){ | ||
1528 | + plist=res.data.data.pageData[0]; | ||
1529 | + } | ||
1530 | + if(plist && plist.CanOutQty-lock>0){ | ||
1531 | + that.data.def_pick_store.CanOutQty=plist.CanOutQty-lock; | ||
1532 | + }else{ | ||
1533 | + that.data.def_pick_store.CanOutQty=0; | ||
1534 | + } | ||
1535 | + //--给门店赋值线下库存-- | ||
1536 | + th.setData({def_pick_store:that.data.def_pick_store}); | ||
1537 | + }) | ||
1538 | + } | ||
1539 | + | ||
1470 | 1540 | ||
1471 | this.sele_spec_chech_activity(); | 1541 | this.sele_spec_chech_activity(); |
1472 | }, | 1542 | }, |
@@ -1521,7 +1591,7 @@ Page({ | @@ -1521,7 +1591,7 @@ Page({ | ||
1521 | 1591 | ||
1522 | //---------拿出门店分类和门店------------ | 1592 | //---------拿出门店分类和门店------------ |
1523 | get_sto(e) { | 1593 | get_sto(e) { |
1524 | - var th = this; | 1594 | + var th = this,that=this; |
1525 | var timer_get = setInterval(function() { | 1595 | var timer_get = setInterval(function() { |
1526 | if (th.data.is_get_local_ok == 0) return false; | 1596 | if (th.data.is_get_local_ok == 0) return false; |
1527 | var dd = null, | 1597 | var dd = null, |
@@ -1562,6 +1632,7 @@ Page({ | @@ -1562,6 +1632,7 @@ Page({ | ||
1562 | sto_sele_id: e.data.data.pageData[0].pickup_id, | 1632 | sto_sele_id: e.data.data.pageData[0].pickup_id, |
1563 | sto_sele_distr: e.data.data.pageData[0].distr_type | 1633 | sto_sele_distr: e.data.data.pageData[0].distr_type |
1564 | }); | 1634 | }); |
1635 | + th.data.fir_def_store=e.data.data.pageData[0]; | ||
1565 | } | 1636 | } |
1566 | 1637 | ||
1567 | //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- | 1638 | //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- |
@@ -1599,7 +1670,7 @@ Page({ | @@ -1599,7 +1670,7 @@ Page({ | ||
1599 | var th=this; | 1670 | var th=this; |
1600 | //单总量超出5个的时候 | 1671 | //单总量超出5个的时候 |
1601 | if (e.data.data.total > 5) { | 1672 | if (e.data.data.total > 5) { |
1602 | - i.get("/api/weshop/storagecategory/page", { | 1673 | + getApp().request.get("/api/weshop/storagecategory/page", { |
1603 | data: { | 1674 | data: { |
1604 | store_id: o.stoid, | 1675 | store_id: o.stoid, |
1605 | is_show: 1, | 1676 | is_show: 1, |
@@ -1780,10 +1851,11 @@ Page({ | @@ -1780,10 +1851,11 @@ Page({ | ||
1780 | o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; | 1851 | o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; |
1781 | new_list.push(o_plist[kk]); | 1852 | new_list.push(o_plist[kk]); |
1782 | //如果找到默认门店 | 1853 | //如果找到默认门店 |
1783 | - if(def_pick_store && n_item.StorageNo==def_pick_store.pickup_no){ | ||
1784 | - def_pick_store.CanOutQty=n_item.CanOutQty-lock_num; | ||
1785 | - th.setData({def_pick_store:def_pick_store}) | ||
1786 | - is_find_def_store=1; | 1854 | + if(n_item.StorageNo==th.data.fir_def_store.pickup_no){ |
1855 | + th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num; | ||
1856 | + if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id) | ||
1857 | + th.setData({def_pick_store:th.data.fir_def_store}) | ||
1858 | + is_find_def_store=1; | ||
1787 | } | 1859 | } |
1788 | } | 1860 | } |
1789 | break; | 1861 | break; |
@@ -1794,14 +1866,21 @@ Page({ | @@ -1794,14 +1866,21 @@ Page({ | ||
1794 | //数据组装下 | 1866 | //数据组装下 |
1795 | var em={};em.data={};em.data.data={}; | 1867 | var em={};em.data={};em.data.data={}; |
1796 | em.data.data.total=new_list.length; | 1868 | em.data.data.total=new_list.length; |
1797 | - em.data.data.pageData=new_list; | ||
1798 | - | 1869 | + em.data.data.pageData=new_list; |
1870 | + | ||
1871 | + if(th.data.fir_def_store && !is_find_def_store){ | ||
1872 | + th.data.fir_def_store.CanOutQty=0; | ||
1873 | + //--当选择的门店是客户默认的门店的时候-- | ||
1874 | + if(th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) { | ||
1875 | + th.setData({def_pick_store:th.data.fir_def_store}); | ||
1876 | + em.data.data.pageData.unshift(th.data.def_pick_store); | ||
1877 | + }else{ | ||
1878 | + em.data.data.pageData.splice(1,0,th.data.fir_def_store); | ||
1879 | + } | ||
1880 | + } | ||
1881 | + | ||
1799 | //---把数组组装进去--- | 1882 | //---把数组组装进去--- |
1800 | - th.deal_pickup(em); | ||
1801 | - if(th.data.def_pick_store && !is_find_def_store){ | ||
1802 | - th.setData({def_pick_store:null}); | ||
1803 | - } | ||
1804 | - | 1883 | + th.deal_pickup(em); |
1805 | }else{ | 1884 | }else{ |
1806 | th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | 1885 | th.setData({def_pick_store:null,all_sto:null,only_pk:null}) |
1807 | } | 1886 | } |
@@ -2172,7 +2251,7 @@ Page({ | @@ -2172,7 +2251,7 @@ Page({ | ||
2172 | t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); | 2251 | t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); |
2173 | var max_num = 0; | 2252 | var max_num = 0; |
2174 | t.data.data.ct_rylist.forEach(function(val, ind) { | 2253 | t.data.data.ct_rylist.forEach(function(val, ind) { |
2175 | - if (val.rynum > max_num) max_num = val.rynum; | 2254 | + if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum); |
2176 | }) | 2255 | }) |
2177 | t.data.data.max_ct_num = max_num; | 2256 | t.data.data.max_ct_num = max_num; |
2178 | } | 2257 | } |
@@ -3405,7 +3484,7 @@ Page({ | @@ -3405,7 +3484,7 @@ Page({ | ||
3405 | // 选择门店 | 3484 | // 选择门店 |
3406 | choice_store: function(ee) { | 3485 | choice_store: function(ee) { |
3407 | var th = this; | 3486 | var th = this; |
3408 | - //var ind=ee.currentTarget.dataset.ind; | 3487 | + var ind=ee.currentTarget.dataset.ind; |
3409 | var bconfig = th.data.bconfig; | 3488 | var bconfig = th.data.bconfig; |
3410 | 3489 | ||
3411 | if(!th.data.only_pk && !th.data.def_pickpu_list){ | 3490 | if(!th.data.only_pk && !th.data.def_pickpu_list){ |
@@ -3461,25 +3540,63 @@ Page({ | @@ -3461,25 +3540,63 @@ Page({ | ||
3461 | th.get_sto(); | 3540 | th.get_sto(); |
3462 | } | 3541 | } |
3463 | 3542 | ||
3464 | - | ||
3465 | - | ||
3466 | - | ||
3467 | - this.setData({ | ||
3468 | - //open_ind_store: ind, | ||
3469 | - store: 1, | ||
3470 | - openSpecModal: !1, | ||
3471 | - openSpecModal_pt: !1 | ||
3472 | - }) | 3543 | + if(ind!=undefined && ind!=null ){ |
3544 | + this.setData({ | ||
3545 | + open_ind_store: ind, | ||
3546 | + store: 1, | ||
3547 | + openSpecModal: !1, | ||
3548 | + openSpecModal_pt: !1 | ||
3549 | + }) | ||
3550 | + }else{ | ||
3551 | + this.setData({ | ||
3552 | + store: 1, | ||
3553 | + openSpecModal: !1, | ||
3554 | + openSpecModal_pt: !1 | ||
3555 | + }) | ||
3556 | + } | ||
3473 | }, | 3557 | }, |
3474 | //关闭选择门店 | 3558 | //关闭选择门店 |
3475 | close_popup: function(e) { | 3559 | close_popup: function(e) { |
3476 | - | 3560 | + var th=this; |
3477 | this.setData({ | 3561 | this.setData({ |
3478 | store: 0, | 3562 | store: 0, |
3479 | choice_sort_store: 0, | 3563 | choice_sort_store: 0, |
3480 | - sort_store: 0 | 3564 | + sort_store: 0, |
3565 | + fir_pick_index:0, | ||
3566 | + sec_pick_index:0 | ||
3481 | }) | 3567 | }) |
3568 | + | ||
3569 | + var openindstore=this.data.open_ind_store; | ||
3570 | + if (openindstore == 1) { | ||
3571 | + th.setData({ | ||
3572 | + openSpecModal: !0, | ||
3573 | + openSpecModal_ind: openindstore, | ||
3574 | + }); | ||
3575 | + } else if (openindstore == 2) { | ||
3576 | + th.setData({ | ||
3577 | + openSpecModal: !0, | ||
3578 | + openSpecModal_ind: openindstore, | ||
3579 | + }); | ||
3580 | + } | ||
3581 | + else if (openindstore == 4) { //4就是拼团 | ||
3582 | + th.setData({ | ||
3583 | + openSpecModal_pt: 1, //打开拼团购买界面 | ||
3584 | + store: 0, //关闭门店 | ||
3585 | + choice_sort_store: 0, //关闭门店2级 | ||
3586 | + sort_store: 0, //关闭门店2级 | ||
3587 | + }); | ||
3588 | + } | ||
3589 | + else { | ||
3590 | + th.setData({ | ||
3591 | + store: 0, | ||
3592 | + choice_sort_store: 0, | ||
3593 | + sort_store: 0 | ||
3594 | + }) | ||
3595 | + } | ||
3596 | + | ||
3597 | + | ||
3482 | }, | 3598 | }, |
3599 | + | ||
3483 | //选择更多门店 | 3600 | //选择更多门店 |
3484 | more_store: function() { | 3601 | more_store: function() { |
3485 | this.setData({ | 3602 | this.setData({ |
@@ -3509,19 +3626,18 @@ Page({ | @@ -3509,19 +3626,18 @@ Page({ | ||
3509 | sec_pick_index: 0 | 3626 | sec_pick_index: 0 |
3510 | }); | 3627 | }); |
3511 | }, | 3628 | }, |
3629 | + | ||
3512 | choose_for_store_fir: function(e) { | 3630 | choose_for_store_fir: function(e) { |
3513 | var index_c = e.currentTarget.dataset.ind; | 3631 | var index_c = e.currentTarget.dataset.ind; |
3514 | - var th=this; | ||
3515 | - this.check_the_pick(index_c,function(){ | ||
3516 | - th.setData({ | ||
3517 | - fir_pick_index: index_c | ||
3518 | - }) | ||
3519 | - }) | ||
3520 | - | 3632 | + var th=this; |
3633 | + th.setData({ | ||
3634 | + fir_pick_index: index_c | ||
3635 | + }) | ||
3636 | + | ||
3521 | }, | 3637 | }, |
3522 | 3638 | ||
3523 | //如果开启线下库存,已经急速库存才会使用 | 3639 | //如果开启线下库存,已经急速库存才会使用 |
3524 | - async check_the_pick(index,func){ | 3640 | + async check_the_pick(item,func){ |
3525 | var th=this; | 3641 | var th=this; |
3526 | var goodsinfo=th.data.sele_g; | 3642 | var goodsinfo=th.data.sele_g; |
3527 | var erpwareid=goodsinfo.erpwareid; | 3643 | var erpwareid=goodsinfo.erpwareid; |
@@ -3535,18 +3651,8 @@ Page({ | @@ -3535,18 +3651,8 @@ Page({ | ||
3535 | 3651 | ||
3536 | if(this.data.sales_rules!=2 && this.data.is_newsales_rules!=1){ | 3652 | if(this.data.sales_rules!=2 && this.data.is_newsales_rules!=1){ |
3537 | func(); | 3653 | func(); |
3538 | - }else{ | ||
3539 | - var item=null; | ||
3540 | - if (th.data.choice_sort_store == 0) { | ||
3541 | - if (th.data.is_show_sto_cat == 1) { | ||
3542 | - item = th.data.def_pickpu_list[index]; | ||
3543 | - } else { | ||
3544 | - item = th.data.only_pk[index]; //当没有门店分类的时候 | ||
3545 | - } | ||
3546 | - } else { | ||
3547 | - item = th.data.sec_sto.s_arr[index]; | ||
3548 | - } | ||
3549 | - | 3654 | + }else{ |
3655 | + | ||
3550 | //先读取门店的lock | 3656 | //先读取门店的lock |
3551 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | 3657 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ |
3552 | data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id} | 3658 | data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id} |
@@ -3555,8 +3661,7 @@ Page({ | @@ -3555,8 +3661,7 @@ Page({ | ||
3555 | for(var i in res.data.data.pageData ) | 3661 | for(var i in res.data.data.pageData ) |
3556 | lock+=res.data.data.pageData[i].outQty; | 3662 | lock+=res.data.data.pageData[i].outQty; |
3557 | } | 3663 | } |
3558 | - }) | ||
3559 | - | 3664 | + }) |
3560 | //读取线下的门店库存 | 3665 | //读取线下的门店库存 |
3561 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | 3666 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ |
3562 | data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | 3667 | data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} |
@@ -3567,6 +3672,7 @@ Page({ | @@ -3567,6 +3672,7 @@ Page({ | ||
3567 | }) | 3672 | }) |
3568 | 3673 | ||
3569 | if(plist && plist.CanOutQty-lock>0){ | 3674 | if(plist && plist.CanOutQty-lock>0){ |
3675 | + item.CanOutQty=plist.CanOutQty-lock; | ||
3570 | func(); | 3676 | func(); |
3571 | return false; | 3677 | return false; |
3572 | } | 3678 | } |
@@ -3594,144 +3700,142 @@ Page({ | @@ -3594,144 +3700,142 @@ Page({ | ||
3594 | var index = th.data.sec_pick_index; | 3700 | var index = th.data.sec_pick_index; |
3595 | item = th.data.sec_sto.s_arr[index]; | 3701 | item = th.data.sec_sto.s_arr[index]; |
3596 | } | 3702 | } |
3597 | - th.setData({ | ||
3598 | - def_pick_store: item, | ||
3599 | - sto_sele_name: item.pickup_name, | ||
3600 | - sto_sele_id: item.pickup_id, | ||
3601 | - sto_sele_distr: item.distr_type, | ||
3602 | - store: 0, | ||
3603 | - choice_sort_store: 0, | ||
3604 | - fir_pick_index: 0 | ||
3605 | - }); | ||
3606 | - | ||
3607 | - if (openindstore == 1) { | ||
3608 | - th.setData({ | ||
3609 | - openSpecModal: !0, | ||
3610 | - openSpecModal_ind: openindstore, | ||
3611 | - }); | ||
3612 | - } else if (openindstore == 2) { | ||
3613 | - th.setData({ | ||
3614 | - openSpecModal: !0, | ||
3615 | - openSpecModal_ind: openindstore, | ||
3616 | - }); | ||
3617 | - } | ||
3618 | - else if (openindstore == 4) { //4就是拼团 | ||
3619 | - th.setData({ | ||
3620 | - openSpecModal_pt: 1, //打开拼团购买界面 | ||
3621 | - store: 0, //关闭门店 | ||
3622 | - choice_sort_store: 0, //关闭门店2级 | ||
3623 | - sort_store: 0, //关闭门店2级 | ||
3624 | - }); | ||
3625 | - } | ||
3626 | - | ||
3627 | - else { | ||
3628 | - th.setData({ | ||
3629 | - store: 0, | ||
3630 | - choice_sort_store: 0, | ||
3631 | - sort_store: 0 | ||
3632 | - }) | ||
3633 | - } | ||
3634 | - | 3703 | + |
3704 | + //--回调函数的用法-- | ||
3705 | + th.check_the_pick(item,function(){ | ||
3706 | + th.setData({ | ||
3707 | + def_pick_store: item, | ||
3708 | + sto_sele_name: item.pickup_name, | ||
3709 | + sto_sele_id: item.pickup_id, | ||
3710 | + sto_sele_distr: item.distr_type, | ||
3711 | + store: 0, | ||
3712 | + choice_sort_store: 0, | ||
3713 | + fir_pick_index: 0 | ||
3714 | + }); | ||
3715 | + | ||
3716 | + if (openindstore == 1) { | ||
3717 | + th.setData({ | ||
3718 | + openSpecModal: !0, | ||
3719 | + openSpecModal_ind: openindstore, | ||
3720 | + }); | ||
3721 | + } else if (openindstore == 2) { | ||
3722 | + th.setData({ | ||
3723 | + openSpecModal: !0, | ||
3724 | + openSpecModal_ind: openindstore, | ||
3725 | + }); | ||
3726 | + } | ||
3727 | + else if (openindstore == 4) { //4就是拼团 | ||
3728 | + th.setData({ | ||
3729 | + openSpecModal_pt: 1, //打开拼团购买界面 | ||
3730 | + store: 0, //关闭门店 | ||
3731 | + choice_sort_store: 0, //关闭门店2级 | ||
3732 | + sort_store: 0, //关闭门店2级 | ||
3733 | + }); | ||
3734 | + } | ||
3735 | + else { | ||
3736 | + th.setData({ | ||
3737 | + store: 0, | ||
3738 | + choice_sort_store: 0, | ||
3739 | + sort_store: 0 | ||
3740 | + }) | ||
3741 | + } | ||
3742 | + }) | ||
3635 | }, | 3743 | }, |
3636 | //---点击二级之后的选择--- | 3744 | //---点击二级之后的选择--- |
3637 | choose_for_store: function(e) { | 3745 | choose_for_store: function(e) { |
3638 | var index_c = e.currentTarget.dataset.ind; | 3746 | var index_c = e.currentTarget.dataset.ind; |
3639 | - var th=this; | ||
3640 | - th.check_the_pick(index_c,function(){ | ||
3641 | - th.setData({ | 3747 | + var th=this; |
3748 | + th.setData({ | ||
3642 | sec_pick_index: index_c, | 3749 | sec_pick_index: index_c, |
3643 | fir_pick_index: index_c | 3750 | fir_pick_index: index_c |
3644 | - }) | ||
3645 | - }) | 3751 | + }) |
3752 | + | ||
3646 | }, | 3753 | }, |
3647 | //把选择的门店设置成默认的门店def_pick | 3754 | //把选择的门店设置成默认的门店def_pick |
3648 | set_def_pick: function(e) { | 3755 | set_def_pick: function(e) { |
3649 | var th = this; | 3756 | var th = this; |
3650 | var item = null; | 3757 | var item = null; |
3651 | - | ||
3652 | if (th.data.choice_sort_store == 0) { | 3758 | if (th.data.choice_sort_store == 0) { |
3653 | - | ||
3654 | var index = th.data.fir_pick_index; | 3759 | var index = th.data.fir_pick_index; |
3655 | - | ||
3656 | if (th.data.is_show_sto_cat == 1) { | 3760 | if (th.data.is_show_sto_cat == 1) { |
3657 | item = th.data.def_pickpu_list[index]; | 3761 | item = th.data.def_pickpu_list[index]; |
3658 | } else { | 3762 | } else { |
3659 | item = th.data.only_pk[index]; //当没有门店分类的时候 | 3763 | item = th.data.only_pk[index]; //当没有门店分类的时候 |
3660 | - | ||
3661 | } | 3764 | } |
3662 | } else { | 3765 | } else { |
3663 | var index = th.data.sec_pick_index; | 3766 | var index = th.data.sec_pick_index; |
3664 | item = th.data.sec_sto.s_arr[index]; | 3767 | item = th.data.sec_sto.s_arr[index]; |
3665 | } | 3768 | } |
3666 | - | ||
3667 | - var store_id = o.stoid; | ||
3668 | - var user_id = getApp().globalData.user_id; | ||
3669 | - var def_pickup_id = item.pickup_id; | ||
3670 | - | ||
3671 | - getApp().request.put('/api/weshop/users/update', { | ||
3672 | - data: { | ||
3673 | - user_id, | ||
3674 | - def_pickup_id | ||
3675 | - }, | ||
3676 | - success: function(res) { | ||
3677 | - if (res.data.code == 0) { | ||
3678 | - if (th.data.choice_sort_store == 0) th.setData({ | ||
3679 | - fir_pick_index: 0 | ||
3680 | - }); | ||
3681 | - getApp().globalData.pk_store = item; | ||
3682 | - } else { | ||
3683 | - //s.showWarning("设置默认门店地址失败", null, 500, !1); | ||
3684 | - getApp().my_warnning("设置默认门店地址失败",0,th) | ||
3685 | - } | ||
3686 | - | ||
3687 | - } | ||
3688 | - }); | ||
3689 | - | ||
3690 | - th.setData({ | ||
3691 | - def_pick_store: item, | ||
3692 | - sto_sele_name: item.pickup_name, | ||
3693 | - sto_sele_id: item.pickup_id, | ||
3694 | - sto_sele_distr: item.distr_type, | ||
3695 | - store: 0, | ||
3696 | - choice_sort_store: 0 | ||
3697 | - }); | ||
3698 | - | ||
3699 | - | ||
3700 | - var openindstore = th.data.open_ind_store; | ||
3701 | - if (openindstore == 1) { | ||
3702 | - th.setData({ | ||
3703 | - openSpecModal: !0, | ||
3704 | - openSpecModal_ind: openindstore, | ||
3705 | - store: 0, | ||
3706 | - choice_sort_store: 0, | ||
3707 | - sort_store: 0, | ||
3708 | - }); | ||
3709 | - } else if (openindstore == 2) { | ||
3710 | - th.setData({ | ||
3711 | - openSpecModal: !0, | ||
3712 | - openSpecModal_ind: openindstore, | ||
3713 | - store: 0, | ||
3714 | - choice_sort_store: 0, | ||
3715 | - sort_store: 0, | ||
3716 | - }); | ||
3717 | - } | ||
3718 | - else if (openindstore == 4) { //4就是拼团 | ||
3719 | - th.setData({ | ||
3720 | - openSpecModal_pt: 1, //打开拼团购买界面 | ||
3721 | - store: 0, //关闭门店 | ||
3722 | - choice_sort_store: 0, //关闭门店2级 | ||
3723 | - sort_store: 0, //关闭门店2级 | ||
3724 | - }); | ||
3725 | - } | ||
3726 | - | ||
3727 | - else { | ||
3728 | - th.setData({ | ||
3729 | - store: 0, | ||
3730 | - choice_sort_store: 0, | ||
3731 | - sort_store: 0, | ||
3732 | - }) | ||
3733 | - } | ||
3734 | - | 3769 | + |
3770 | + //先设置之前,要判断是不是有库存 | ||
3771 | + th.check_the_pick(item,function(){ | ||
3772 | + var store_id = o.stoid; | ||
3773 | + var user_id = getApp().globalData.user_id; | ||
3774 | + var def_pickup_id = item.pickup_id; | ||
3775 | + | ||
3776 | + getApp().request.put('/api/weshop/users/update', { | ||
3777 | + data: { | ||
3778 | + user_id, | ||
3779 | + def_pickup_id | ||
3780 | + }, | ||
3781 | + success: function(res) { | ||
3782 | + if (res.data.code == 0) { | ||
3783 | + if (th.data.choice_sort_store == 0) th.setData({ | ||
3784 | + fir_pick_index: 0 | ||
3785 | + }); | ||
3786 | + getApp().globalData.pk_store = item; | ||
3787 | + } else { | ||
3788 | + //s.showWarning("设置默认门店地址失败", null, 500, !1); | ||
3789 | + getApp().my_warnning("设置默认门店地址失败",0,th) | ||
3790 | + } | ||
3791 | + | ||
3792 | + } | ||
3793 | + }); | ||
3794 | + | ||
3795 | + th.setData({ | ||
3796 | + def_pick_store: item, | ||
3797 | + sto_sele_name: item.pickup_name, | ||
3798 | + sto_sele_id: item.pickup_id, | ||
3799 | + sto_sele_distr: item.distr_type, | ||
3800 | + store: 0, | ||
3801 | + choice_sort_store: 0 | ||
3802 | + }); | ||
3803 | + | ||
3804 | + var openindstore = th.data.open_ind_store; | ||
3805 | + if (openindstore == 1) { | ||
3806 | + th.setData({ | ||
3807 | + openSpecModal: !0, | ||
3808 | + openSpecModal_ind: openindstore, | ||
3809 | + store: 0, | ||
3810 | + choice_sort_store: 0, | ||
3811 | + sort_store: 0, | ||
3812 | + }); | ||
3813 | + } else if (openindstore == 2) { | ||
3814 | + th.setData({ | ||
3815 | + openSpecModal: !0, | ||
3816 | + openSpecModal_ind: openindstore, | ||
3817 | + store: 0, | ||
3818 | + choice_sort_store: 0, | ||
3819 | + sort_store: 0, | ||
3820 | + }); | ||
3821 | + } | ||
3822 | + else if (openindstore == 4) { //4就是拼团 | ||
3823 | + th.setData({ | ||
3824 | + openSpecModal_pt: 1, //打开拼团购买界面 | ||
3825 | + store: 0, //关闭门店 | ||
3826 | + choice_sort_store: 0, //关闭门店2级 | ||
3827 | + sort_store: 0, //关闭门店2级 | ||
3828 | + }); | ||
3829 | + } | ||
3830 | + | ||
3831 | + else { | ||
3832 | + th.setData({ | ||
3833 | + store: 0, | ||
3834 | + choice_sort_store: 0, | ||
3835 | + sort_store: 0, | ||
3836 | + }) | ||
3837 | + } | ||
3838 | + }) | ||
3735 | }, | 3839 | }, |
3736 | 3840 | ||
3737 | wait_for_store_config: function() { | 3841 | wait_for_store_config: function() { |
pages/goods/goodsInfo/goodsInfo.wxml
@@ -404,7 +404,15 @@ | @@ -404,7 +404,15 @@ | ||
404 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} | 404 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} |
405 | 405 | ||
406 | </view> | 406 | </view> |
407 | - </view> | 407 | + </view> |
408 | + <view class="no_store" wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view> | ||
409 | + <block wx:else> | ||
410 | + <view class="no_store" wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | ||
411 | + <block wx:else> | ||
412 | + <view class="no_store" wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view> | ||
413 | + </block> | ||
414 | + </block> | ||
415 | + | ||
408 | <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view> | 416 | <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view> |
409 | </view> | 417 | </view> |
410 | </view> | 418 | </view> |
@@ -910,11 +918,11 @@ | @@ -910,11 +918,11 @@ | ||
910 | <text class="right-arrow"></text> | 918 | <text class="right-arrow"></text> |
911 | </view> | 919 | </view> |
912 | </view> | 920 | </view> |
913 | - <view wx:if="{{only_pk && !only_pk.length}}">门店库存不足</view> | 921 | + <view wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view> |
914 | <block wx:else> | 922 | <block wx:else> |
915 | - <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">门店库存不足</view> | 923 | + <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
916 | <block wx:else> | 924 | <block wx:else> |
917 | - <view wx:if="{{def_pick_store && def_pick_store.CanOutQty<=0 && sales_rules==2 && prom_type==0}}">门店库存不足</view> | 925 | + <view wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view> |
918 | </block> | 926 | </block> |
919 | </block> | 927 | </block> |
920 | 928 | ||
@@ -960,11 +968,10 @@ | @@ -960,11 +968,10 @@ | ||
960 | <block wx:if="{{!def_pick_store}}"> | 968 | <block wx:if="{{!def_pick_store}}"> |
961 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view> | 969 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view> |
962 | </block> | 970 | </block> |
963 | - <block wx:else> | ||
964 | - | 971 | + <block wx:else> |
965 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> | 972 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> |
966 | <block wx:if="{{sales_rules==2 && prom_type==0}}"> | 973 | <block wx:if="{{sales_rules==2 && prom_type==0}}"> |
967 | - <block wx:if="{{def_pick_store.CanOutQty<=0}}"> | 974 | + <block wx:if="{{!def_pick_store.CanOutQty}}"> |
968 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | 975 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> |
969 | </block> | 976 | </block> |
970 | <block wx:else> | 977 | <block wx:else> |
pages/goods/goodsInfo/goodsInfo.wxss
@@ -2254,7 +2254,7 @@ right:17rpx; top:55rpx; | @@ -2254,7 +2254,7 @@ right:17rpx; top:55rpx; | ||
2254 | height: 90rpx; | 2254 | height: 90rpx; |
2255 | } | 2255 | } |
2256 | .sn_height{ | 2256 | .sn_height{ |
2257 | - height: 170rpx; | 2257 | + min-height: 170rpx; height: auto;padding: 10rpx 0; |
2258 | } | 2258 | } |
2259 | .xc-address_frame .address_frame{ | 2259 | .xc-address_frame .address_frame{ |
2260 | width: 92%; | 2260 | width: 92%; |
@@ -2566,4 +2566,5 @@ border-radius: 55rpx; | @@ -2566,4 +2566,5 @@ border-radius: 55rpx; | ||
2566 | button.custom-service { line-height: normal; border: 0;} | 2566 | button.custom-service { line-height: normal; border: 0;} |
2567 | button.custom-service::after{ | 2567 | button.custom-service::after{ |
2568 | border: 0; | 2568 | border: 0; |
2569 | -} | ||
2570 | \ No newline at end of file | 2569 | \ No newline at end of file |
2570 | +} | ||
2571 | +.no_store{color:#d60021; font-size: 26rpx;} | ||
2571 | \ No newline at end of file | 2572 | \ No newline at end of file |
pages/user/order_detail/order_detail.js
1 | var e = getApp(), r = e.request,rq=r,t = require("../../../utils/util.js"), o = require("../../../utils/common.js"),oo=e.globalData,os=oo.setting; | 1 | var e = getApp(), r = e.request,rq=r,t = require("../../../utils/util.js"), o = require("../../../utils/common.js"),oo=e.globalData,os=oo.setting; |
2 | var regeneratorRuntime = require('../../../utils/runtime.js'); | 2 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
3 | +var ut= require('../../../utils/util.js'); | ||
4 | + | ||
3 | 5 | ||
4 | Page({ | 6 | Page({ |
5 | data: { | 7 | data: { |
@@ -270,10 +272,206 @@ Page({ | @@ -270,10 +272,206 @@ Page({ | ||
270 | }, | 272 | }, |
271 | 273 | ||
272 | //--------立即支付---------- | 274 | //--------立即支付---------- |
273 | - jumpToCart4: function(e) { | ||
274 | - this.data.optionIsGoup ? wx.navigateTo({ | ||
275 | - url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" | ||
276 | - }) : o.jumpToCart4({ | 275 | + async jumpToCart4(e) { |
276 | + var th=this; | ||
277 | + if(this.data.optionIsGoup) | ||
278 | + wx.navigateTo({ | ||
279 | + url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" | ||
280 | + }) | ||
281 | + var order=this.data.order; | ||
282 | + var order_goods=order.order_goods; | ||
283 | + | ||
284 | + for(var i in order_goods){ | ||
285 | + var good=order_goods[i]; | ||
286 | + //如果不是小程序有的功能,直接提示要去3.0处理 | ||
287 | + if(good.prom_type==2 || good.prom_type==3 || good.prom_type==4 || good.prom_type==5){ | ||
288 | + wx.showModal({ | ||
289 | + title: '提示', | ||
290 | + content: '小程序还未有该活动,请到3.0公众号支付' | ||
291 | + }); | ||
292 | + return false; | ||
293 | + } | ||
294 | + | ||
295 | + //要每件每件的商品进行检查,看有么有超出库存,超出限购 | ||
296 | + var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null; | ||
297 | + //获取单品的现在的活动状态 | ||
298 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, { | ||
299 | + }).then(res=>{ | ||
300 | + gg=res.data.data; | ||
301 | + }) | ||
302 | + var limit = gg.viplimited; | ||
303 | + var store_count = gg.store_count; | ||
304 | + | ||
305 | + //---要获得商品,该用户买了多少件,同步应用--- | ||
306 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
307 | + data: { | ||
308 | + store_id: os.stoid, | ||
309 | + user_id: getApp().globalData.user_id, | ||
310 | + goods_id: good.goods_id, | ||
311 | + prom_type: good.prom_type, | ||
312 | + prom_id: good.prom_id | ||
313 | + }, | ||
314 | + }).then(res => { | ||
315 | + var buy_num_data = res.data.data; | ||
316 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
317 | + goodsbuynum = buy_num_data.goodsbuynum; | ||
318 | + }) | ||
319 | + | ||
320 | + var buyed_mum2=goodsbuynum+good.goods_num; | ||
321 | + if (buyed_mum2 > limit && limit > 0) { | ||
322 | + wx.showModal({ | ||
323 | + title: '提示', | ||
324 | + content: gg.goods_name+'购买数量超出商品限购' | ||
325 | + }); | ||
326 | + return false; | ||
327 | + } | ||
328 | + | ||
329 | + if(good.prom_type==1 || good.prom_type==6){ | ||
330 | + if(gg.prom_type!=good.prom_type) { | ||
331 | + wx.showModal({ | ||
332 | + title: '提示', | ||
333 | + content: gg.goods_name+'商品的活动发生了变化' | ||
334 | + }); | ||
335 | + return false; | ||
336 | + } | ||
337 | + | ||
338 | + }else{ | ||
339 | + | ||
340 | + if(gg.prom_type==1 || gg.prom_type==6){ | ||
341 | + var prom=null; | ||
342 | + //---如果是活动的时候--- | ||
343 | + var prom=null,th=this; | ||
344 | + if(gg.prom_type==1){ | ||
345 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{ | ||
346 | + }).then(res=>{ | ||
347 | + if(res.data.code==0){ | ||
348 | + prom=res.data.data; | ||
349 | + } | ||
350 | + }) | ||
351 | + } | ||
352 | + if(gg.prom_type==6){ | ||
353 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{ | ||
354 | + }).then(res=>{ | ||
355 | + if(res.data.code==0){ | ||
356 | + prom=res.data.data; | ||
357 | + } | ||
358 | + }) | ||
359 | + } | ||
360 | + | ||
361 | + if(prom){ | ||
362 | + var t_now=ut.gettimestamp(); | ||
363 | + if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){ | ||
364 | + wx.showModal({ | ||
365 | + title: '提示', | ||
366 | + content: gg.goods_name+'商品的活动发生了变化' | ||
367 | + }); | ||
368 | + return false; | ||
369 | + } | ||
370 | + } | ||
371 | + } | ||
372 | + | ||
373 | + | ||
374 | + var isok=1; | ||
375 | + var card_field=th.data.card_field; | ||
376 | + //如果会员是等级会员,商品有等级价,且不是活动商品 | ||
377 | + if(card_field && gg[card_field]>0){ | ||
378 | + if (good.goods_price != gg[card_field]) isok = 0; | ||
379 | + }else{ | ||
380 | + if (good.goods_price != gg.shop_price) isok = 0; | ||
381 | + | ||
382 | + } | ||
383 | + if(!isok){ | ||
384 | + wx.showModal({ | ||
385 | + title: '提示', | ||
386 | + content: gg.goods_name+'商品的价格发生了变化' | ||
387 | + }); | ||
388 | + return false; | ||
389 | + } | ||
390 | + | ||
391 | + //--如果是线下库存的时候-- | ||
392 | + if(th.data.conf.sales_rules==2){ | ||
393 | + var ob={}; | ||
394 | + await th.check_down_line_next(gg,good.goods_num,order.pickup_id,function(obj){ | ||
395 | + ob=obj; | ||
396 | + }) | ||
397 | + if(ob.code==-1){ | ||
398 | + wx.showModal({ | ||
399 | + title: '提示', | ||
400 | + content: gg.goods_name+'门店库存不足' | ||
401 | + }); | ||
402 | + return false; | ||
403 | + } | ||
404 | + | ||
405 | + }else{ | ||
406 | + if(good.goods_num>store_count){ | ||
407 | + wx.showModal({ | ||
408 | + title: '提示', | ||
409 | + content: gg.goods_name+'商品的库存不足' | ||
410 | + }); | ||
411 | + return false; | ||
412 | + } | ||
413 | + | ||
414 | + } | ||
415 | + } | ||
416 | + | ||
417 | + var prom=null; | ||
418 | + //---如果是活动的时候--- | ||
419 | + var prom=null,goodsinfo=good,th=this; | ||
420 | + if(goodsinfo.prom_type==1){ | ||
421 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | ||
422 | + }).then(res=>{ | ||
423 | + if(res.data.code==0){ | ||
424 | + prom=res.data.data; | ||
425 | + } | ||
426 | + }) | ||
427 | + } | ||
428 | + if(goodsinfo.prom_type==6){ | ||
429 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | ||
430 | + }).then(res=>{ | ||
431 | + if(res.data.code==0){ | ||
432 | + prom=res.data.data; | ||
433 | + } | ||
434 | + }) | ||
435 | + } | ||
436 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | ||
437 | + if(prom){ | ||
438 | + var now=ut.gettimestamp(); | ||
439 | + if(prom.is_end==1 && prom.end_time<now){ | ||
440 | + wx.showModal({ | ||
441 | + title: '提示', | ||
442 | + content: goodsinfo.goods_name+'商品的活动已经结束' | ||
443 | + }); | ||
444 | + return false; | ||
445 | + } | ||
446 | + | ||
447 | + buyed_mum2=promgoodsbuynum+good.goods_num; | ||
448 | + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { | ||
449 | + wx.showModal({ | ||
450 | + title: '提示', | ||
451 | + content: goodsinfo.goods_name+'购买数量超出商品活动限购' | ||
452 | + }); | ||
453 | + return false; | ||
454 | + } | ||
455 | + | ||
456 | + var redis_num = 0; | ||
457 | + //------判断活动是否抢光----- | ||
458 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | ||
459 | + os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, { | ||
460 | + }).then(res => { | ||
461 | + redis_num = res.data.data; | ||
462 | + }); | ||
463 | + | ||
464 | + if (good.goods_num > redis_num) { | ||
465 | + wx.showModal({ | ||
466 | + title: gg.goods_name+'超出商品活动库存', | ||
467 | + }); | ||
468 | + return false; | ||
469 | + } | ||
470 | + } | ||
471 | + | ||
472 | + } | ||
473 | + | ||
474 | + o.jumpToCart4({ | ||
277 | order_sn: this.data.order.order_sn, | 475 | order_sn: this.data.order.order_sn, |
278 | order_amount: this.data.order.order_amount | 476 | order_amount: this.data.order.order_amount |
279 | }, 1); | 477 | }, 1); |
@@ -393,7 +591,48 @@ Page({ | @@ -393,7 +591,48 @@ Page({ | ||
393 | if(item.order_amount==0 || item.user_money==0) return true; | 591 | if(item.order_amount==0 || item.user_money==0) return true; |
394 | } | 592 | } |
395 | return false; | 593 | return false; |
396 | - } | 594 | + }, |
595 | + | ||
596 | + | ||
597 | + | ||
598 | + //---检验线下库存的数量的子函数--- | ||
599 | + async check_down_line_next(gg,num,pick_id,func){ | ||
600 | + | ||
601 | + var lock=0,pick_no,plist; | ||
602 | + //先读取门店的lock | ||
603 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | ||
604 | + data:{store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id} | ||
605 | + }).then(res=>{ | ||
606 | + if(res.data.code==0 && res.data.data.total>0){ | ||
607 | + for(var i in res.data.data.pageData) | ||
608 | + lock+=res.data.data.pageData[i].outQty; | ||
609 | + } | ||
610 | + }) | ||
611 | + //先获取门店的编号 | ||
612 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ | ||
613 | + data:{storeId:os.stoid,goodsId:gg.goods_id,pickupId:pick_id} | ||
614 | + }).then(res=>{ | ||
615 | + if(res.data.code==0){ | ||
616 | + pick_no=res.data.data.pickup_no; | ||
617 | + } | ||
618 | + }) | ||
619 | + //读取线下的门店库存 | ||
620 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | ||
621 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid} | ||
622 | + }).then(res=>{ | ||
623 | + if(res.data.code==0){ | ||
624 | + plist=res.data.data.pageData[0]; | ||
625 | + } | ||
626 | + }) | ||
627 | + var ob={}; ob.code=1; | ||
628 | + if(num>plist.CanOutQty-lock){ | ||
629 | + ob.code=-1; | ||
630 | + ob.CanOutQty=plist.CanOutQty-lock | ||
631 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | ||
632 | + } | ||
633 | + func(ob) | ||
634 | + }, | ||
635 | + | ||
397 | 636 | ||
398 | 637 | ||
399 | 638 |
pages/user/order_list/order_list.js
@@ -422,13 +422,18 @@ Page({ | @@ -422,13 +422,18 @@ Page({ | ||
422 | return false; | 422 | return false; |
423 | } | 423 | } |
424 | 424 | ||
425 | + | ||
426 | + console.log("-----------------111-------------------"); | ||
427 | + | ||
425 | if(good.prom_type==1 || good.prom_type==6){ | 428 | if(good.prom_type==1 || good.prom_type==6){ |
426 | - if(gg.prom_type!=good.prom_type) | ||
427 | - wx.showModal({ | ||
428 | - title: '提示', | ||
429 | - content: gg.goods_name+'商品的活动发生了变化' | ||
430 | - }); | ||
431 | - return false; | 429 | + if(gg.prom_type!=good.prom_type) { |
430 | + wx.showModal({ | ||
431 | + title: '提示', | ||
432 | + content: gg.goods_name+'商品的活动发生了变化' | ||
433 | + }); | ||
434 | + return false; | ||
435 | + } | ||
436 | + | ||
432 | }else{ | 437 | }else{ |
433 | 438 | ||
434 | if(gg.prom_type==1 || gg.prom_type==6){ | 439 | if(gg.prom_type==1 || gg.prom_type==6){ |
@@ -507,6 +512,8 @@ Page({ | @@ -507,6 +512,8 @@ Page({ | ||
507 | 512 | ||
508 | } | 513 | } |
509 | } | 514 | } |
515 | + | ||
516 | + console.log("------------------------------------"); | ||
510 | 517 | ||
511 | var prom=null; | 518 | var prom=null; |
512 | //---如果是活动的时候--- | 519 | //---如果是活动的时候--- |
@@ -604,7 +611,8 @@ Page({ | @@ -604,7 +611,8 @@ Page({ | ||
604 | data:{store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id} | 611 | data:{store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id} |
605 | }).then(res=>{ | 612 | }).then(res=>{ |
606 | if(res.data.code==0 && res.data.data.total>0){ | 613 | if(res.data.code==0 && res.data.data.total>0){ |
607 | - lock=res.data.data.pageData[0].outQty; | 614 | + for(var i in res.data.data.pageData) |
615 | + lock+=res.data.data.pageData[i].outQty; | ||
608 | } | 616 | } |
609 | }) | 617 | }) |
610 | //先获取门店的编号 | 618 | //先获取门店的编号 |