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(); | ... | ... |