Commit 570ac6b70fe702294373bd1ab078e921e1f321b6
1 parent
83fe91ea
库存不足显示的优化
Showing
1 changed file
with
88 additions
and
28 deletions
pages/goods/goodsInfo/goodsInfo.js
... | ... | @@ -246,6 +246,7 @@ Page({ |
246 | 246 | showPoster: false, |
247 | 247 | hui_condition:null, |
248 | 248 | sto_sele_name_1:'',//分享的门店名称 |
249 | + fir_goods:null, | |
249 | 250 | |
250 | 251 | }, |
251 | 252 | |
... | ... | @@ -428,7 +429,7 @@ Page({ |
428 | 429 | var ee=JSON.parse(JSON.stringify(e)); |
429 | 430 | //--定时器推迟一下-- |
430 | 431 | setTimeout(function () { |
431 | - if(th.data.data) var g_distr_type=th.data.data.distr_type; | |
432 | + if(th.data.fir_goods) var g_distr_type=th.data.fir_goods.distr_type; | |
432 | 433 | //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- |
433 | 434 | if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ |
434 | 435 | //th.data.fir_def_store={}; //赋值空对象 |
... | ... | @@ -448,13 +449,15 @@ Page({ |
448 | 449 | if (that.data.lat != null) { |
449 | 450 | //如果经纬度有变化的话 |
450 | 451 | if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ |
451 | - that.data.fir_def_store=e; | |
452 | - that.setData({ | |
453 | - def_pick_store: e, | |
454 | - sto_sele_name: e.pickup_name, | |
455 | - sto_sele_id: e.pickup_id, | |
456 | - sto_sele_distr: e.distr_type | |
457 | - }) | |
452 | + //that.data.fir_def_store=e; | |
453 | + // that.setData({ | |
454 | + // def_pick_store: e, | |
455 | + // sto_sele_name: e.pickup_name, | |
456 | + // sto_sele_id: e.pickup_id, | |
457 | + // sto_sele_distr: e.distr_type | |
458 | + // }) | |
459 | + that.set_def_storage(e); | |
460 | + | |
458 | 461 | }else{ |
459 | 462 | //要用接口是获取距离,js的计算不准 |
460 | 463 | getApp().request.promiseGet("/api/weshop/pickup/list",{ |
... | ... | @@ -465,19 +468,19 @@ Page({ |
465 | 468 | if (e){ |
466 | 469 | e.is_no_dis=ee.is_no_dis; |
467 | 470 | appd.pk_store=e; |
468 | - that.data.fir_def_store=e; | |
469 | - that.setData({ | |
470 | - def_pick_store: e, | |
471 | - sto_sele_name: e.pickup_name, | |
472 | - sto_sele_id: e.pickup_id, | |
473 | - sto_sele_distr: e.distr_type | |
474 | - }) | |
471 | + // that.data.fir_def_store=e; | |
472 | + // that.setData({ | |
473 | + // def_pick_store: e, | |
474 | + // sto_sele_name: e.pickup_name, | |
475 | + // sto_sele_id: e.pickup_id, | |
476 | + // sto_sele_distr: e.distr_type | |
477 | + // }) | |
478 | + that.set_def_storage(e); | |
475 | 479 | } |
476 | 480 | |
477 | 481 | } |
478 | 482 | }) |
479 | 483 | } |
480 | - | |
481 | 484 | //e.distance = distance; |
482 | 485 | appd.lat=that.data.lat; |
483 | 486 | appd.lon=that.data.lon; |
... | ... | @@ -485,21 +488,75 @@ Page({ |
485 | 488 | }else{ |
486 | 489 | if (e) { |
487 | 490 | e.distance = null; |
488 | - that.data.fir_def_store=e; | |
489 | - that.setData({ | |
490 | - def_pick_store: e, | |
491 | - sto_sele_name: e.pickup_name, | |
492 | - sto_sele_id: e.pickup_id, | |
493 | - sto_sele_distr: e.distr_type | |
494 | - }) | |
491 | + // that.data.fir_def_store=e; | |
492 | + // that.setData({ | |
493 | + // def_pick_store: e, | |
494 | + // sto_sele_name: e.pickup_name, | |
495 | + // sto_sele_id: e.pickup_id, | |
496 | + // sto_sele_distr: e.distr_type | |
497 | + // }) | |
498 | + that.set_def_storage(e); | |
495 | 499 | } |
496 | 500 | } |
497 | 501 | }, 500) |
498 | 502 | },700) |
499 | - | |
500 | - }); | |
501 | - | |
503 | + }); | |
502 | 504 | }, |
505 | + | |
506 | + | |
507 | + //--- 设置一下默认库存的数量 ---- | |
508 | + set_def_storage(ee){ | |
509 | + var that=this,th=this; | |
510 | + getApp().getConfig2(function(e){ | |
511 | + var sales_rules=e.sales_rules; | |
512 | + if(sales_rules==2){ | |
513 | + getApp().waitfor2(that,"wait_for_user_store","fir_goods",function(){ | |
514 | + var lock=0,plist=null; | |
515 | + var gd=that.data.fir_goods; | |
516 | + //先读取门店的lock,采用链式写法,少用await | |
517 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
518 | + data:{store_id:os.stoid,wareId:that.data.fir_goods.goods_id,storageId:ee.pickup_id,pageSize:1000} | |
519 | + }).then(res=>{ | |
520 | + if(res.data.code==0 && res.data.data.total>0){ | |
521 | + for(var i in res.data.data.pageData) | |
522 | + lock+=res.data.data.pageData[i].outQty | |
523 | + } | |
524 | + //---通过接口获取门店的线下库存信息-- | |
525 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
526 | + data:{storageNos:ee.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} | |
527 | + }) | |
528 | + }).then(res=>{ | |
529 | + if(res.data.code==0 && res.data.data.total>0){ | |
530 | + plist=res.data.data.pageData[0]; | |
531 | + } | |
532 | + if(plist && plist.CanOutQty-lock>0){ | |
533 | + ee.CanOutQty=plist.CanOutQty-lock; | |
534 | + }else{ | |
535 | + ee.CanOutQty=0; | |
536 | + } | |
537 | + //--给门店赋值线下库存-- | |
538 | + that.data.fir_def_store=ee; | |
539 | + that.setData({ | |
540 | + def_pick_store: ee, | |
541 | + sto_sele_name: ee.pickup_name, | |
542 | + sto_sele_id: ee.pickup_id, | |
543 | + sto_sele_distr: ee.distr_type | |
544 | + }) | |
545 | + }) | |
546 | + }) | |
547 | + }else{ | |
548 | + that.data.fir_def_store=ee; | |
549 | + that.setData({ | |
550 | + def_pick_store: ee, | |
551 | + sto_sele_name: ee.pickup_name, | |
552 | + sto_sele_id: ee.pickup_id, | |
553 | + sto_sele_distr: ee.distr_type | |
554 | + }) | |
555 | + } | |
556 | + }) | |
557 | + | |
558 | + }, | |
559 | + | |
503 | 560 | |
504 | 561 | //------------程序初始化入口------------- |
505 | 562 | async init(gid) { |
... | ... | @@ -709,7 +766,9 @@ Page({ |
709 | 766 | }); |
710 | 767 | } |
711 | 768 | } |
712 | - | |
769 | + | |
770 | + //-- 把商品的赋值 -- | |
771 | + ee.data.fir_goods=JSON.parse(JSON.stringify(t.data.data)); | |
713 | 772 | ee.check_is_youhui(ee.data.gid); |
714 | 773 | |
715 | 774 | t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); |
... | ... | @@ -758,6 +817,7 @@ Page({ |
758 | 817 | //获取门店 |
759 | 818 | ee.get_sto(); |
760 | 819 | //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 |
820 | + /*--- | |
761 | 821 | getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ |
762 | 822 | if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){ |
763 | 823 | var lock=0,plist=null; |
... | ... | @@ -786,7 +846,7 @@ Page({ |
786 | 846 | th.setData({def_pick_store:that.data.fir_def_store}); |
787 | 847 | }) |
788 | 848 | } |
789 | - }) | |
849 | + })--*/ | |
790 | 850 | }else{ |
791 | 851 | //获取门店 |
792 | 852 | ee.get_sto(); | ... | ... |