Commit 660d0b171147ef017d8710ee93065fae35e4a711
合并dev_oa_fu6
Showing
23 changed files
with
1028 additions
and
946 deletions
app.js
@@ -1314,7 +1314,6 @@ App({ | @@ -1314,7 +1314,6 @@ App({ | ||
1314 | var stoid=this.globalData.setting.stoid; | 1314 | var stoid=this.globalData.setting.stoid; |
1315 | var user_id=this.globalData.user_id; | 1315 | var user_id=this.globalData.user_id; |
1316 | 1316 | ||
1317 | - | ||
1318 | this.getConfig2(async function (e){ | 1317 | this.getConfig2(async function (e){ |
1319 | if(e && e.switch_list) conf=JSON.parse(e.switch_list); | 1318 | if(e && e.switch_list) conf=JSON.parse(e.switch_list); |
1320 | if(conf && conf.express_searchtype==1){ | 1319 | if(conf && conf.express_searchtype==1){ |
@@ -1335,7 +1334,43 @@ App({ | @@ -1335,7 +1334,43 @@ App({ | ||
1335 | return true; | 1334 | return true; |
1336 | } | 1335 | } |
1337 | return false; | 1336 | return false; |
1337 | + }, | ||
1338 | + //---- 判断是不是虚拟商品狗阿米 ----- | ||
1339 | + is_virtual(gd){ | ||
1340 | + if(gd.is_virtual==2) return true; | ||
1341 | + return false; | ||
1342 | + }, | ||
1343 | + | ||
1344 | + /** | ||
1345 | + * | ||
1346 | + * @param gd 商品 | ||
1347 | + * @param act 活动 | ||
1348 | + * @param get_type 0默认 1是加和减的时候 | ||
1349 | + */ | ||
1350 | + get_limit_qty(gd,act,get_type){ | ||
1351 | + var islimit=gd.erp_islimit; //是不是限购 | ||
1352 | + var limittype=gd.erp_limittype; //不低于0、倍数1 | ||
1353 | + var limitqty=gd.erp_limitqty; //起购量 | ||
1354 | + | ||
1355 | + //-- 如果有活动的时候 -- | ||
1356 | + if(act){ | ||
1357 | + islimit=act.islimit; | ||
1358 | + limittype=act.limittype; | ||
1359 | + limitqty=act.limitqty; | ||
1360 | + } | ||
1361 | + | ||
1362 | + //-- 不是限购的时候,返回1-- | ||
1363 | + if(!islimit) return 1; | ||
1364 | + //-- 默认的时候 -- | ||
1365 | + if(!get_type) return limitqty; | ||
1366 | + //不低于的时候,加减的时候 | ||
1367 | + if(!limittype) return 1; | ||
1368 | + //倍数,加减的时候 | ||
1369 | + return limitqty; | ||
1338 | 1370 | ||
1339 | } | 1371 | } |
1340 | 1372 | ||
1373 | + | ||
1374 | + | ||
1375 | + | ||
1341 | }); | 1376 | }); |
components/diy_seckill/diy_seckill.wxml
@@ -481,52 +481,12 @@ | @@ -481,52 +481,12 @@ | ||
481 | </view> | 481 | </view> |
482 | </block> | 482 | </block> |
483 | 483 | ||
484 | -<<<<<<< HEAD | ||
485 | - <view class="o1_right"> | ||
486 | - <view class="sp_wzi ellipsis-2">{{aitem.goods_name}}</view> | ||
487 | - <view class="o1_sj_kill"> | ||
488 | - <text>{{aitem.djs.day}}</text> 天 | ||
489 | - <text>{{aitem.djs.hou}}</text> : | ||
490 | - <text>{{aitem.djs.min}}</text> : | ||
491 | - <text>{{aitem.djs.sec}}</text> | ||
492 | - | ||
493 | - </view> | ||
494 | - <view class="money"> | ||
495 | - <view class='sp_jg'>¥{{aitem.price}}</view> | ||
496 | -<!-- <view class='sp_jgx'>¥{{aitem.market_price}}</view>--> | ||
497 | - </view> | ||
498 | - <block wx:if="{{aitem.status == 0}}"> | ||
499 | - <view class="rob"> | ||
500 | - <view class="wo" style="background-color: #adadad">正在预热</view> | ||
501 | - </view> | ||
502 | - </block> | ||
503 | - | ||
504 | - <block wx:if="{{aitem.status == 3}}"> | ||
505 | - <view class="rob"> | ||
506 | - <view class="wo" style="background-color: #adadad">已结束</view> | ||
507 | - </view> | ||
508 | - </block> | ||
509 | - <block wx:else> | ||
510 | - <block wx:if="{{aitem.status == 1}}"> | ||
511 | - <view class="rob"> | ||
512 | - <view class="wo">我要抢</view> | ||
513 | - </view> | ||
514 | - </block> | ||
515 | - | ||
516 | - <block wx:if="{{aitem.status == 2}}"> | ||
517 | - <view class="rob"> | ||
518 | - <view class="wo" style="background-color: #adadad">已抢光</view> | ||
519 | - </view> | ||
520 | - </block> | ||
521 | - </block> | ||
522 | -======= | ||
523 | <block wx:if="{{aitem.status == 2}}"> | 484 | <block wx:if="{{aitem.status == 2}}"> |
524 | <view class="rob"> | 485 | <view class="rob"> |
525 | <view class="wo" style="background-color: #adadad">已抢光</view> | 486 | <view class="wo" style="background-color: #adadad">已抢光</view> |
526 | </view> | 487 | </view> |
527 | </block> | 488 | </block> |
528 | </block> | 489 | </block> |
529 | ->>>>>>> dev_component | ||
530 | 490 | ||
531 | 491 | ||
532 | </view> | 492 | </view> |
packageA/pages/goodsInfo/goodsInfo.js
@@ -3894,507 +3894,7 @@ Page({ | @@ -3894,507 +3894,7 @@ Page({ | ||
3894 | }); | 3894 | }); |
3895 | }, | 3895 | }, |
3896 | 3896 | ||
3897 | - | ||
3898 | - | ||
3899 | - | ||
3900 | - | ||
3901 | - | ||
3902 | - | ||
3903 | - //-- 加入购物的函数 -- | ||
3904 | - add_cart_func: function (t) { | ||
3905 | - var i = getApp().request; | ||
3906 | - if (oo.user_id == null) { | ||
3907 | - return s.my_warnning("还未登录!", 0, this); | ||
3908 | - } | ||
3909 | - | ||
3910 | - if (!getApp().globalData.userInfo) { | ||
3911 | - return s.my_warnning("还未登录!", 0, this); | ||
3912 | - } | ||
3913 | - | ||
3914 | - var e = this, | ||
3915 | - th = e, | ||
3916 | - a = 0, | ||
3917 | - o = this.data.sele_g; | ||
3918 | - a = o.goods_id; | ||
3919 | - | ||
3920 | - //----------添加到购物车时,要判断限购数量,-------- | ||
3921 | - e.get_buy_num(o, function (ee) { | ||
3922 | - //---判断商品是否超出限购--- | ||
3923 | - if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { | ||
3924 | - if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { | ||
3925 | - // wx.showModal({ | ||
3926 | - // title: '提示', | ||
3927 | - // content: '超出活动限购数量' | ||
3928 | - // }); | ||
3929 | - getApp().my_warnning('超出活动限购数量', 0, self); | ||
3930 | - return false; | ||
3931 | - } | ||
3932 | - } | ||
3933 | - //---判断商品是否超出活动限购--- | ||
3934 | - if ((th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) && !th.data.is_normal) { | ||
3935 | - if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { | ||
3936 | - // wx.showModal({ | ||
3937 | - // title: '提示', | ||
3938 | - // content: '超出活动限购数量' | ||
3939 | - // }); | ||
3940 | - getApp().my_warnning('超出活动限购数量', 0, self); | ||
3941 | - return false; | ||
3942 | - } | ||
3943 | - } | ||
3944 | - | ||
3945 | - if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); | ||
3946 | - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) | ||
3947 | - th.setData({ | ||
3948 | - sto_sele_name: "" | ||
3949 | - }); | ||
3950 | - if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); | ||
3951 | - | ||
3952 | - //--------------此时操作的数据------------ | ||
3953 | - var newd = { | ||
3954 | - goods_id: o.goods_id, | ||
3955 | - goods_num: th.data.goodsInputNum, | ||
3956 | - pick_id: th.data.sto_sele_id, | ||
3957 | - user_id: oo.user_id, | ||
3958 | - store_id: th.data.stoid, | ||
3959 | - goods_price: o.shop_price, | ||
3960 | - member_goods_price: o.shop_price, | ||
3961 | - goods_name: o.goods_name, | ||
3962 | - goods_sn: o.goods_sn, | ||
3963 | - sku: o.sku, | ||
3964 | - prom_id: th.data.sele_g.prom_id, | ||
3965 | - prom_type: th.data.sele_g.prom_type, | ||
3966 | - }; | ||
3967 | - | ||
3968 | - //---是不是从收藏夹出来的--- | ||
3969 | - if (th.data.c_guide_id) { | ||
3970 | - newd['guide_id'] = th.data.c_guide_id; | ||
3971 | - newd['guide_type'] = 2; | ||
3972 | - if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3; | ||
3973 | - } else { | ||
3974 | - if (getApp().globalData.guide_id) { | ||
3975 | - newd['guide_id'] = getApp().globalData.guide_id; | ||
3976 | - newd['guide_type'] = 0; | ||
3977 | - if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1; | ||
3978 | - } | ||
3979 | - } | ||
3980 | - if(getApp().globalData.groupchat_id){ | ||
3981 | - newd['groupchat_id'] = getApp().globalData.groupchat_id; | ||
3982 | - } | ||
3983 | - //让商品带上房间号 | ||
3984 | - //让商品带上房间号 | ||
3985 | - if (th.data.sys_switch.is_skuroom_id == 1) { | ||
3986 | - if (th.data.data.goods_id == getApp().globalData.room_goods_id) { | ||
3987 | - newd.room_id = getApp().globalData.room_id; | ||
3988 | - } | ||
3989 | - } else { | ||
3990 | - if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; | ||
3991 | - } | ||
3992 | - | ||
3993 | - //如果是积分够,is_integral_normal就要有积分购普通购买字段 | ||
3994 | - if (o.prom_type == 4) { | ||
3995 | - newd.is_integral_normal = 1; | ||
3996 | - } | ||
3997 | - | ||
3998 | - //如果有线下取价 | ||
3999 | - if (o.offline_price) { | ||
4000 | - newd.offline_price = o.offline_price; | ||
4001 | - newd.pricing_type = o.pricing_type; | ||
4002 | - } | ||
4003 | - | ||
4004 | - //-----如果是秒杀,团购,积分购,拼团----- | ||
4005 | - if (th.data.prom_type == 1 || th.data.prom_type == 2) { | ||
4006 | - | ||
4007 | - if (th.data.openSpecModal_flash_normal) { | ||
4008 | - | ||
4009 | - newd.prom_type = 0; | ||
4010 | - newd.prom_id = 0; | ||
4011 | - | ||
4012 | - //---如果是线下门店销售的时候--- | ||
4013 | - if (th.data.sales_rules == 2) { | ||
4014 | - var pick = th.get_pick_from_list(th.data.sto_sele_id) | ||
4015 | - //---通过接口获取门店的线下库存信息-- | ||
4016 | - getApp().request.get("/api/weshop/goods/getWareStorages", { | ||
4017 | - data: { | ||
4018 | - storageNos: pick.pickup_no, | ||
4019 | - wareIds: encodeURIComponent(th.data.sele_g.erpwareid), | ||
4020 | - storeId: os.stoid | ||
4021 | - }, | ||
4022 | - success: function (res) { | ||
4023 | - if (res.data.code == 0) { | ||
4024 | - if (res.data.data.pageData.length > 0) { | ||
4025 | - var CanOutQty = res.data.data.pageData[0].CanOutQty; | ||
4026 | - if (CanOutQty < e.data.goodsInputNum) { | ||
4027 | - return s.my_warnning("库存不足!", 0, th); | ||
4028 | - } | ||
4029 | - //在调一次接口,读取商品的预出库的数量,lock | ||
4030 | - getApp().request.get("/api/weshop/order/ware/lock/page", { | ||
4031 | - data: { | ||
4032 | - store_id: os.stoid, | ||
4033 | - wareId: th.data.sele_g.goods_id, | ||
4034 | - storageId: pick.pickup_id, | ||
4035 | - pageSize: 1000 | ||
4036 | - }, | ||
4037 | - success: function (res_data) { | ||
4038 | - if (res_data.data.code == 0 && res_data.data.data.total > 0) { | ||
4039 | - | ||
4040 | - var lock = 0; | ||
4041 | - for (var i in res_data.data.data.pageData) { | ||
4042 | - lock += res_data.data.data.pageData[i].outQty; | ||
4043 | - } | ||
4044 | - | ||
4045 | - if (CanOutQty <= lock) { | ||
4046 | - return s.my_warnning("库存不足!", 0, th); | ||
4047 | - } | ||
4048 | - th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); | ||
4049 | - } else { | ||
4050 | - th.add_cart_next(e, t, a, o, newd, CanOutQty); | ||
4051 | - } | ||
4052 | - } | ||
4053 | - }) | ||
4054 | - } else { | ||
4055 | - return s.my_warnning("库存不足!", 0, th); | ||
4056 | - } | ||
4057 | - | ||
4058 | - } | ||
4059 | - } | ||
4060 | - }) | ||
4061 | - } else { | ||
4062 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | ||
4063 | - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | ||
4064 | - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 | ||
4065 | - } | ||
4066 | - | ||
4067 | - return false; | ||
4068 | - } | ||
4069 | - | ||
4070 | - | ||
4071 | - newd.goods_price = th.data.prom_price; | ||
4072 | - newd.member_goods_price = th.data.prom_price, | ||
4073 | - newd.prom_type = th.data.prom_type; | ||
4074 | - newd.prom_id = th.data.prom_id; | ||
4075 | - | ||
4076 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | ||
4077 | - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | ||
4078 | - | ||
4079 | - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 | ||
4080 | - | ||
4081 | - } else if (o.prom_type == 7) { | ||
4082 | - | ||
4083 | - //判断进行中的活动,是不是要判断线下库存 | ||
4084 | - th.check_zh_acting(function (ee) { | ||
4085 | - newd.prom_id = 0; | ||
4086 | - newd.prom_type = 0; | ||
4087 | - if (ee && th.data.sele_g.act) { | ||
4088 | - newd.prom_id = th.data.sele_g.act.id; | ||
4089 | - newd.prom_type = 7; | ||
4090 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | ||
4091 | - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | ||
4092 | - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 | ||
4093 | - return false; | ||
4094 | - } else { | ||
4095 | - //---如果是线下门店销售的时候--- | ||
4096 | - if (th.data.sales_rules == 2) { | ||
4097 | - var pick = th.get_pick_from_list(th.data.sto_sele_id) | ||
4098 | - //---通过接口获取门店的线下库存信息-- | ||
4099 | - getApp().request.get("/api/weshop/goods/getWareStorages", { | ||
4100 | - data: { | ||
4101 | - storageNos: pick.pickup_no, | ||
4102 | - wareIds: encodeURIComponent(th.data.sele_g.erpwareid), | ||
4103 | - storeId: os.stoid | ||
4104 | - }, | ||
4105 | - success: function (res) { | ||
4106 | - if (res.data.code == 0) { | ||
4107 | - if (res.data.data.pageData.length > 0) { | ||
4108 | - var CanOutQty = res.data.data.pageData[0].CanOutQty; | ||
4109 | - if (CanOutQty < e.data.goodsInputNum) { | ||
4110 | - return s.my_warnning("库存不足!", 0, th); | ||
4111 | - } | ||
4112 | - //在调一次接口,读取商品的预出库的数量,lock | ||
4113 | - getApp().request.get("/api/weshop/order/ware/lock/page", { | ||
4114 | - data: { | ||
4115 | - store_id: os.stoid, | ||
4116 | - wareId: th.data.sele_g.goods_id, | ||
4117 | - storageId: pick.pickup_id, | ||
4118 | - pageSize: 1000 | ||
4119 | - }, | ||
4120 | - success: function (res_data) { | ||
4121 | - if (res_data.data.code == 0 && res_data.data.data.total > 0) { | ||
4122 | - | ||
4123 | - var lock = 0; | ||
4124 | - for (var i in res_data.data.data.pageData) { | ||
4125 | - lock += res_data.data.data.pageData[i].outQty; | ||
4126 | - } | ||
4127 | - | ||
4128 | - if (CanOutQty <= lock) { | ||
4129 | - return s.my_warnning("库存不足!", 0, th); | ||
4130 | - } | ||
4131 | - th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); | ||
4132 | - } else { | ||
4133 | - th.add_cart_next(e, t, a, o, newd, CanOutQty); | ||
4134 | - } | ||
4135 | - } | ||
4136 | - }) | ||
4137 | - } else { | ||
4138 | - return s.my_warnning("库存不足!", 0, th); | ||
4139 | - } | ||
4140 | - | ||
4141 | - } | ||
4142 | - } | ||
4143 | - }) | ||
4144 | - } else { | ||
4145 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | ||
4146 | - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | ||
4147 | - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 | ||
4148 | - } | ||
4149 | - } | ||
4150 | - }) | ||
4151 | - | ||
4152 | - } | ||
4153 | - else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 4 || th.data.prom_type == 5 || th.data.prom_type == 10) { | ||
4154 | - newd.prom_type = 0; | ||
4155 | - newd.prom_id = 0; | ||
4156 | - | ||
4157 | - if (th.data.prom_type == 10) { | ||
4158 | - newd.prom_type = th.data.prom_type; | ||
4159 | - newd.prom_id = th.data.prom_id; | ||
4160 | - } | ||
4161 | - | ||
4162 | - //---如果是线下门店销售的时候--- | ||
4163 | - if (th.data.sales_rules == 2) { | ||
4164 | - var pick = th.get_pick_from_list(th.data.sto_sele_id) | ||
4165 | - //---通过接口获取门店的线下库存信息-- | ||
4166 | - getApp().request.get("/api/weshop/goods/getWareStorages", { | ||
4167 | - data: { | ||
4168 | - storageNos: pick.pickup_no, | ||
4169 | - wareIds: encodeURIComponent(th.data.sele_g.erpwareid), | ||
4170 | - storeId: os.stoid | ||
4171 | - }, | ||
4172 | - success: function (res) { | ||
4173 | - if (res.data.code == 0) { | ||
4174 | - if (res.data.data.pageData.length > 0) { | ||
4175 | - var CanOutQty = res.data.data.pageData[0].CanOutQty; | ||
4176 | - if (CanOutQty < e.data.goodsInputNum) { | ||
4177 | - return s.my_warnning("库存不足!", 0, th); | ||
4178 | - } | ||
4179 | - //在调一次接口,读取商品的预出库的数量,lock | ||
4180 | - getApp().request.get("/api/weshop/order/ware/lock/page", { | ||
4181 | - data: { | ||
4182 | - store_id: os.stoid, | ||
4183 | - wareId: th.data.sele_g.goods_id, | ||
4184 | - storageId: pick.pickup_id, | ||
4185 | - pageSize: 1000 | ||
4186 | - }, | ||
4187 | - success: function (res_data) { | ||
4188 | - if (res_data.data.code == 0 && res_data.data.data.total > 0) { | ||
4189 | - | ||
4190 | - var lock = 0; | ||
4191 | - for (var i in res_data.data.data.pageData) { | ||
4192 | - lock += res_data.data.data.pageData[i].outQty; | ||
4193 | - } | ||
4194 | - | ||
4195 | - if (CanOutQty <= lock) { | ||
4196 | - return s.my_warnning("库存不足!", 0, th); | ||
4197 | - } | ||
4198 | - th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); | ||
4199 | - } else { | ||
4200 | - th.add_cart_next(e, t, a, o, newd, CanOutQty); | ||
4201 | - } | ||
4202 | - } | ||
4203 | - }) | ||
4204 | - } else { | ||
4205 | - return s.my_warnning("库存不足!", 0, th); | ||
4206 | - } | ||
4207 | - | ||
4208 | - } | ||
4209 | - } | ||
4210 | - }) | ||
4211 | - } else { | ||
4212 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | ||
4213 | - if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | ||
4214 | - th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 | ||
4215 | - } | ||
4216 | - } | ||
4217 | - }) | ||
4218 | - }, | ||
4219 | - | ||
4220 | - //---加入购物车的最后一步--- | ||
4221 | - add_cart_next(e, t, a, o, newd, CanOutQty) { | ||
4222 | - var th = this, i = getApp().request; | ||
4223 | - //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ | ||
4224 | - if ((o.prom_type != 1 || o.prom_id <= 0) && ((o.prom_type != 6 && o.prom_type != 4 && o.prom_type != 2 ) || th.data.is_normal)) { | ||
4225 | - var conf = th.data.bconfig; | ||
4226 | - if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) { | ||
4227 | - var s_list = JSON.parse(conf.switch_list); | ||
4228 | - var now = ut.gettimestamp(); | ||
4229 | - | ||
4230 | - | ||
4231 | - var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); | ||
4232 | - var end = new Date(str); | ||
4233 | - end = Date.parse(end) / 1000; | ||
4234 | - | ||
4235 | - //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下-- | ||
4236 | - if (parseInt(s_list.rank_switch) == 2 && end > now) { | ||
4237 | - var card_price = o[getApp().globalData.userInfo['card_field']]; | ||
4238 | - //如果会员有等级价 | ||
4239 | - if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null | ||
4240 | - && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) { | ||
4241 | - newd.goods_price = card_price; | ||
4242 | - newd.member_goods_price = card_price; | ||
4243 | - } | ||
4244 | - } | ||
4245 | - } | ||
4246 | - } | ||
4247 | - | ||
4248 | - //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); | ||
4249 | - if ("add" == t.currentTarget.dataset.action) { | ||
4250 | - | ||
4251 | - if (th.data.prom_goods) { | ||
4252 | - newd.prom_type = 3; | ||
4253 | - newd.prom_id = th.data.prom_goods[0].prom_id; | ||
4254 | - } | ||
4255 | - | ||
4256 | - //----先看会员在购物车中是否加入了该商品----- | ||
4257 | - i.get("/api/weshop/cart/page", { | ||
4258 | - data: { | ||
4259 | - store_id: e.data.stoid, | ||
4260 | - user_id: oo.user_id, | ||
4261 | - goods_id: a, | ||
4262 | - pick_id: e.data.sto_sele_id, | ||
4263 | - prom_type:(newd.prom_type?newd.prom_type:0), | ||
4264 | - state: 0 | ||
4265 | - }, | ||
4266 | - success: function (re) { | ||
4267 | - | ||
4268 | - //-------如果购物车中有相关的数据--------- | ||
4269 | - if (re.data.data.total > 0) { | ||
4270 | - | ||
4271 | - var item = re.data.data.pageData[0]; | ||
4272 | - | ||
4273 | - //判断数量,要看下购物车中有没有该商品 | ||
4274 | - if (CanOutQty) { | ||
4275 | - if (item.goods_num + th.data.goodsInputNum > CanOutQty) { | ||
4276 | - return s.my_warnning("库存不足!", 0, th); | ||
4277 | - } | ||
4278 | - } else { | ||
4279 | - if (item.goods_num + th.data.goodsInputNum > o.store_count) { | ||
4280 | - return s.my_warnning("库存不足!", 0, th); | ||
4281 | - } | ||
4282 | - } | ||
4283 | - | ||
4284 | - var updata = { | ||
4285 | - id: item.id, | ||
4286 | - goods_num: e.data.goodsInputNum + item.goods_num, | ||
4287 | - goods_price: newd.goods_price, | ||
4288 | - member_goods_price: newd.goods_price, | ||
4289 | - store_id: th.data.stoid, | ||
4290 | - }; | ||
4291 | - | ||
4292 | - //---是不是从收藏夹出来的--- | ||
4293 | - if (th.data.c_guide_id) { | ||
4294 | - updata['guide_id'] = th.data.c_guide_id; | ||
4295 | - updata['guide_type'] = 3; //加入购物车之后就变成了3 | ||
4296 | - } else { | ||
4297 | - if (getApp().globalData.guide_id) { | ||
4298 | - updata['guide_id'] = getApp().globalData.guide_id; | ||
4299 | - updata['guide_type'] = 0; | ||
4300 | - } | ||
4301 | - } | ||
4302 | - if(getApp().globalData.groupchat_id){ | ||
4303 | - updata['groupchat_id'] = getApp().globalData.groupchat_id; | ||
4304 | - } | ||
4305 | - i.put("/api/weshop/cart/update", { | ||
4306 | - data: updata, | ||
4307 | - success: function (t) { | ||
4308 | - getApp().my_warnning('加入购物车成功', 1, th, 450); | ||
4309 | - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; | ||
4310 | - th.setData({ | ||
4311 | - cartGoodsNum: c_num | ||
4312 | - }); | ||
4313 | - th.closeSpecModal(); | ||
4314 | - } | ||
4315 | - }); | ||
4316 | - } else { | ||
4317 | - | ||
4318 | - | ||
4319 | - i.post("/api/weshop/cart/save", { | ||
4320 | - data: newd, | ||
4321 | - success: function (t) { | ||
4322 | - getApp().my_warnning('加入购物车成功', 1, th, 450); | ||
4323 | - var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; | ||
4324 | - th.setData({ | ||
4325 | - cartGoodsNum: c_num | ||
4326 | - }); | ||
4327 | - th.closeSpecModal(); | ||
4328 | - } | ||
4329 | - }); | ||
4330 | - } | ||
4331 | - } | ||
4332 | - }); | ||
4333 | - | ||
4334 | - } | ||
4335 | - else { | ||
4336 | - | ||
4337 | - //这一步主要是要让立即购买 走 购物车的逻辑 参与活动 | ||
4338 | - if (newd.prom_type == 10 || newd.prom_type == 7) { | ||
4339 | - //----先看会员在购物车中是否加入了该商品,立即购买的----- | ||
4340 | - getApp().request.get("/api/weshop/cart/page", { | ||
4341 | - data: { | ||
4342 | - store_id: e.data.stoid, | ||
4343 | - user_id: oo.user_id, | ||
4344 | - state: 1 | ||
4345 | - }, | ||
4346 | - success: function (res) { | ||
4347 | - //-------如果购物车中有相关的数据--------- | ||
4348 | - if (res.data.code == 0 && res.data.data.total > 0) { | ||
4349 | - for (let j in res.data.data.pageData) { | ||
4350 | - let item_j = res.data.data.pageData[j]; | ||
4351 | - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; | ||
4352 | - getApp().request.delete(url, {}); | ||
4353 | - } | ||
4354 | - } | ||
4355 | - newd.state = 1; | ||
4356 | - getApp().request.post("/api/weshop/cart/save", { | ||
4357 | - data: newd, | ||
4358 | - success: function (t) { | ||
4359 | - th.closeSpecModal(); | ||
4360 | - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); | ||
4361 | - } | ||
4362 | - }); | ||
4363 | - }, | ||
4364 | - }) | ||
4365 | - return false; | ||
4366 | - } | ||
4367 | - | ||
4368 | - if (th.data.prom_goods) { | ||
4369 | - var prom_d = th.data.prom_goods; | ||
4370 | - for (var i in prom_d) { | ||
4371 | - //判断活动有俩种条件,0元 1件 | ||
4372 | - var condition_t = prom_d[i].prom_type; | ||
4373 | - switch (condition_t) { | ||
4374 | - case 0: //按钱 | ||
4375 | - if (newd.goods_price >= condition_t) { | ||
4376 | - newd.prom_type = 3; | ||
4377 | - newd.prom_id = prom_d[i].prom_id; | ||
4378 | - } | ||
4379 | - break | ||
4380 | - case 1://按购买数量 | ||
4381 | - if (newd.goods_num >= condition_t) { | ||
4382 | - newd.prom_type = 3; | ||
4383 | - newd.prom_id = prom_d[i].prom_id; | ||
4384 | - } | ||
4385 | - break; | ||
4386 | - } | ||
4387 | - } | ||
4388 | - | ||
4389 | - } | ||
4390 | - | ||
4391 | - newd['pick_name'] = th.data.sto_sele_name; | ||
4392 | - newd['pick_dis'] = th.data.sto_sele_distr; | ||
4393 | - th.buyNow(newd); | ||
4394 | - } | ||
4395 | - }, | ||
4396 | - | ||
4397 | - | 3897 | + |
4398 | click_contact:function () { | 3898 | click_contact:function () { |
4399 | getApp().globalData.no_clear=1; | 3899 | getApp().globalData.no_clear=1; |
4400 | }, | 3900 | }, |
packageA/pages/prom_list/prom_list.js
@@ -351,7 +351,7 @@ Page({ | @@ -351,7 +351,7 @@ Page({ | ||
351 | 351 | ||
352 | //获取统一条形码,普通商品和优惠促销的商品 | 352 | //获取统一条形码,普通商品和优惠促销的商品 |
353 | //默认门店要拿下门店库存 | 353 | //默认门店要拿下门店库存 |
354 | - if (that.data.sales_rules >= 2) { | 354 | + if (!getApp().is_virtual(t.data.data) && !t.data.data.whsle_id && that.data.sales_rules >= 2) { |
355 | //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 | 355 | //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 |
356 | getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { | 356 | getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { |
357 | 357 | ||
@@ -1622,12 +1622,12 @@ Page({ | @@ -1622,12 +1622,12 @@ Page({ | ||
1622 | var plist=null; | 1622 | var plist=null; |
1623 | var lock=0; | 1623 | var lock=0; |
1624 | 1624 | ||
1625 | - //---如果是活动的时候--- | ||
1626 | - if(th.data.prom_type==1 || th.data.prom_type==6){ | 1625 | + //---如果是活动的时候,或者是虚拟商品的时候--- |
1626 | + if(th.data.prom_type==1 || th.data.prom_type==6 || getApp().is_virtual(goodsinfo)){ | ||
1627 | func(); return false; | 1627 | func(); return false; |
1628 | } | 1628 | } |
1629 | 1629 | ||
1630 | - if(this.data.sales_rules!=2){ | 1630 | + if(this.data.sales_rules<2){ |
1631 | func(); | 1631 | func(); |
1632 | }else{ | 1632 | }else{ |
1633 | 1633 |
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js
@@ -575,7 +575,9 @@ Page({ | @@ -575,7 +575,9 @@ Page({ | ||
575 | var that = this, th = this; | 575 | var that = this, th = this; |
576 | getApp().getConfig2(function (e) { | 576 | getApp().getConfig2(function (e) { |
577 | var sales_rules = e.sales_rules; | 577 | var sales_rules = e.sales_rules; |
578 | - if (sales_rules >= 2) { | 578 | + |
579 | + //虚拟商品, 代发商品不计算 | ||
580 | + if (!getApp().is_virtual(that.data.fir_goods) && !that.data.fir_goods.whsle_id && sales_rules >= 2) { | ||
579 | getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () { | 581 | getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () { |
580 | var lock = 0, plist = null; | 582 | var lock = 0, plist = null; |
581 | var gd = that.data.fir_goods; | 583 | var gd = that.data.fir_goods; |
@@ -1570,7 +1572,7 @@ Page({ | @@ -1570,7 +1572,7 @@ Page({ | ||
1570 | // title: '提示', | 1572 | // title: '提示', |
1571 | // content: '超出商品限购' | 1573 | // content: '超出商品限购' |
1572 | // }); | 1574 | // }); |
1573 | - getApp().my_warnning('超出商品限购', 0, th); | 1575 | + getApp().my_warnning('超出商品限购', 0, th); |
1574 | return false; | 1576 | return false; |
1575 | } | 1577 | } |
1576 | } | 1578 | } |
@@ -1581,7 +1583,7 @@ Page({ | @@ -1581,7 +1583,7 @@ Page({ | ||
1581 | // title: '提示', | 1583 | // title: '提示', |
1582 | // content: '超出商品活动限购' | 1584 | // content: '超出商品活动限购' |
1583 | // }); | 1585 | // }); |
1584 | - getApp().my_warnning('超出商品活动限购', 0, th); | 1586 | + getApp().my_warnning('超出商品活动限购', 0, th); |
1585 | return false; | 1587 | return false; |
1586 | } | 1588 | } |
1587 | } | 1589 | } |
@@ -1672,7 +1674,7 @@ Page({ | @@ -1672,7 +1674,7 @@ Page({ | ||
1672 | return false; | 1674 | return false; |
1673 | } else { | 1675 | } else { |
1674 | //---如果是线下门店销售的时候--- | 1676 | //---如果是线下门店销售的时候--- |
1675 | - if (th.data.sales_rules >= 2) { | 1677 | + if(!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && th.data.sales_rules >= 2) { |
1676 | var pick = th.get_pick_from_list(th.data.sto_sele_id) | 1678 | var pick = th.get_pick_from_list(th.data.sto_sele_id) |
1677 | //---通过接口获取门店的线下库存信息-- | 1679 | //---通过接口获取门店的线下库存信息-- |
1678 | // getApp().request.get("/api/weshop/goods/getWareStorages", { | 1680 | // getApp().request.get("/api/weshop/goods/getWareStorages", { |
@@ -1748,45 +1750,9 @@ Page({ | @@ -1748,45 +1750,9 @@ Page({ | ||
1748 | newd.prom_id = 0; | 1750 | newd.prom_id = 0; |
1749 | 1751 | ||
1750 | //---如果是线下门店销售的时候--- | 1752 | //---如果是线下门店销售的时候--- |
1751 | - if (th.data.sales_rules >= 2) { | 1753 | + if(!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && th.data.sales_rules >= 2) { |
1752 | var pick = th.get_pick_from_list(th.data.sto_sele_id) | 1754 | var pick = th.get_pick_from_list(th.data.sto_sele_id) |
1753 | - //---通过接口获取门店的线下库存信息-- | ||
1754 | - // getApp().request.get("/api/weshop/goods/getWareStorages", { | ||
1755 | - // data: { storageNos: pick.pickup_no, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid }, | ||
1756 | - // success: function (res) { | ||
1757 | - // if (res.data.code == 0) { | ||
1758 | - // if (res.data.data.pageData.length > 0) { | ||
1759 | - // var CanOutQty = res.data.data.pageData[0].CanOutQty; | ||
1760 | - // if (CanOutQty < e.data.goodsInputNum) { | ||
1761 | - // return s.my_warnning("库存不足!", 0, th); | ||
1762 | - // } | ||
1763 | - // //在调一次接口,读取商品的预出库的数量,lock | ||
1764 | - // getApp().request.get("/api/weshop/order/ware/lock/page", { | ||
1765 | - // data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, storageId: pick.pickup_id, pageSize: 1000 }, | ||
1766 | - // success: function (res_data) { | ||
1767 | - // if (res_data.data.code == 0 && res_data.data.data.total > 0) { | ||
1768 | - // | ||
1769 | - // var lock = 0; | ||
1770 | - // for (var i in res_data.data.data.pageData) { | ||
1771 | - // lock += res_data.data.data.pageData[i].outQty; | ||
1772 | - // } | ||
1773 | - // | ||
1774 | - // if (CanOutQty <= lock) { | ||
1775 | - // return s.my_warnning("库存不足!", 0, th); | ||
1776 | - // } | ||
1777 | - // th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); | ||
1778 | - // } else { | ||
1779 | - // th.add_cart_next(e, t, a, o, newd, CanOutQty); | ||
1780 | - // } | ||
1781 | - // } | ||
1782 | - // }) | ||
1783 | - // } else { | ||
1784 | - // return s.my_warnning("库存不足!", 0, th); | ||
1785 | - // } | ||
1786 | - // | ||
1787 | - // } | ||
1788 | - // } | ||
1789 | - // }) | 1755 | + |
1790 | 1756 | ||
1791 | 1757 | ||
1792 | th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { | 1758 | th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { |
@@ -2188,11 +2154,20 @@ Page({ | @@ -2188,11 +2154,20 @@ Page({ | ||
2188 | 2154 | ||
2189 | //----------增加购买数量----------- | 2155 | //----------增加购买数量----------- |
2190 | addCartNum: function (t) { | 2156 | addCartNum: function (t) { |
2191 | - this.checkCartNum(this.data.goodsInputNum + 1); | 2157 | + |
2158 | + var add_num=1; | ||
2159 | + if(this.data.is_normal == 1){ | ||
2160 | + add_num=getApp().get_limit_qty(this.data.sele_g,0,1); | ||
2161 | + } | ||
2162 | + this.checkCartNum(this.data.goodsInputNum + add_num); | ||
2192 | }, | 2163 | }, |
2193 | //----------减少购买数量----------- | 2164 | //----------减少购买数量----------- |
2194 | subCartNum: function (t) { | 2165 | subCartNum: function (t) { |
2195 | - this.checkCartNum(this.data.goodsInputNum - 1); | 2166 | + var add_num=1; |
2167 | + if(this.data.is_normal == 1){ | ||
2168 | + add_num=getApp().get_limit_qty(this.data.sele_g,0,1); | ||
2169 | + } | ||
2170 | + this.checkCartNum(this.data.goodsInputNum - add_num); | ||
2196 | }, | 2171 | }, |
2197 | //----------输入框输入购买数量----------- | 2172 | //----------输入框输入购买数量----------- |
2198 | inputCartNum: function (t) { | 2173 | inputCartNum: function (t) { |
@@ -2216,6 +2191,7 @@ Page({ | @@ -2216,6 +2191,7 @@ Page({ | ||
2216 | //------检查数量是不是超出限购------ | 2191 | //------检查数量是不是超出限购------ |
2217 | checkCartNum: function (t) { | 2192 | checkCartNum: function (t) { |
2218 | var th = this; | 2193 | var th = this; |
2194 | + var mo_num=getApp().get_limit_qty(th.data.sele_g); | ||
2219 | this.get_buy_num(this.data.sele_g, async function () { | 2195 | this.get_buy_num(this.data.sele_g, async function () { |
2220 | 2196 | ||
2221 | //--判断商品是否超出限购-- | 2197 | //--判断商品是否超出限购-- |
@@ -2269,8 +2245,9 @@ Page({ | @@ -2269,8 +2245,9 @@ Page({ | ||
2269 | } | 2245 | } |
2270 | } | 2246 | } |
2271 | var e = th.data.sele_g.store_count; | 2247 | var e = th.data.sele_g.store_count; |
2272 | - var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 | ||
2273 | - if (th.data.sales_rules >= 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | 2248 | + var p_type = parseInt(th.data.prom_type); //&& p_type!=1 && p_type!=4 |
2249 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && | ||
2250 | + th.data.sales_rules >= 2 && ( [1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | ||
2274 | if (!th.data.def_pick_store) { | 2251 | if (!th.data.def_pick_store) { |
2275 | wx.showModal({ title: '请选择门店', }); | 2252 | wx.showModal({ title: '请选择门店', }); |
2276 | return false; | 2253 | return false; |
@@ -2283,9 +2260,20 @@ Page({ | @@ -2283,9 +2260,20 @@ Page({ | ||
2283 | if (e < t) { | 2260 | if (e < t) { |
2284 | wx.showModal({ title: '库存不足', }); | 2261 | wx.showModal({ title: '库存不足', }); |
2285 | if (e < 0) e = 0; | 2262 | if (e < 0) e = 0; |
2263 | + | ||
2264 | + if(th.data.is_normal == 1){ | ||
2265 | + if(e<mo_num) e=mo_num; | ||
2266 | + } | ||
2267 | + | ||
2286 | th.setData({ goodsInputNum: e }); return false; | 2268 | th.setData({ goodsInputNum: e }); return false; |
2287 | } | 2269 | } |
2288 | t > e || 0 == e ? t = e : t < 1 && (t = 1); | 2270 | t > e || 0 == e ? t = e : t < 1 && (t = 1); |
2271 | + | ||
2272 | + //只有普通商品才有起购数 | ||
2273 | + if(th.data.is_normal == 1){ | ||
2274 | + if(t<mo_num) t=mo_num; | ||
2275 | + } | ||
2276 | + | ||
2289 | th.setData({ goodsInputNum: t }); | 2277 | th.setData({ goodsInputNum: t }); |
2290 | th.is_show_more_buy(); | 2278 | th.is_show_more_buy(); |
2291 | 2279 | ||
@@ -2350,8 +2338,9 @@ Page({ | @@ -2350,8 +2338,9 @@ Page({ | ||
2350 | } | 2338 | } |
2351 | 2339 | ||
2352 | var e = th.data.sele_g.store_count; | 2340 | var e = th.data.sele_g.store_count; |
2353 | - var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 | ||
2354 | - if (th.data.sales_rules >= 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | 2341 | + var p_type = parseInt(th.data.prom_type); //&& p_type!=1 && p_type!=4 |
2342 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && | ||
2343 | + th.data.sales_rules >= 2 && ([1,2,4,6,8,9].indexOf(p_type)== -1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | ||
2355 | if (!th.data.def_pick_store) { | 2344 | if (!th.data.def_pick_store) { |
2356 | wx.showModal({ title: '请选择门店', }); | 2345 | wx.showModal({ title: '请选择门店', }); |
2357 | return false; | 2346 | return false; |
@@ -2983,7 +2972,7 @@ Page({ | @@ -2983,7 +2972,7 @@ Page({ | ||
2983 | 2972 | ||
2984 | 2973 | ||
2985 | //默认门店要拿下门店库存 | 2974 | //默认门店要拿下门店库存 |
2986 | - if (that.data.sales_rules >= 2 && that.data.def_pick_store) { | 2975 | + if (!getApp().is_virtual(item) && !item.whsle_id && that.data.sales_rules >= 2 && that.data.def_pick_store) { |
2987 | var lock = 0, plist = null; | 2976 | var lock = 0, plist = null; |
2988 | // //先读取门店的lock,采用链式写法,少用await | 2977 | // //先读取门店的lock,采用链式写法,少用await |
2989 | // getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | 2978 | // getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
@@ -3213,7 +3202,8 @@ Page({ | @@ -3213,7 +3202,8 @@ Page({ | ||
3213 | th.setData({ all_pick_list: e.data.data.pageData }); | 3202 | th.setData({ all_pick_list: e.data.data.pageData }); |
3214 | 3203 | ||
3215 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- | 3204 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- |
3216 | - if (th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ((th.data.prom_type != 9 && th.data.prom_type != 1 && th.data.prom_type != 6 && th.data.prom_type != 4) || is_normal == 1)) { | 3205 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && |
3206 | + th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1,2,4,6,8,9].indexOf(th.data.prom_type)== -1 || is_normal == 1)) { | ||
3217 | setTimeout(function () { | 3207 | setTimeout(function () { |
3218 | th.deal_pickup_dline(e); | 3208 | th.deal_pickup_dline(e); |
3219 | }, 800) | 3209 | }, 800) |
@@ -4298,7 +4288,10 @@ Page({ | @@ -4298,7 +4288,10 @@ Page({ | ||
4298 | // ind == 1 为普通购买 | 4288 | // ind == 1 为普通购买 |
4299 | openSpecModel_pt: function (e) { | 4289 | openSpecModel_pt: function (e) { |
4300 | 4290 | ||
4301 | - this.setData({ open_ind_store: 9, goodsInputNum: 1 }); | 4291 | + |
4292 | + var mo_num=getApp().get_limit_qty(this.data.sele_g); | ||
4293 | + | ||
4294 | + this.setData({ open_ind_store: 9, goodsInputNum: mo_num }); | ||
4302 | // 判断是否有待支付订单 | 4295 | // 判断是否有待支付订单 |
4303 | var aid = this.data.group_id; | 4296 | var aid = this.data.group_id; |
4304 | var switOn = true; | 4297 | var switOn = true; |
@@ -4472,172 +4465,252 @@ Page({ | @@ -4472,172 +4465,252 @@ Page({ | ||
4472 | //----------添加到购物车时,要判断限购数量,-------- | 4465 | //----------添加到购物车时,要判断限购数量,-------- |
4473 | e.get_buy_num(o, async function (ee) { | 4466 | e.get_buy_num(o, async function (ee) { |
4474 | 4467 | ||
4475 | - //---判断商品是否超出限购--- | ||
4476 | - // if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { | ||
4477 | - // if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { | ||
4478 | - // wx.showModal({ | ||
4479 | - // title: '提示', | ||
4480 | - // content: '超出商品限购' | ||
4481 | - // }); | ||
4482 | - | ||
4483 | - // var num = th.data.prom_buy_limit - th.data.prom_buy_num; | ||
4484 | - // if (num < 0) num = 0; | ||
4485 | - // th.setData({ goodsInputNum: num }) | ||
4486 | - // return false; | ||
4487 | - // } | ||
4488 | - // } | 4468 | + //---判断商品是否超出限购--- |
4469 | + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { | ||
4470 | + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { | ||
4471 | + wx.showModal({ | ||
4472 | + title: '提示', | ||
4473 | + content: '超出商品限购' | ||
4474 | + }); | ||
4489 | 4475 | ||
4490 | - //---判断商品是否超出活动限购,拼团的普通购买不计算活动的限购--- | ||
4491 | - // if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && th.data.is_normal != 1) { | ||
4492 | - // if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { | ||
4493 | - // wx.showModal({ | ||
4494 | - // title: '提示', | ||
4495 | - // content: '超出商品活动限购' | ||
4496 | - // }); | ||
4497 | - | ||
4498 | - // var num = th.data.prom_buy_limit - th.data.prom_buy_num; | ||
4499 | - // if (num < 0) num = 0; | ||
4500 | - // th.setData({ goodsInputNum: num }) | ||
4501 | - // return false; | ||
4502 | - // } | ||
4503 | - // } | 4476 | + var num = th.data.prom_buy_limit - th.data.prom_buy_num; |
4477 | + if (num < 0) num = 0; | ||
4478 | + th.setData({goodsInputNum: num}) | ||
4479 | + return false; | ||
4480 | + } | ||
4481 | + } | ||
4504 | 4482 | ||
4505 | - var redis_num = 0 | ||
4506 | - //不是普通购买的时候 | ||
4507 | - // if (th.data.is_normal != 1) { | ||
4508 | - // //-------判断活动是否抢光--------- | ||
4509 | - // await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/6/" + th.data.sele_g.prom_id, { | ||
4510 | - // 1: 1 | ||
4511 | - // }).then(res => { | ||
4512 | - // redis_num = res.data.data; | ||
4513 | - // }) | ||
4514 | 4483 | ||
4515 | - // if (th.data.goodsInputNum > redis_num) { | ||
4516 | - // wx.showModal({ | ||
4517 | - // title: '提示', | ||
4518 | - // content: '超出商品活动库存' | ||
4519 | - // }); | 4484 | + var redis_num = 0 |
4520 | 4485 | ||
4521 | - // th.setData({ goodsInputNum: redis_num }) | 4486 | + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
4487 | + th.setData({ | ||
4488 | + sto_sele_name: "" | ||
4489 | + }); | ||
4522 | 4490 | ||
4523 | - // return false; | ||
4524 | - // } | ||
4525 | - // } | 4491 | + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); |
4492 | + | ||
4493 | + //--------------此时操作的数据------------ | ||
4494 | + var newd = { | ||
4495 | + goods_id: o.goods_id, | ||
4496 | + goods_num: th.data.goodsInputNum, | ||
4497 | + pick_id: th.data.sto_sele_id, | ||
4498 | + user_id: oo.user_id, | ||
4499 | + store_id: th.data.stoid, | ||
4500 | + goods_price: o.shop_price, | ||
4501 | + goods_name: o.goods_name, | ||
4502 | + goods_sn: o.goods_sn, | ||
4503 | + sku: o.sku, | ||
4504 | + }; | ||
4526 | 4505 | ||
4527 | - // if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); | ||
4528 | - // if (th.data.goodsInputNum > o.store_count) { | ||
4529 | - // th.setData({ goodsInputNum: o.store_count }) | ||
4530 | - // return s.my_warnning("超出商品库存", 0, th); | ||
4531 | - // } | 4506 | + //---是不是从收藏夹出来的--- |
4507 | + if (th.data.c_guide_id) { | ||
4508 | + newd['guide_id'] = th.data.c_guide_id; | ||
4509 | + newd['guide_type'] = 2; | ||
4532 | 4510 | ||
4533 | - if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) | ||
4534 | - th.setData({ | ||
4535 | - sto_sele_name: "" | ||
4536 | - }); | ||
4537 | - if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); | 4511 | + } else { |
4512 | + if (getApp().globalData.guide_id) { | ||
4513 | + newd['guide_id'] = getApp().globalData.guide_id; | ||
4514 | + newd['guide_type'] = 0; | ||
4538 | 4515 | ||
4539 | - //--------------此时操作的数据------------ | ||
4540 | - var newd = { | ||
4541 | - goods_id: o.goods_id, | ||
4542 | - goods_num: th.data.goodsInputNum, | ||
4543 | - pick_id: th.data.sto_sele_id, | ||
4544 | - user_id: oo.user_id, | ||
4545 | - store_id: th.data.stoid, | ||
4546 | - goods_price: o.shop_price, | ||
4547 | - goods_name: o.goods_name, | ||
4548 | - goods_sn: o.goods_sn, | ||
4549 | - sku: o.sku, | ||
4550 | - }; | 4516 | + } |
4517 | + } | ||
4518 | + if (getApp().globalData.groupchat_id) { | ||
4519 | + newd['groupchat_id'] = getApp().globalData.groupchat_id; | ||
4520 | + } | ||
4521 | + //让商品带上房间号 | ||
4522 | + if (th.data.sys_switch.is_skuroom_id == 1) { | ||
4523 | + if (th.data.data.goods_id == getApp().globalData.room_goods_id) { | ||
4524 | + newd.room_id = getApp().globalData.room_id; | ||
4525 | + } | ||
4526 | + } else { | ||
4527 | + if (newd.goods_id == getApp().globalData.room_goods_id) { | ||
4528 | + newd.room_id = getApp().globalData.room_id; | ||
4529 | + } | ||
4530 | + } | ||
4551 | 4531 | ||
4552 | - //---是不是从收藏夹出来的--- | ||
4553 | - if (th.data.c_guide_id) { | ||
4554 | - newd['guide_id'] = th.data.c_guide_id; | ||
4555 | - newd['guide_type'] = 2; | 4532 | + //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ |
4556 | 4533 | ||
4557 | - } else { | ||
4558 | - if (getApp().globalData.guide_id) { | ||
4559 | - newd['guide_id'] = getApp().globalData.guide_id; | ||
4560 | - newd['guide_type'] = 0; | 4534 | + if (th.data.is_normal == 1) { |
4535 | + var conf = th.data.bconfig; | ||
4536 | + if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) { | ||
4537 | + var s_list = JSON.parse(conf.switch_list); | ||
4561 | 4538 | ||
4562 | - } | ||
4563 | - } | ||
4564 | - if(getApp().globalData.groupchat_id){ | ||
4565 | - newd['groupchat_id'] = getApp().globalData.groupchat_id; | ||
4566 | - } | ||
4567 | - //让商品带上房间号 | ||
4568 | - if (th.data.sys_switch.is_skuroom_id == 1) { | ||
4569 | - if (th.data.data.goods_id == getApp().globalData.room_goods_id) { | ||
4570 | - newd.room_id = getApp().globalData.room_id; | ||
4571 | - } | ||
4572 | - } else { | ||
4573 | - if (newd.goods_id == getApp().globalData.room_goods_id) { | ||
4574 | - newd.room_id = getApp().globalData.room_id; | ||
4575 | - } | ||
4576 | - } | 4539 | + var now = ut.gettimestamp(); |
4540 | + | ||
4541 | + var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); | ||
4542 | + var end = new Date(str); | ||
4543 | + end = Date.parse(end) / 1000; | ||
4544 | + | ||
4545 | + //如果后台有开启等级价的功能 | ||
4546 | + if (parseInt(s_list.rank_switch) == 2 && end > now) { | ||
4547 | + var card_price = o[getApp().globalData.userInfo['card_field']]; | ||
4548 | + //如果会员有等级价 | ||
4549 | + if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null | ||
4550 | + && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) { | ||
4551 | + newd.goods_price = card_price; | ||
4552 | + } | ||
4553 | + } | ||
4554 | + } | ||
4577 | 4555 | ||
4578 | - //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ | 4556 | + //---如果是线下门店销售的时候--- |
4557 | + if (!getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2 && !th.data.sele_g.whsle_id) { | ||
4558 | + var pick = th.get_pick_from_list(th.data.sto_sele_id) | ||
4579 | 4559 | ||
4580 | - if (th.data.is_normal == 1) { | ||
4581 | - var conf = th.data.bconfig; | ||
4582 | - if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) { | ||
4583 | - var s_list = JSON.parse(conf.switch_list); | 4560 | + th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { |
4561 | + if (CanOutQty) { | ||
4584 | 4562 | ||
4585 | - var now = ut.gettimestamp(); | 4563 | + if (CanOutQty < e.data.goodsInputNum) { |
4564 | + wx.showToast({ | ||
4565 | + title: '库存不足!', | ||
4566 | + icon: 'none', | ||
4567 | + }); | ||
4568 | + return false; | ||
4569 | + } | ||
4586 | 4570 | ||
4587 | - var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); | ||
4588 | - var end = new Date(str); | ||
4589 | - end = Date.parse(end) / 1000; | 4571 | + th.by_next_func(newd); |
4572 | + } else { | ||
4573 | + wx.showToast({ | ||
4574 | + title: '库存不足!', | ||
4575 | + icon: 'none', | ||
4576 | + }); | ||
4577 | + return false; | ||
4578 | + } | ||
4579 | + }) | ||
4590 | 4580 | ||
4591 | - //如果后台有开启等级价的功能 | ||
4592 | - if (parseInt(s_list.rank_switch) == 2 && end > now) { | ||
4593 | - var card_price = o[getApp().globalData.userInfo['card_field']]; | ||
4594 | - //如果会员有等级价 | ||
4595 | - if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null | ||
4596 | - && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) { | ||
4597 | - newd.goods_price = card_price; | 4581 | + } else { |
4582 | + if (o.store_count <= 0) { | ||
4583 | + wx.showToast({ | ||
4584 | + title: '库存已为空!', | ||
4585 | + icon: 'none', | ||
4586 | + }); | ||
4587 | + return false; | ||
4588 | + //return s.my_warnning("库存已为空!", 0, th); | ||
4589 | + } | ||
4590 | + | ||
4591 | + if (o.store_count < e.data.goodsInputNum) { | ||
4592 | + wx.showToast({ | ||
4593 | + title: '库存不足!', | ||
4594 | + icon: 'none', | ||
4595 | + }); | ||
4596 | + return false; | ||
4597 | + //return s.my_warnning("库存不足!", 0, th); | ||
4598 | + } | ||
4599 | + | ||
4600 | + | ||
4601 | + th.by_next_func(newd); | ||
4598 | } | 4602 | } |
4603 | + return false; | ||
4604 | + | ||
4605 | + | ||
4599 | } | 4606 | } |
4600 | - } | ||
4601 | - } | ||
4602 | 4607 | ||
4603 | 4608 | ||
4604 | - //-----如果是秒杀,团购,积分购,拼团,且不是普通购买----- | ||
4605 | - if (th.data.prom_type == 9 && th.data.is_normal != 1) { | ||
4606 | - newd.goods_price = th.data.prom_price; | ||
4607 | - newd.prom_type = th.data.prom_type; | ||
4608 | - newd.prom_id = th.data.prom_id; | ||
4609 | - //newd.kt_type = th.data.prom_act.kttype; //开团类型 | ||
4610 | - newd.is_pt_tz = 0; | ||
4611 | - //th.data.sto_sele_distr=1; //直接用自提的方式提交 | ||
4612 | - if (newd.kt_type > 1) { | ||
4613 | - newd.is_pt_tz = 1; //开团类型 | 4609 | + //-----如果是秒杀,团购,积分购,拼团,且不是普通购买----- |
4610 | + if (th.data.prom_type == 9 && th.data.is_normal != 1) { | ||
4611 | + newd.goods_price = th.data.prom_price; | ||
4612 | + newd.prom_type = th.data.prom_type; | ||
4613 | + newd.prom_id = th.data.prom_id; | ||
4614 | + //newd.kt_type = th.data.prom_act.kttype; //开团类型 | ||
4615 | + newd.is_pt_tz = 0; | ||
4616 | + //th.data.sto_sele_distr=1; //直接用自提的方式提交 | ||
4617 | + if (newd.kt_type > 1) { | ||
4618 | + newd.is_pt_tz = 1; //开团类型 | ||
4619 | + } | ||
4620 | + if (newd.kt_type == 3) { | ||
4621 | + th.data.sto_sele_distr = 1; | ||
4622 | + } | ||
4623 | + | ||
4624 | + } | ||
4625 | + | ||
4626 | + // else if (th.data.prom_type == 3) { | ||
4627 | + // newd.prom_type = 0; | ||
4628 | + // newd.prom_id = 0; | ||
4629 | + // } | ||
4630 | + | ||
4631 | + th.by_next_func(newd); | ||
4614 | } | 4632 | } |
4615 | - if (newd.kt_type == 3) { | ||
4616 | - th.data.sto_sele_distr = 1; | 4633 | + |
4634 | + | ||
4635 | + ) | ||
4636 | + }, | ||
4637 | + by_next_func(newd){ | ||
4638 | + var th=this; | ||
4639 | + newd['pick_name'] = th.data.sto_sele_name; | ||
4640 | + newd['pick_dis'] = th.data.sto_sele_distr; | ||
4641 | + newd['is_normal'] = th.data.is_normal; | ||
4642 | + | ||
4643 | + if (newd['is_normal']) { | ||
4644 | + newd['is_pd_normal'] = 1; | ||
4645 | + //判断一下有没有全局优惠活动 | ||
4646 | + th.buyNow(newd); | ||
4647 | + } | ||
4648 | + else { | ||
4649 | + // 点击立即参团 | ||
4650 | + th.buyNow_pt(newd); | ||
4651 | + } | ||
4652 | + }, | ||
4653 | + | ||
4654 | + //统一一下获取线下库存的函数 | ||
4655 | + async check_CanOutQty(goodsinfo, item, func) { | ||
4656 | + | ||
4657 | + var sales_rules = this.data.sales_rules; | ||
4658 | + | ||
4659 | + var lock_rq = { | ||
4660 | + store_id: os.stoid, | ||
4661 | + wareId: goodsinfo.goods_id, | ||
4662 | + pageSize: 1000 | ||
4663 | + }; | ||
4664 | + | ||
4665 | + if (sales_rules == 2) { | ||
4666 | + lock_rq.storageId = item.pickup_id | ||
4667 | + } else { | ||
4668 | + lock_rq.appoint_pick_keyid = encodeURIComponent(this.data.appoint_pick_keyid) | ||
4669 | + } | ||
4670 | + | ||
4671 | + var lock = 0; | ||
4672 | + var CanOutQty = 0; | ||
4673 | + var plist = null; | ||
4674 | + //先读取门店的lock | ||
4675 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | ||
4676 | + data: lock_rq | ||
4677 | + }).then(res => { | ||
4678 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
4679 | + for (var i in res.data.data.pageData) | ||
4680 | + lock += res.data.data.pageData[i].outQty; | ||
4617 | } | 4681 | } |
4682 | + }) | ||
4618 | 4683 | ||
4684 | + var sto_req = { | ||
4685 | + wareIds: encodeURIComponent(goodsinfo.erpwareid), | ||
4686 | + storeId: os.stoid | ||
4687 | + } | ||
4688 | + if (sales_rules == 2) { | ||
4689 | + sto_req.storageNos = item.pickup_no | ||
4690 | + } else { | ||
4691 | + sto_req.storageIds = encodeURIComponent(this.data.appoint_pick_keyid) | ||
4619 | } | 4692 | } |
4620 | 4693 | ||
4621 | - // else if (th.data.prom_type == 3) { | ||
4622 | - // newd.prom_type = 0; | ||
4623 | - // newd.prom_id = 0; | ||
4624 | - // } | ||
4625 | 4694 | ||
4626 | - newd['pick_name'] = th.data.sto_sele_name; | ||
4627 | - newd['pick_dis'] = th.data.sto_sele_distr; | ||
4628 | - newd['is_normal'] = th.data.is_normal; | ||
4629 | 4695 | ||
4630 | - if (newd['is_normal']) { | ||
4631 | - newd['is_pd_normal'] = 1; | ||
4632 | - //判断一下有没有全局优惠活动 | ||
4633 | - th.buyNow(newd); | 4696 | + //读取线下的门店库存 |
4697 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | ||
4698 | + data: sto_req | ||
4699 | + }).then(res => { | ||
4700 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
4701 | + plist = res.data.data.pageData[0]; | ||
4702 | + } | ||
4703 | + }) | ||
4704 | + | ||
4705 | + if (plist && plist.CanOutQty - lock > 0) { | ||
4706 | + CanOutQty = plist.CanOutQty - lock; | ||
4634 | } | 4707 | } |
4635 | - else { | ||
4636 | - // 点击立即参团 | ||
4637 | - th.buyNow_pt(newd); | ||
4638 | - }; | ||
4639 | - }) | ||
4640 | - }, | 4708 | + |
4709 | + if (func) func(CanOutQty); | ||
4710 | + | ||
4711 | + }, | ||
4712 | + | ||
4713 | + | ||
4641 | //----------立即购买_pt----------- | 4714 | //----------立即购买_pt----------- |
4642 | buyNow_pt: function (e) { | 4715 | buyNow_pt: function (e) { |
4643 | s.set_b_now(e); | 4716 | s.set_b_now(e); |
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml
@@ -436,7 +436,7 @@ | @@ -436,7 +436,7 @@ | ||
436 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> | 436 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> |
437 | (配送不匹配) | 437 | (配送不匹配) |
438 | </view> | 438 | </view> |
439 | - <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules>=2 && prom_type==0}}"> | 439 | + <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> |
440 | (库存不足) | 440 | (库存不足) |
441 | </view> | 441 | </view> |
442 | </block> | 442 | </block> |
@@ -1064,12 +1064,17 @@ | @@ -1064,12 +1064,17 @@ | ||
1064 | <block wx:if="{{prom_type == 0}}"> | 1064 | <block wx:if="{{prom_type == 0}}"> |
1065 | <view class="flex"> | 1065 | <view class="flex"> |
1066 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> | 1066 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> |
1067 | + <!-- 线下门店销售的时候 --> | ||
1067 | <block wx:if="{{sales_rules>=2}}"> | 1068 | <block wx:if="{{sales_rules>=2}}"> |
1068 | - <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> | ||
1069 | - 可售:{{def_pick_store.CanOutQty}} | ||
1070 | - </view> | ||
1071 | - <view class="spec-goods-stock" wx:else>可售:0</view> | 1069 | + |
1070 | + <block wx:if="{{!filters.is_virtual_gd(sele_g.is_virtual)}}"> | ||
1071 | + <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> | ||
1072 | + 可售:{{def_pick_store.CanOutQty}} | ||
1073 | + </view> | ||
1074 | + <view class="spec-goods-stock" wx:else>可售:0</view> | ||
1075 | + </block> | ||
1072 | </block> | 1076 | </block> |
1077 | + | ||
1073 | <block wx:else> | 1078 | <block wx:else> |
1074 | <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> | 1079 | <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> |
1075 | </block> | 1080 | </block> |
@@ -1105,7 +1110,7 @@ | @@ -1105,7 +1110,7 @@ | ||
1105 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 1110 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
1106 | <block wx:else> | 1111 | <block wx:else> |
1107 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> | 1112 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> |
1108 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules>=2 && prom_type==0}}"> | 1113 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> |
1109 | (库存不足) | 1114 | (库存不足) |
1110 | </view> | 1115 | </view> |
1111 | </block> | 1116 | </block> |
@@ -1177,7 +1182,7 @@ | @@ -1177,7 +1182,7 @@ | ||
1177 | </block> | 1182 | </block> |
1178 | <block wx:else> | 1183 | <block wx:else> |
1179 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> | 1184 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> |
1180 | - <block wx:if="{{sales_rules>=2 && prom_type==0}}"> | 1185 | + <block wx:if="{{!filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> |
1181 | <block wx:if="{{!def_pick_store.CanOutQty}}"> | 1186 | <block wx:if="{{!def_pick_store.CanOutQty}}"> |
1182 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> | 1187 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> |
1183 | 库存不足 | 1188 | 库存不足 |
packageC/pages/presell/cart/cart2.js
@@ -128,8 +128,8 @@ Page({ | @@ -128,8 +128,8 @@ Page({ | ||
128 | 128 | ||
129 | dis_config:null, | 129 | dis_config:null, |
130 | bn_use_commission:0, //是不是使用佣金 | 130 | bn_use_commission:0, //是不是使用佣金 |
131 | - | ||
132 | - same_ok:1 //同城配送按钮控制 | 131 | + same_ok:1, |
132 | + appoint_pick_keyid: '', | ||
133 | 133 | ||
134 | }, | 134 | }, |
135 | onLoad: function (t) { | 135 | onLoad: function (t) { |
@@ -248,7 +248,8 @@ Page({ | @@ -248,7 +248,8 @@ Page({ | ||
248 | sales_rules: ee.sales_rules, | 248 | sales_rules: ee.sales_rules, |
249 | rank_switch: json_d.rank_switch, | 249 | rank_switch: json_d.rank_switch, |
250 | is_default_logistics: is_default_logistics, | 250 | is_default_logistics: is_default_logistics, |
251 | - is_same_city: is_same_city | 251 | + is_same_city: is_same_city, |
252 | + appoint_pick_keyid: json_d.appoint_pick_keyid | ||
252 | }); | 253 | }); |
253 | 254 | ||
254 | var rank_switch = json_d.rank_switch; | 255 | var rank_switch = json_d.rank_switch; |
@@ -1284,7 +1285,7 @@ Page({ | @@ -1284,7 +1285,7 @@ Page({ | ||
1284 | if (gg.is_pd_normal) goods.is_pd_normal = 1; | 1285 | if (gg.is_pd_normal) goods.is_pd_normal = 1; |
1285 | 1286 | ||
1286 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 | 1287 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 |
1287 | - if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 8 && th.data.sales_rules == 2) { | 1288 | + if ([1,2,4,6,8,9].indexOf(goods.prom_type)== -1 && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id && !getApp().is_virtual(th.data.bn_goods)) { |
1288 | var isok = 1; | 1289 | var isok = 1; |
1289 | await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) { | 1290 | await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) { |
1290 | isok = res; | 1291 | isok = res; |
@@ -1552,7 +1553,7 @@ Page({ | @@ -1552,7 +1553,7 @@ Page({ | ||
1552 | } | 1553 | } |
1553 | 1554 | ||
1554 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 | 1555 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 |
1555 | - if (goods.prom_type == 0 && th.data.sales_rules == 2) { | 1556 | + if (goods.prom_type == 0 && th.data.sales_rules >= 2 && !g_item.whsle_id && !getApp().is_virtual(g_item)) { |
1556 | var isok = 1; | 1557 | var isok = 1; |
1557 | await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) { | 1558 | await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) { |
1558 | isok = res; | 1559 | isok = res; |
@@ -1729,26 +1730,38 @@ Page({ | @@ -1729,26 +1730,38 @@ Page({ | ||
1729 | }) | 1730 | }) |
1730 | 1731 | ||
1731 | }, | 1732 | }, |
1733 | + | ||
1734 | + | ||
1735 | + | ||
1732 | //---确认线下门店的数量足不足--- | 1736 | //---确认线下门店的数量足不足--- |
1733 | async check_store_num(goods_id, pick, goods_num, func) { | 1737 | async check_store_num(goods_id, pick, goods_num, func) { |
1734 | var lock = 0, pick_no, plist, erpwareid; | 1738 | var lock = 0, pick_no, plist, erpwareid; |
1739 | + | ||
1740 | + var lock_rq = { store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000 }; | ||
1741 | + if (this.data.sales_rules == 3) { | ||
1742 | + lock_rq.appoint_pick_keyid = this.data.appoint_pick_keyid; | ||
1743 | + delete lock_rq.storageId | ||
1744 | + } | ||
1735 | //先读取门店的lock | 1745 | //先读取门店的lock |
1736 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | 1746 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
1737 | - data: { store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000 } | 1747 | + data:lock_rq |
1738 | }).then(res => { | 1748 | }).then(res => { |
1739 | if (res.data.code == 0 && res.data.data.total > 0) { | 1749 | if (res.data.code == 0 && res.data.data.total > 0) { |
1740 | for (var i in res.data.data.pageData) | 1750 | for (var i in res.data.data.pageData) |
1741 | lock += res.data.data.pageData[i].outQty; | 1751 | lock += res.data.data.pageData[i].outQty; |
1742 | } | 1752 | } |
1743 | }) | 1753 | }) |
1744 | - //先获取门店的编号 | ||
1745 | - await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, { | ||
1746 | - data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } | ||
1747 | - }).then(res => { | ||
1748 | - if (res.data.code == 0) { | ||
1749 | - pick_no = res.data.data.pickup_no; | ||
1750 | - } | ||
1751 | - }) | 1754 | + |
1755 | + if (this.data.sales_rules == 2) { | ||
1756 | + //先获取门店的编号 | ||
1757 | + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, { | ||
1758 | + data: {storeId: os.stoid, goodsId: t.goods_id, pickupId: pick} | ||
1759 | + }).then(res => { | ||
1760 | + if (res.data.code == 0) { | ||
1761 | + pick_no = res.data.data.pickup_no; | ||
1762 | + } | ||
1763 | + }) | ||
1764 | + } | ||
1752 | //先获取商品的线下库存 | 1765 | //先获取商品的线下库存 |
1753 | await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { | 1766 | await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { |
1754 | data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } | 1767 | data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick } |
@@ -1757,9 +1770,16 @@ Page({ | @@ -1757,9 +1770,16 @@ Page({ | ||
1757 | erpwareid = res.data.data.erpwareid; | 1770 | erpwareid = res.data.data.erpwareid; |
1758 | } | 1771 | } |
1759 | }) | 1772 | }) |
1773 | + | ||
1774 | + var sto_rq = { storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000 }; | ||
1775 | + if (this.data.sales_rules == 3) { | ||
1776 | + sto_rq.storageIds = this.data.appoint_pick_keyid; | ||
1777 | + delete sto_rq.storageNos | ||
1778 | + } | ||
1779 | + | ||
1760 | //读取线下的门店库存 | 1780 | //读取线下的门店库存 |
1761 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | 1781 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
1762 | - data: { storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000 } | 1782 | + data: sto_rq |
1763 | }).then(res => { | 1783 | }).then(res => { |
1764 | if (res.data.code == 0) { | 1784 | if (res.data.code == 0) { |
1765 | plist = res.data.data.pageData[0]; | 1785 | plist = res.data.data.pageData[0]; |
packageC/pages/presell/goodsInfo/goodsInfo.js
@@ -395,6 +395,8 @@ Page({ | @@ -395,6 +395,8 @@ Page({ | ||
395 | is_closecoupon: json_d.is_closecoupon, | 395 | is_closecoupon: json_d.is_closecoupon, |
396 | is_newsales_rules: json_d.is_newsales_rules, | 396 | is_newsales_rules: json_d.is_newsales_rules, |
397 | is_retail_price: json_d.is_retail_price || 0, | 397 | is_retail_price: json_d.is_retail_price || 0, |
398 | + appoint_pick_keyid: json_d.appoint_pick_keyid | ||
399 | + | ||
398 | }); | 400 | }); |
399 | // ee.init(gid); | 401 | // ee.init(gid); |
400 | //------几人评价------- | 402 | //------几人评价------- |
@@ -1992,7 +1994,8 @@ Page({ | @@ -1992,7 +1994,8 @@ Page({ | ||
1992 | th.setData({ all_pick_list: e.data.data.pageData }); | 1994 | th.setData({ all_pick_list: e.data.data.pageData }); |
1993 | 1995 | ||
1994 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购 预售-- | 1996 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购 预售-- |
1995 | - if (th.data.sales_rules == 2 && !th.data.is_newsales_rules && ((th.data.prom_type != 1 && th.data.prom_type != 6 && th.data.prom_type != 4 && th.data.prom_type != 8) || is_normal == 1)) { | 1997 | + if(!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id |
1998 | + && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1,2,4,6,8,9].indexOf(th.data.prom_type)==-1 || is_normal == 1)) { | ||
1996 | setTimeout(function () { | 1999 | setTimeout(function () { |
1997 | th.deal_pickup_dline(e); | 2000 | th.deal_pickup_dline(e); |
1998 | }, 800) | 2001 | }, 800) |
@@ -2199,7 +2202,8 @@ Page({ | @@ -2199,7 +2202,8 @@ Page({ | ||
2199 | 2202 | ||
2200 | //------------处理线下门店库存-------- | 2203 | //------------处理线下门店库存-------- |
2201 | deal_pickup_dline(e) { | 2204 | deal_pickup_dline(e) { |
2202 | - var pkno = [], th = this; | 2205 | + var pkno = [], |
2206 | + th = this; | ||
2203 | if (!th.data.sele_g) return false; | 2207 | if (!th.data.sele_g) return false; |
2204 | 2208 | ||
2205 | if (this.data.def_pick_store) { | 2209 | if (this.data.def_pick_store) { |
@@ -2219,78 +2223,165 @@ Page({ | @@ -2219,78 +2223,165 @@ Page({ | ||
2219 | 2223 | ||
2220 | var g_distr_type = th.data.sele_g.distr_type; | 2224 | var g_distr_type = th.data.sele_g.distr_type; |
2221 | var lock = []; | 2225 | var lock = []; |
2226 | + | ||
2227 | + var lock_rq = { | ||
2228 | + store_id: os.stoid, | ||
2229 | + wareId: th.data.sele_g.goods_id, | ||
2230 | + pageSize: 1000 | ||
2231 | + }; | ||
2232 | + | ||
2233 | + if (th.data.sales_rules == 3) { | ||
2234 | + lock_rq.appoint_pick_keyid = th.data.appoint_pick_keyid; | ||
2235 | + } | ||
2236 | + | ||
2222 | //先读取门店的lock,采用链式写法,少用await | 2237 | //先读取门店的lock,采用链式写法,少用await |
2223 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | 2238 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
2224 | - data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, pageSize: 1000 } | 2239 | + data: lock_rq |
2225 | }).then(res => { | 2240 | }).then(res => { |
2226 | if (res.data.code == 0 && res.data.data.total > 0) { | 2241 | if (res.data.code == 0 && res.data.data.total > 0) { |
2227 | lock = res.data.data.pageData | 2242 | lock = res.data.data.pageData |
2228 | } | 2243 | } |
2244 | + var sto_rq = { | ||
2245 | + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), | ||
2246 | + storeId: os.stoid, | ||
2247 | + pageSize: 2000 | ||
2248 | + } | ||
2249 | + | ||
2250 | + if (th.data.sales_rules == 3) { | ||
2251 | + sto_rq.storageIds = th.data.appoint_pick_keyid; | ||
2252 | + } else { | ||
2253 | + sto_rq.storageNos = pkno_str; | ||
2254 | + } | ||
2255 | + | ||
2256 | + | ||
2229 | //---通过接口获取门店的线下库存信息-- | 2257 | //---通过接口获取门店的线下库存信息-- |
2230 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | 2258 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
2231 | - data: { storageNos: pkno_str, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid, pageSize: 2000 } | 2259 | + data: sto_rq |
2232 | }) | 2260 | }) |
2233 | }).then(res => { | 2261 | }).then(res => { |
2234 | 2262 | ||
2235 | wx.hideLoading(); | 2263 | wx.hideLoading(); |
2236 | if (res.data.code == 0) { | 2264 | if (res.data.code == 0) { |
2265 | + | ||
2237 | if (res.data.data.pageData && res.data.data.pageData.length > 0) { | 2266 | if (res.data.data.pageData && res.data.data.pageData.length > 0) { |
2238 | - var plist = res.data.data.pageData; | 2267 | + |
2239 | var def_pick_store = th.data.def_pick_store; | 2268 | var def_pick_store = th.data.def_pick_store; |
2240 | - //以原来的数组为外循环,保证距离的顺序 | ||
2241 | - for (var kk in o_plist) { | ||
2242 | - for (var ii in plist) { | ||
2243 | - //线下的门店小心 | ||
2244 | - var n_item = plist[ii]; | ||
2245 | - if (n_item.StorageNo == o_plist[kk].pickup_no) { | ||
2246 | - | ||
2247 | - //拿到锁库的数量 | ||
2248 | - var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); | ||
2249 | - //可出库数大于预出库库存的数量,可以判断为有库存 | ||
2250 | - if (n_item.CanOutQty > lock_num) { | ||
2251 | - o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; | ||
2252 | - new_list.push(o_plist[kk]); | ||
2253 | - //--如果找到默认门店,同时也应该判断配送方式对不对-- | ||
2254 | - if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | ||
2255 | - th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; | ||
2256 | - if (def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | ||
2257 | - th.setData({ def_pick_store: th.data.fir_def_store }) | ||
2258 | - is_find_def_store = 1; | 2269 | + var plist = res.data.data.pageData; |
2270 | + if (th.data.sales_rules == 3) { | ||
2271 | + var lock_num = 0; | ||
2272 | + var Qty = 0; | ||
2273 | + //-- 计算锁住的库存 -- | ||
2274 | + for (var i in lock) lock_num += lock[i].outQty; | ||
2275 | + Qty = plist[0].CanOutQty - lock_num; | ||
2276 | + | ||
2277 | + if (Qty > 0) { | ||
2278 | + for (var kk in o_plist) { | ||
2279 | + o_plist[kk].CanOutQty = Qty; | ||
2280 | + new_list.push(o_plist[kk]); | ||
2281 | + } | ||
2282 | + if (th.data.fir_def_store && | ||
2283 | + (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) { | ||
2284 | + th.data.fir_def_store.Qty=Qty; | ||
2285 | + if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | ||
2286 | + th.setData({ | ||
2287 | + def_pick_store: th.data.fir_def_store | ||
2288 | + }) | ||
2289 | + is_find_def_store = 1; | ||
2290 | + } | ||
2291 | + | ||
2292 | + } else { | ||
2293 | + th.setData({ | ||
2294 | + all_sto: null, | ||
2295 | + only_pk: null, | ||
2296 | + def_pickpu_list: null | ||
2297 | + }); | ||
2298 | + return false; | ||
2299 | + } | ||
2300 | + | ||
2301 | + } else { | ||
2302 | + | ||
2303 | + | ||
2304 | + //以原来的数组为外循环,保证距离的顺序 | ||
2305 | + for (var kk in o_plist) { | ||
2306 | + for (var ii in plist) { | ||
2307 | + //线下的门店小心 | ||
2308 | + var n_item = plist[ii]; | ||
2309 | + if (n_item.StorageNo == o_plist[kk].pickup_no) { | ||
2310 | + | ||
2311 | + //拿到锁库的数量 | ||
2312 | + var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); | ||
2313 | + //可出库数大于预出库库存的数量,可以判断为有库存 | ||
2314 | + if (n_item.CanOutQty > lock_num) { | ||
2315 | + o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; | ||
2316 | + new_list.push(o_plist[kk]); | ||
2317 | + //--如果找到默认门店,同时也应该判断配送方式对不对-- | ||
2318 | + if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | ||
2319 | + th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; | ||
2320 | + if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | ||
2321 | + th.setData({ | ||
2322 | + def_pick_store: th.data.fir_def_store | ||
2323 | + }) | ||
2324 | + is_find_def_store = 1; | ||
2325 | + } | ||
2259 | } | 2326 | } |
2327 | + break; | ||
2260 | } | 2328 | } |
2261 | - break; | ||
2262 | } | 2329 | } |
2263 | } | 2330 | } |
2331 | + | ||
2264 | } | 2332 | } |
2265 | 2333 | ||
2266 | //数据组装下 | 2334 | //数据组装下 |
2267 | - var em = {}; em.data = {}; em.data.data = {}; | 2335 | + var em = {}; |
2336 | + em.data = {}; | ||
2337 | + em.data.data = {}; | ||
2268 | em.data.data.total = new_list.length; | 2338 | em.data.data.total = new_list.length; |
2269 | em.data.data.pageData = new_list; | 2339 | em.data.data.pageData = new_list; |
2270 | 2340 | ||
2341 | + | ||
2271 | //--如果找到默认门店,同时也应该判断配送方式对不对-- | 2342 | //--如果找到默认门店,同时也应该判断配送方式对不对-- |
2272 | - if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | 2343 | + if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && |
2344 | + (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | ||
2273 | th.data.fir_def_store.CanOutQty = 0; | 2345 | th.data.fir_def_store.CanOutQty = 0; |
2274 | //--当选择的门店是客户默认的门店的时候-- | 2346 | //--当选择的门店是客户默认的门店的时候-- |
2275 | if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { | 2347 | if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { |
2276 | - th.setData({ def_pick_store: th.data.fir_def_store }); | 2348 | + th.setData({ |
2349 | + def_pick_store: th.data.fir_def_store | ||
2350 | + }); | ||
2277 | em.data.data.pageData.unshift(th.data.def_pick_store); | 2351 | em.data.data.pageData.unshift(th.data.def_pick_store); |
2278 | } else { | 2352 | } else { |
2279 | em.data.data.pageData.splice(1, 0, th.data.fir_def_store); | 2353 | em.data.data.pageData.splice(1, 0, th.data.fir_def_store); |
2280 | } | 2354 | } |
2281 | } | 2355 | } |
2282 | 2356 | ||
2357 | + for (let j = 0; j < em.data.data.pageData.length; j++) { | ||
2358 | + var iu = em.data.data.pageData[j]; | ||
2359 | + if (iu.CanOutQty <= 0) iu.is_no_qyt = 1; | ||
2360 | + | ||
2361 | + } | ||
2362 | + | ||
2283 | //---把数组组装进去--- | 2363 | //---把数组组装进去--- |
2284 | th.deal_pickup(em); | 2364 | th.deal_pickup(em); |
2365 | + | ||
2285 | } else { | 2366 | } else { |
2286 | - th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) | 2367 | + th.setData({ |
2368 | + all_sto: null, | ||
2369 | + only_pk: null, | ||
2370 | + def_pickpu_list: null | ||
2371 | + }) | ||
2287 | } | 2372 | } |
2373 | + | ||
2288 | } else { | 2374 | } else { |
2289 | - th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) | 2375 | + th.setData({ |
2376 | + all_sto: null, | ||
2377 | + only_pk: null, | ||
2378 | + def_pickpu_list: null | ||
2379 | + }) | ||
2290 | } | 2380 | } |
2291 | }) | 2381 | }) |
2292 | }, | 2382 | }, |
2293 | 2383 | ||
2384 | + | ||
2294 | find_lock_num(pick_id, lock) { | 2385 | find_lock_num(pick_id, lock) { |
2295 | var lock_num = 0; | 2386 | var lock_num = 0; |
2296 | if (!lock) return 0; | 2387 | if (!lock) return 0; |
packageC/pages/presell/goodsInfo/goodsInfo.wxml
@@ -194,7 +194,7 @@ | @@ -194,7 +194,7 @@ | ||
194 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> | 194 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> |
195 | (配送不匹配2) | 195 | (配送不匹配2) |
196 | </view> | 196 | </view> |
197 | - <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}"> | 197 | + <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> |
198 | (库存不足) | 198 | (库存不足) |
199 | </view> | 199 | </view> |
200 | </block> | 200 | </block> |
@@ -630,7 +630,7 @@ | @@ -630,7 +630,7 @@ | ||
630 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 630 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
631 | <block wx:else> | 631 | <block wx:else> |
632 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配1)</view> | 632 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配1)</view> |
633 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}"> | 633 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}"> |
634 | (库存不足) | 634 | (库存不足) |
635 | </view> | 635 | </view> |
636 | </block> | 636 | </block> |
packageC/pages/presell/list/list.wxml
@@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
33 | </navigator> | 33 | </navigator> |
34 | <view class="kill-cont"> | 34 | <view class="kill-cont"> |
35 | <navigator class="goods-name ellipsis-2" | 35 | <navigator class="goods-name ellipsis-2" |
36 | - url="/packageC/pages/presell/pregoodsInfo/goodsInfo?goods_id={{item.goods_id}}&pre_id={{item.id}}">{{item.goods_name}}</navigator> | 36 | + url="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id={{item.goods_id}}&pre_id={{item.id}}">{{item.goods_name}}</navigator> |
37 | <view class="flex-vertical xc-strip-frame"> | 37 | <view class="flex-vertical xc-strip-frame"> |
38 | <view class="xc-strip-blank rel"> | 38 | <view class="xc-strip-blank rel"> |
39 | 39 |
packageC/pages/presell/pregoodsInfo/goodsInfo.js
@@ -1916,7 +1916,7 @@ Page({ | @@ -1916,7 +1916,7 @@ Page({ | ||
1916 | th.setData({ all_pick_list: e.data.data.pageData }); | 1916 | th.setData({ all_pick_list: e.data.data.pageData }); |
1917 | 1917 | ||
1918 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- | 1918 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- |
1919 | - if (th.data.sales_rules == 2 && !th.data.is_newsales_rules && ((th.data.prom_type != 1 && th.data.prom_type != 6 && th.data.prom_type != 4) || is_normal == 1)) { | 1919 | + if (th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ((th.data.prom_type != 1 && th.data.prom_type != 6 && th.data.prom_type != 4) || is_normal == 1)) { |
1920 | setTimeout(function () { | 1920 | setTimeout(function () { |
1921 | th.deal_pickup_dline(e); | 1921 | th.deal_pickup_dline(e); |
1922 | }, 800) | 1922 | }, 800) |
@@ -2121,9 +2121,10 @@ Page({ | @@ -2121,9 +2121,10 @@ Page({ | ||
2121 | } | 2121 | } |
2122 | }, | 2122 | }, |
2123 | 2123 | ||
2124 | - //------------处理线下门店库存-------- | 2124 | + //------------处理线下门店库存-------- |
2125 | deal_pickup_dline(e) { | 2125 | deal_pickup_dline(e) { |
2126 | - var pkno = [], th = this; | 2126 | + var pkno = [], |
2127 | + th = this; | ||
2127 | if (!th.data.sele_g) return false; | 2128 | if (!th.data.sele_g) return false; |
2128 | 2129 | ||
2129 | if (this.data.def_pick_store) { | 2130 | if (this.data.def_pick_store) { |
@@ -2143,78 +2144,166 @@ Page({ | @@ -2143,78 +2144,166 @@ Page({ | ||
2143 | 2144 | ||
2144 | var g_distr_type = th.data.sele_g.distr_type; | 2145 | var g_distr_type = th.data.sele_g.distr_type; |
2145 | var lock = []; | 2146 | var lock = []; |
2147 | + | ||
2148 | + var lock_rq = { | ||
2149 | + store_id: os.stoid, | ||
2150 | + wareId: th.data.sele_g.goods_id, | ||
2151 | + pageSize: 1000 | ||
2152 | + }; | ||
2153 | + | ||
2154 | + if (th.data.sales_rules == 3) { | ||
2155 | + lock_rq.appoint_pick_keyid = th.data.appoint_pick_keyid; | ||
2156 | + } | ||
2157 | + | ||
2146 | //先读取门店的lock,采用链式写法,少用await | 2158 | //先读取门店的lock,采用链式写法,少用await |
2147 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | 2159 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
2148 | - data: { store_id: os.stoid, wareId: th.data.sele_g.goods_id, pageSize: 1000 } | 2160 | + data: lock_rq |
2149 | }).then(res => { | 2161 | }).then(res => { |
2150 | if (res.data.code == 0 && res.data.data.total > 0) { | 2162 | if (res.data.code == 0 && res.data.data.total > 0) { |
2151 | lock = res.data.data.pageData | 2163 | lock = res.data.data.pageData |
2152 | } | 2164 | } |
2165 | + var sto_rq = { | ||
2166 | + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), | ||
2167 | + storeId: os.stoid, | ||
2168 | + pageSize: 2000 | ||
2169 | + } | ||
2170 | + | ||
2171 | + if (th.data.sales_rules == 3) { | ||
2172 | + sto_rq.storageIds = th.data.appoint_pick_keyid; | ||
2173 | + } else { | ||
2174 | + sto_rq.storageNos = pkno_str; | ||
2175 | + } | ||
2176 | + | ||
2177 | + | ||
2153 | //---通过接口获取门店的线下库存信息-- | 2178 | //---通过接口获取门店的线下库存信息-- |
2154 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | 2179 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
2155 | - data: { storageNos: pkno_str, wareIds: encodeURIComponent(th.data.sele_g.erpwareid), storeId: os.stoid, pageSize: 2000 } | 2180 | + data: sto_rq |
2156 | }) | 2181 | }) |
2157 | }).then(res => { | 2182 | }).then(res => { |
2158 | 2183 | ||
2159 | wx.hideLoading(); | 2184 | wx.hideLoading(); |
2160 | if (res.data.code == 0) { | 2185 | if (res.data.code == 0) { |
2186 | + | ||
2161 | if (res.data.data.pageData && res.data.data.pageData.length > 0) { | 2187 | if (res.data.data.pageData && res.data.data.pageData.length > 0) { |
2162 | - var plist = res.data.data.pageData; | 2188 | + |
2163 | var def_pick_store = th.data.def_pick_store; | 2189 | var def_pick_store = th.data.def_pick_store; |
2164 | - //以原来的数组为外循环,保证距离的顺序 | ||
2165 | - for (var kk in o_plist) { | ||
2166 | - for (var ii in plist) { | ||
2167 | - //线下的门店小心 | ||
2168 | - var n_item = plist[ii]; | ||
2169 | - if (n_item.StorageNo == o_plist[kk].pickup_no) { | ||
2170 | - | ||
2171 | - //拿到锁库的数量 | ||
2172 | - var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); | ||
2173 | - //可出库数大于预出库库存的数量,可以判断为有库存 | ||
2174 | - if (n_item.CanOutQty > lock_num) { | ||
2175 | - o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; | ||
2176 | - new_list.push(o_plist[kk]); | ||
2177 | - //--如果找到默认门店,同时也应该判断配送方式对不对-- | ||
2178 | - if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | ||
2179 | - th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; | ||
2180 | - if (def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | ||
2181 | - th.setData({ def_pick_store: th.data.fir_def_store }) | ||
2182 | - is_find_def_store = 1; | 2190 | + var plist = res.data.data.pageData; |
2191 | + if (th.data.sales_rules == 3) { | ||
2192 | + var lock_num = 0; | ||
2193 | + var Qty = 0; | ||
2194 | + //-- 计算锁住的库存 -- | ||
2195 | + for (var i in lock) lock_num += lock[i].outQty; | ||
2196 | + Qty = plist[0].CanOutQty - lock_num; | ||
2197 | + | ||
2198 | + if (Qty > 0) { | ||
2199 | + for (var kk in o_plist) { | ||
2200 | + o_plist[kk].CanOutQty = Qty; | ||
2201 | + new_list.push(o_plist[kk]); | ||
2202 | + } | ||
2203 | + if (th.data.fir_def_store && | ||
2204 | + (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) { | ||
2205 | + th.data.fir_def_store.Qty=Qty; | ||
2206 | + if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | ||
2207 | + th.setData({ | ||
2208 | + def_pick_store: th.data.fir_def_store | ||
2209 | + }) | ||
2210 | + is_find_def_store = 1; | ||
2211 | + } | ||
2212 | + | ||
2213 | + } else { | ||
2214 | + th.setData({ | ||
2215 | + all_sto: null, | ||
2216 | + only_pk: null, | ||
2217 | + def_pickpu_list: null | ||
2218 | + }); | ||
2219 | + return false; | ||
2220 | + } | ||
2221 | + | ||
2222 | + } else { | ||
2223 | + | ||
2224 | + | ||
2225 | + //以原来的数组为外循环,保证距离的顺序 | ||
2226 | + for (var kk in o_plist) { | ||
2227 | + for (var ii in plist) { | ||
2228 | + //线下的门店小心 | ||
2229 | + var n_item = plist[ii]; | ||
2230 | + if (n_item.StorageNo == o_plist[kk].pickup_no) { | ||
2231 | + | ||
2232 | + //拿到锁库的数量 | ||
2233 | + var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); | ||
2234 | + //可出库数大于预出库库存的数量,可以判断为有库存 | ||
2235 | + if (n_item.CanOutQty > lock_num) { | ||
2236 | + o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; | ||
2237 | + new_list.push(o_plist[kk]); | ||
2238 | + //--如果找到默认门店,同时也应该判断配送方式对不对-- | ||
2239 | + if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | ||
2240 | + th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; | ||
2241 | + if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | ||
2242 | + th.setData({ | ||
2243 | + def_pick_store: th.data.fir_def_store | ||
2244 | + }) | ||
2245 | + is_find_def_store = 1; | ||
2246 | + } | ||
2183 | } | 2247 | } |
2248 | + break; | ||
2184 | } | 2249 | } |
2185 | - break; | ||
2186 | } | 2250 | } |
2187 | } | 2251 | } |
2252 | + | ||
2188 | } | 2253 | } |
2189 | 2254 | ||
2190 | //数据组装下 | 2255 | //数据组装下 |
2191 | - var em = {}; em.data = {}; em.data.data = {}; | 2256 | + var em = {}; |
2257 | + em.data = {}; | ||
2258 | + em.data.data = {}; | ||
2192 | em.data.data.total = new_list.length; | 2259 | em.data.data.total = new_list.length; |
2193 | em.data.data.pageData = new_list; | 2260 | em.data.data.pageData = new_list; |
2194 | 2261 | ||
2262 | + | ||
2195 | //--如果找到默认门店,同时也应该判断配送方式对不对-- | 2263 | //--如果找到默认门店,同时也应该判断配送方式对不对-- |
2196 | - if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | 2264 | + if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id && |
2265 | + (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || th.data.def_pick_store.distr_type == g_distr_type)) { | ||
2197 | th.data.fir_def_store.CanOutQty = 0; | 2266 | th.data.fir_def_store.CanOutQty = 0; |
2198 | //--当选择的门店是客户默认的门店的时候-- | 2267 | //--当选择的门店是客户默认的门店的时候-- |
2199 | if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { | 2268 | if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { |
2200 | - th.setData({ def_pick_store: th.data.fir_def_store }); | 2269 | + th.setData({ |
2270 | + def_pick_store: th.data.fir_def_store | ||
2271 | + }); | ||
2201 | em.data.data.pageData.unshift(th.data.def_pick_store); | 2272 | em.data.data.pageData.unshift(th.data.def_pick_store); |
2202 | } else { | 2273 | } else { |
2203 | em.data.data.pageData.splice(1, 0, th.data.fir_def_store); | 2274 | em.data.data.pageData.splice(1, 0, th.data.fir_def_store); |
2204 | } | 2275 | } |
2205 | } | 2276 | } |
2206 | 2277 | ||
2278 | + for (let j = 0; j < em.data.data.pageData.length; j++) { | ||
2279 | + var iu = em.data.data.pageData[j]; | ||
2280 | + if (iu.CanOutQty <= 0) iu.is_no_qyt = 1; | ||
2281 | + | ||
2282 | + } | ||
2283 | + | ||
2207 | //---把数组组装进去--- | 2284 | //---把数组组装进去--- |
2208 | th.deal_pickup(em); | 2285 | th.deal_pickup(em); |
2286 | + | ||
2209 | } else { | 2287 | } else { |
2210 | - th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) | 2288 | + th.setData({ |
2289 | + all_sto: null, | ||
2290 | + only_pk: null, | ||
2291 | + def_pickpu_list: null | ||
2292 | + }) | ||
2211 | } | 2293 | } |
2294 | + | ||
2212 | } else { | 2295 | } else { |
2213 | - th.setData({ def_pick_store: null, all_sto: null, only_pk: null, def_pickpu_list: null }) | 2296 | + th.setData({ |
2297 | + all_sto: null, | ||
2298 | + only_pk: null, | ||
2299 | + def_pickpu_list: null | ||
2300 | + }) | ||
2214 | } | 2301 | } |
2215 | }) | 2302 | }) |
2216 | }, | 2303 | }, |
2217 | 2304 | ||
2305 | + | ||
2306 | + | ||
2218 | find_lock_num(pick_id, lock) { | 2307 | find_lock_num(pick_id, lock) { |
2219 | var lock_num = 0; | 2308 | var lock_num = 0; |
2220 | if (!lock) return 0; | 2309 | if (!lock) return 0; |
packageE/pages/cart/cart2/cart2.js
@@ -4000,8 +4000,25 @@ Page({ | @@ -4000,8 +4000,25 @@ Page({ | ||
4000 | } | 4000 | } |
4001 | 4001 | ||
4002 | 4002 | ||
4003 | + var mo_num=getApp().get_limit_qty(th.data.bn_goods); | ||
4004 | + var steep=getApp().get_limit_qty(th.data.bn_goods,0,1); | ||
4005 | + | ||
4006 | + if ([0,3,5,7,10].indexOf(goods.prom_type)>=-1){ | ||
4007 | + if(mo_num>goods.goods_num){ | ||
4008 | + getApp().confirmBox(goods.goods_name + "的未到达起订数量"); | ||
4009 | + th.data.is_summit_ing = 0; | ||
4010 | + return false; | ||
4011 | + } | ||
4012 | + if(steep>1 && (goods.goods_num-mo_num)%steep!=0 ){ | ||
4013 | + getApp().confirmBox(goods.goods_name + "的购买的数量不是起订量的倍数"); | ||
4014 | + th.data.is_summit_ing = 0; | ||
4015 | + return false; | ||
4016 | + } | ||
4017 | + } | ||
4018 | + | ||
4003 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 | 4019 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 |
4004 | - if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 2 && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id) { | 4020 | + if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 2 |
4021 | + && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id && !getApp().is_virtual(th.data.bn_goods)) { | ||
4005 | var isok = 1; | 4022 | var isok = 1; |
4006 | await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) { | 4023 | await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) { |
4007 | isok = res; | 4024 | isok = res; |
@@ -4124,7 +4141,6 @@ Page({ | @@ -4124,7 +4141,6 @@ Page({ | ||
4124 | 4141 | ||
4125 | var order_prom_list_cart = th.data.order_prom_list_cart; | 4142 | var order_prom_list_cart = th.data.order_prom_list_cart; |
4126 | 4143 | ||
4127 | - | ||
4128 | //--组装推送数据-- | 4144 | //--组装推送数据-- |
4129 | for (var i = 0; i < order_prom_list_cart.length; i++) { | 4145 | for (var i = 0; i < order_prom_list_cart.length; i++) { |
4130 | var t_item = order_prom_list_cart[i]; | 4146 | var t_item = order_prom_list_cart[i]; |
@@ -4347,8 +4363,26 @@ Page({ | @@ -4347,8 +4363,26 @@ Page({ | ||
4347 | check_map[txt] = 1; | 4363 | check_map[txt] = 1; |
4348 | } | 4364 | } |
4349 | 4365 | ||
4350 | - //如果不立即购买或者秒杀,如果是线下库存购买的时候 | ||
4351 | - if (goods.prom_type == 0 && th.data.sales_rules >= 2) { | 4366 | + goods.prom_type=parseInt(goods.prom_type+''); |
4367 | + var mo_num=getApp().get_limit_qty(g_item); | ||
4368 | + var steep=getApp().get_limit_qty(g_item,0,1); | ||
4369 | + | ||
4370 | + if ([0,3,5,7,10].indexOf(goods.prom_type)>=-1){ | ||
4371 | + if(mo_num>goods.goods_num){ | ||
4372 | + getApp().confirmBox(goods.goods_name + "的未到达起订数量"); | ||
4373 | + th.data.is_summit_ing = 0; | ||
4374 | + return false; | ||
4375 | + } | ||
4376 | + if(steep>1 && (goods.goods_num-mo_num)%steep!=0 ){ | ||
4377 | + getApp().confirmBox(goods.goods_name + "的购买的数量不是起订量的倍数"); | ||
4378 | + th.data.is_summit_ing = 0; | ||
4379 | + return false; | ||
4380 | + } | ||
4381 | + | ||
4382 | + } | ||
4383 | + | ||
4384 | + //如果不立即购买或者秒杀,如果是线下库存购买的时候 | ||
4385 | + if ([0,3,5,7,10].indexOf(goods.prom_type)>=-1 && th.data.sales_rules >= 2 && !g_item.whsle_id && !getApp().is_virtual(g_item) ) { | ||
4352 | var isok = 1; | 4386 | var isok = 1; |
4353 | await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) { | 4387 | await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) { |
4354 | isok = res; | 4388 | isok = res; |
pages/activity/pind_list/pind_list.js
@@ -163,6 +163,39 @@ Page({ | @@ -163,6 +163,39 @@ Page({ | ||
163 | if (plist.length <= 0) { | 163 | if (plist.length <= 0) { |
164 | getApp().showWarning("没有更多数据"); | 164 | getApp().showWarning("没有更多数据"); |
165 | th.data.ismore = 0; | 165 | th.data.ismore = 0; |
166 | + | ||
167 | + | ||
168 | + | ||
169 | + //没有数据切换 | ||
170 | + if (e.data.currentPage == 1 && this.data.type == 1) { | ||
171 | + | ||
172 | + | ||
173 | + e.data.currentPage=1; | ||
174 | + i = "/api/weshop/teamlist/pageteam/0?page=" + e.data.currentPage; | ||
175 | + await getApp().request.promiseGet(i, { | ||
176 | + isShowLoading: 0, | ||
177 | + data: { | ||
178 | + store_id: os.stoid, | ||
179 | + is_end: 0, | ||
180 | + is_show: 1, | ||
181 | + user_id:getApp().globalData.user_id, | ||
182 | + } | ||
183 | + }).then(res => { | ||
184 | + plist = res.data.data.pageData; | ||
185 | + }); | ||
186 | + | ||
187 | + if(plist){ | ||
188 | + setTimeout(function () { | ||
189 | + th.data.ismore = 1; | ||
190 | + th.setData({ | ||
191 | + type: 0 | ||
192 | + }); | ||
193 | + th.requestSalelist(); | ||
194 | + }, 1000); | ||
195 | + } | ||
196 | + | ||
197 | + } | ||
198 | + | ||
166 | } | 199 | } |
167 | //--循环读取接口--- | 200 | //--循环读取接口--- |
168 | for (var i = 0; i < plist.length; i++) { | 201 | for (var i = 0; i < plist.length; i++) { |
pages/cart/cart/cart.js
@@ -1612,9 +1612,16 @@ Page({ | @@ -1612,9 +1612,16 @@ Page({ | ||
1612 | } | 1612 | } |
1613 | } | 1613 | } |
1614 | 1614 | ||
1615 | + var add_num=1; | ||
1616 | + var mo_num=getApp().get_limit_qty(a); | ||
1617 | + var steep=getApp().get_limit_qty(a,0,1); | ||
1618 | + if(steep>1){ | ||
1619 | + add_num=steep; | ||
1620 | + } | ||
1621 | + | ||
1615 | 1622 | ||
1616 | var e = { | 1623 | var e = { |
1617 | - goods_num: a.goods_num + 1, | 1624 | + goods_num: a.goods_num + add_num, |
1618 | id: a.id, | 1625 | id: a.id, |
1619 | goods_id: a.goods_id, | 1626 | goods_id: a.goods_id, |
1620 | store_id: oo.stoid | 1627 | store_id: oo.stoid |
@@ -1640,16 +1647,26 @@ Page({ | @@ -1640,16 +1647,26 @@ Page({ | ||
1640 | } | 1647 | } |
1641 | 1648 | ||
1642 | 1649 | ||
1650 | + var add_num=1; | ||
1651 | + var mo_num=getApp().get_limit_qty(a); | ||
1652 | + var steep=getApp().get_limit_qty(a,0,1); | ||
1653 | + if(steep>1){ | ||
1654 | + add_num=steep; | ||
1655 | + } | ||
1643 | 1656 | ||
1644 | - if (1 != a.goods_num) { | ||
1645 | - var e = { | ||
1646 | - goods_num: a.goods_num - 1, | ||
1647 | - id: a.id, | ||
1648 | - goods_id: a.goods_id, | ||
1649 | - store_id: oo.stoid | ||
1650 | - }; | ||
1651 | - this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); | 1657 | + var e = { |
1658 | + goods_num: a.goods_num - add_num, | ||
1659 | + id: a.id, | ||
1660 | + goods_id: a.goods_id, | ||
1661 | + store_id: oo.stoid | ||
1662 | + }; | ||
1663 | + | ||
1664 | + if(e.goods_num<=0){ | ||
1665 | + this.data.up_dating = 0; | ||
1666 | + return false; | ||
1652 | } | 1667 | } |
1668 | + this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); | ||
1669 | + | ||
1653 | }, | 1670 | }, |
1654 | 1671 | ||
1655 | 1672 | ||
@@ -1668,7 +1685,10 @@ Page({ | @@ -1668,7 +1685,10 @@ Page({ | ||
1668 | var e = a; | 1685 | var e = a; |
1669 | var th = this; | 1686 | var th = this; |
1670 | 1687 | ||
1671 | - if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { | 1688 | + |
1689 | + var mo_num=getApp().get_limit_qty(e); | ||
1690 | + | ||
1691 | + if (a = isNaN(t.detail.value) || t.detail.value < mo_num ? mo_num : parseInt(t.detail.value)) { | ||
1672 | var s = { | 1692 | var s = { |
1673 | goods_num: a, | 1693 | goods_num: a, |
1674 | goods_id: e.service_id, | 1694 | goods_id: e.service_id, |
@@ -1754,6 +1774,33 @@ Page({ | @@ -1754,6 +1774,33 @@ Page({ | ||
1754 | }, | 1774 | }, |
1755 | 1775 | ||
1756 | 1776 | ||
1777 | + click_set_limit(gd_info,pitems,item){ | ||
1778 | + var th=this; | ||
1779 | + var mo_num=getApp().get_limit_qty(gd_info); | ||
1780 | + var steep=getApp().get_limit_qty(gd_info,0,1); | ||
1781 | + if(gd_info.is_integral_normal || gd_info.is_pd_normal || [0,3,5,7,10].indexOf(gd_info.prom_type) > -1){ | ||
1782 | + | ||
1783 | + var ue = { | ||
1784 | + goods_num: gd_info.goods_num,store_id: oo.stoid, | ||
1785 | + id: gd_info.id,goods_id: gd_info.goods_id | ||
1786 | + }; | ||
1787 | + var up_num=0; | ||
1788 | + if(mo_num>gd_info.goods_num){ | ||
1789 | + up_num=mo_num; | ||
1790 | + } | ||
1791 | + if(gd_info.goods_num>mo_num && (gd_info.goods_num-mo_num)%steep!=0 && steep>1){ | ||
1792 | + up_num=mo_num+ parseInt((gd_info.goods_num-mo_num)/steep)*steep+steep; | ||
1793 | + } | ||
1794 | + if(up_num){ | ||
1795 | + ue.goods_num=up_num; | ||
1796 | + th.update_cart(ue, pitems, item); | ||
1797 | + var txt1 = "requestData[" + pitems + "].goods[" + item + "].goods_num"; | ||
1798 | + th.setData({[txt1]:up_num }) | ||
1799 | + } | ||
1800 | + } | ||
1801 | + }, | ||
1802 | + | ||
1803 | + | ||
1757 | //---------------全选,全选的时候要判断是否门店的匹配方式一致-------------- | 1804 | //---------------全选,全选的时候要判断是否门店的匹配方式一致-------------- |
1758 | checkAll: async function () { | 1805 | checkAll: async function () { |
1759 | var e = this, | 1806 | var e = this, |
@@ -1792,11 +1839,16 @@ Page({ | @@ -1792,11 +1839,16 @@ Page({ | ||
1792 | [txt]: 0, | 1839 | [txt]: 0, |
1793 | }); | 1840 | }); |
1794 | } | 1841 | } |
1842 | + | ||
1795 | var fir = 0; | 1843 | var fir = 0; |
1796 | for (var j = 0; j < item.length; j++) { | 1844 | for (var j = 0; j < item.length; j++) { |
1797 | if (item[j].is_gift) continue; | 1845 | if (item[j].is_gift) continue; |
1798 | - | ||
1799 | var obj = JSON.parse(JSON.stringify(item[j])); | 1846 | var obj = JSON.parse(JSON.stringify(item[j])); |
1847 | + //-- 判断起购数量 -- | ||
1848 | + if(!e.data.checkAllToggle){ | ||
1849 | + th.click_set_limit(obj,i,j); | ||
1850 | + } | ||
1851 | + | ||
1800 | //计算之前先移除组合购的计算 | 1852 | //计算之前先移除组合购的计算 |
1801 | if (obj.prom_type == 7) | 1853 | if (obj.prom_type == 7) |
1802 | zh_calc.remove_zhprom(dda, i, obj); | 1854 | zh_calc.remove_zhprom(dda, i, obj); |
@@ -1884,7 +1936,7 @@ Page({ | @@ -1884,7 +1936,7 @@ Page({ | ||
1884 | 1936 | ||
1885 | // if (!e.data.checkAllToggle) { | 1937 | // if (!e.data.checkAllToggle) { |
1886 | //多门店优惠促销次数控制 | 1938 | //多门店优惠促销次数控制 |
1887 | - if(dda[i].pro_off){ | 1939 | + if(dda[i].pro_off || e.data.checkAllToggle){ |
1888 | var txt = "requestData[" + i + "].selected"; | 1940 | var txt = "requestData[" + i + "].selected"; |
1889 | e.setData({ | 1941 | e.setData({ |
1890 | [txt]: 0, | 1942 | [txt]: 0, |
@@ -2041,9 +2093,11 @@ Page({ | @@ -2041,9 +2093,11 @@ Page({ | ||
2041 | for (var i = 0; i < item.length; i++) { | 2093 | for (var i = 0; i < item.length; i++) { |
2042 | let pro_off1=false | 2094 | let pro_off1=false |
2043 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; | 2095 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; |
2044 | - | ||
2045 | var gd_info = item[i]; | 2096 | var gd_info = item[i]; |
2046 | - if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1 && !gd_info.selected) { | 2097 | + |
2098 | + if(!sele) th.click_set_limit(gd_info,pitems,i) | ||
2099 | + | ||
2100 | + if (!getApp().is_virtual(gd_info) && th.data.sales_rules >= 2 && !gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1 && !gd_info.selected) { | ||
2047 | var ob = {}; | 2101 | var ob = {}; |
2048 | await th.check_down_line_next(gd_info, pitems, i, gd_info.erpwareid, function (res) { | 2102 | await th.check_down_line_next(gd_info, pitems, i, gd_info.erpwareid, function (res) { |
2049 | ob = res; | 2103 | ob = res; |
@@ -2227,45 +2281,56 @@ Page({ | @@ -2227,45 +2281,56 @@ Page({ | ||
2227 | var gd_info = a; | 2281 | var gd_info = a; |
2228 | 2282 | ||
2229 | var erpwareid = gd_info.erpwareid; | 2283 | var erpwareid = gd_info.erpwareid; |
2230 | - if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1 && !a.selected) { | ||
2231 | - var ob = {}; | ||
2232 | - await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { | ||
2233 | - ob = res; | ||
2234 | - }); | ||
2235 | 2284 | ||
2236 | - if (ob.code == -1) { | ||
2237 | - | ||
2238 | - wx.showToast({ | ||
2239 | - title: '购买数量超出商品库存', | ||
2240 | - icon: 'none', | ||
2241 | - }); | 2285 | + //-- 如果是选中的时候 -- |
2286 | + if(!a.selected){ | ||
2242 | 2287 | ||
2243 | - return false; | ||
2244 | - } else { | ||
2245 | - if (th.data.sales_rules == 3) { | ||
2246 | - var goods_id = gd_info.goods_id; | ||
2247 | - var num = 0; | 2288 | + //-- 专门来设置商品订购数量 -- |
2289 | + th.click_set_limit(gd_info,pitems,item) | ||
2290 | + if (!getApp().is_virtual(gd_info) && th.data.sales_rules >= 2 | ||
2291 | + && !gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1 ) { | ||
2248 | 2292 | ||
2249 | - for (let i = 0; i < th.data.requestData.length; i++) { | ||
2250 | - if (pitems == i) continue; | ||
2251 | - var it = th.data.requestData[i].goods.find((e) => { | ||
2252 | - return e.goods_id == goods_id; | ||
2253 | - }) | ||
2254 | - if (it && it.selected) num += it.goods_num | ||
2255 | - } | 2293 | + var ob = {}; |
2294 | + await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { | ||
2295 | + ob = res; | ||
2296 | + }); | ||
2297 | + if (ob.code == -1) { | ||
2256 | 2298 | ||
2257 | - if (num > ob.CanOutQty) { | ||
2258 | wx.showToast({ | 2299 | wx.showToast({ |
2259 | title: '购买数量超出商品库存', | 2300 | title: '购买数量超出商品库存', |
2260 | icon: 'none', | 2301 | icon: 'none', |
2261 | }); | 2302 | }); |
2262 | 2303 | ||
2263 | return false; | 2304 | return false; |
2305 | + } else { | ||
2306 | + if (th.data.sales_rules == 3) { | ||
2307 | + var goods_id = gd_info.goods_id; | ||
2308 | + var num = 0; | ||
2309 | + | ||
2310 | + for (let i = 0; i < th.data.requestData.length; i++) { | ||
2311 | + if (pitems == i) continue; | ||
2312 | + var it = th.data.requestData[i].goods.find((e) => { | ||
2313 | + return e.goods_id == goods_id; | ||
2314 | + }) | ||
2315 | + if (it && it.selected) num += it.goods_num | ||
2316 | + } | ||
2317 | + | ||
2318 | + if (num > ob.CanOutQty) { | ||
2319 | + wx.showToast({ | ||
2320 | + title: '购买数量超出商品库存', | ||
2321 | + icon: 'none', | ||
2322 | + }); | ||
2323 | + | ||
2324 | + return false; | ||
2325 | + } | ||
2326 | + } | ||
2264 | } | 2327 | } |
2265 | - } | 2328 | + |
2266 | } | 2329 | } |
2267 | 2330 | ||
2268 | } | 2331 | } |
2332 | + | ||
2333 | + | ||
2269 | let pro_off=false | 2334 | let pro_off=false |
2270 | //判断多店优惠促销次数控制 | 2335 | //判断多店优惠促销次数控制 |
2271 | if (th.data.requestData.length>1) { | 2336 | if (th.data.requestData.length>1) { |
@@ -2536,8 +2601,34 @@ Page({ | @@ -2536,8 +2601,34 @@ Page({ | ||
2536 | user_id = getApp().globalData.user_id; | 2601 | user_id = getApp().globalData.user_id; |
2537 | 2602 | ||
2538 | function normal_check(store_count, goodsinfo, wareIds) { | 2603 | function normal_check(store_count, goodsinfo, wareIds) { |
2604 | + | ||
2605 | + | ||
2606 | + // getApp().my_warnning('购买数量超出商品库存', 0, th); | ||
2607 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | ||
2608 | + //-- 要判断是不是起订量不购 -- | ||
2609 | + if([0,3,5,7,10].indexOf(goodsinfo.prom_type)>-1){ | ||
2610 | + var mo_num=getApp().get_limit_qty(goodsinfo); | ||
2611 | + var steep=getApp().get_limit_qty(goodsinfo,0,1); | ||
2612 | + if(mo_num>1 && t.goods_num<mo_num){ | ||
2613 | + wx.showToast({ | ||
2614 | + title: '购买数量小于商品的起订量', | ||
2615 | + icon: 'none', | ||
2616 | + }); | ||
2617 | + t.goods_num =0; | ||
2618 | + } | ||
2619 | + if(steep>1 && t.goods_num>mo_num && (t.goods_num-mo_num)%steep!=0 ){ | ||
2620 | + | ||
2621 | + wx.showToast({ | ||
2622 | + title: '购买数量必须是起订量的倍数', | ||
2623 | + icon: 'none', | ||
2624 | + }); | ||
2625 | + t.goods_num =mo_num+parseInt((t.goods_num-mo_num)/steep+'')*steep+steep; | ||
2626 | + } | ||
2627 | + } | ||
2628 | + | ||
2629 | + | ||
2539 | //--- 看一下是不是线下库存 --- | 2630 | //--- 看一下是不是线下库存 --- |
2540 | - if (th.data.sales_rules >= 2 && !goodsinfo.whsle_id) { | 2631 | + if (!getApp().is_virtual(goodsinfo) && th.data.sales_rules >= 2 && !goodsinfo.whsle_id) { |
2541 | th.check_down_line(t, pitem, item, wareIds); | 2632 | th.check_down_line(t, pitem, item, wareIds); |
2542 | } else { | 2633 | } else { |
2543 | if (t.goods_num > store_count) { | 2634 | if (t.goods_num > store_count) { |
@@ -2545,8 +2636,6 @@ Page({ | @@ -2545,8 +2636,6 @@ Page({ | ||
2545 | title: '购买数量超出商品库存', | 2636 | title: '购买数量超出商品库存', |
2546 | icon: 'none', | 2637 | icon: 'none', |
2547 | }); | 2638 | }); |
2548 | - // getApp().my_warnning('购买数量超出商品库存', 0, th); | ||
2549 | - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | ||
2550 | e.setData({ | 2639 | e.setData({ |
2551 | [txt]: store_count | 2640 | [txt]: store_count |
2552 | }); | 2641 | }); |
@@ -2620,7 +2709,29 @@ Page({ | @@ -2620,7 +2709,29 @@ Page({ | ||
2620 | }); | 2709 | }); |
2621 | e.doCheckAll(); | 2710 | e.doCheckAll(); |
2622 | 2711 | ||
2623 | - t.goods_num = cbuy > 0 ? cbuy : limit, | 2712 | + t.goods_num = cbuy > 0 ? cbuy : limit; |
2713 | + | ||
2714 | + if([0,3,5,7,10].indexOf(goodsinfo.prom_type)>-1){ | ||
2715 | + var mo_num=getApp().get_limit_qty(goodsinfo); | ||
2716 | + var steep=getApp().get_limit_qty(goodsinfo,0,1); | ||
2717 | + if(mo_num>1 && t.goods_num<mo_num){ | ||
2718 | + wx.showToast({ | ||
2719 | + title: '购买数量小于商品的起订量', | ||
2720 | + icon: 'none', | ||
2721 | + }); | ||
2722 | + t.goods_num=0; | ||
2723 | + | ||
2724 | + } | ||
2725 | + if(steep>1 && t.goods_num>mo_num && (t.goods_num-mo_num)%steep!=0 ){ | ||
2726 | + | ||
2727 | + wx.showToast({ | ||
2728 | + title: '购买数量必须是起订量的倍数', | ||
2729 | + icon: 'none', | ||
2730 | + }); | ||
2731 | + | ||
2732 | + t.goods_num=mo_num+parseInt((t.goods_num-mo_num)/steep+'')*steep | ||
2733 | + } | ||
2734 | + } | ||
2624 | // t.goods_num = cbuy > 0 ? cbuy : 0, | 2735 | // t.goods_num = cbuy > 0 ? cbuy : 0, |
2625 | e.update_cart(t, pitem, item); | 2736 | e.update_cart(t, pitem, item); |
2626 | return false; | 2737 | return false; |
@@ -3370,10 +3481,42 @@ Page({ | @@ -3370,10 +3481,42 @@ Page({ | ||
3370 | } | 3481 | } |
3371 | glist += i_arr[j].goods_id + ","; | 3482 | glist += i_arr[j].goods_id + ","; |
3372 | ab = 1; | 3483 | ab = 1; |
3484 | + | ||
3485 | + //判断商品的起订数量 | ||
3486 | + var mo_num=getApp().get_limit_qty(i_arr[j]); | ||
3487 | + var steep=getApp().get_limit_qty(i_arr[j],0,1); | ||
3488 | + var py_type= parseInt(i_arr[j].prom_type+''); | ||
3489 | + | ||
3490 | + if([0,3,5,7,10].indexOf(py_type)>-1){ | ||
3491 | + | ||
3492 | + if(mo_num>i_arr[j].goods_num){ | ||
3493 | + getApp().confirmBox(i_arr[j].goods_name + "的未到达起订数量"); | ||
3494 | + wx.hideLoading(); | ||
3495 | + return false; | ||
3496 | + } | ||
3497 | + if(steep>1 && (i_arr[j].goods_num-mo_num)%steep!=0 ){ | ||
3498 | + getApp().confirmBox(i_arr[j].goods_name + "的购买的数量不是起订量的倍数"); | ||
3499 | + var num=mo_num+ parseInt((i_arr[j].goods_num-mo_num)/steep)*steep+steep; | ||
3500 | + var e = { | ||
3501 | + goods_num: num, | ||
3502 | + id: i_arr[j].id, | ||
3503 | + goods_id: i_arr[j].goods_id, | ||
3504 | + store_id: oo.stoid | ||
3505 | + }; | ||
3506 | + | ||
3507 | + th.postCardList(e, j, i); | ||
3508 | + | ||
3509 | + wx.hideLoading(); | ||
3510 | + return false; | ||
3511 | + } | ||
3512 | + | ||
3513 | + } | ||
3514 | + | ||
3515 | + | ||
3373 | 3516 | ||
3374 | //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- | 3517 | //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- |
3375 | - if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].prom_type == 7 || | ||
3376 | - i_arr[j].need_downlow_num) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) { | 3518 | + if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].prom_type == 7 || i_arr[j].prom_type == 10 || |
3519 | + i_arr[j].need_downlow_num) && !getApp().is_virtual(i_arr[j]) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) { | ||
3377 | //--获取商品的线下商品ID-- | 3520 | //--获取商品的线下商品ID-- |
3378 | 3521 | ||
3379 | var gd = null; | 3522 | var gd = null; |
pages/cart/cart/cart.wxml
@@ -42,6 +42,7 @@ | @@ -42,6 +42,7 @@ | ||
42 | <!-- 门店底下的商品 --> | 42 | <!-- 门店底下的商品 --> |
43 | <view class="store"> | 43 | <view class="store"> |
44 | <view class="shmd_m"> | 44 | <view class="shmd_m"> |
45 | + | ||
45 | <!-- 门店 --> | 46 | <!-- 门店 --> |
46 | <icon wx:if="{{checkAllToggle||item.selected}}" class="order-raido flex-center" bindtap="check_th_all_item" data-pitems="{{pidx}}" | 47 | <icon wx:if="{{checkAllToggle||item.selected}}" class="order-raido flex-center" bindtap="check_th_all_item" data-pitems="{{pidx}}" |
47 | color="red" size="20" type="success"></icon> | 48 | color="red" size="20" type="success"></icon> |
pages/goods/goodsInfo/buy_com_pop.wxml
@@ -13,10 +13,14 @@ | @@ -13,10 +13,14 @@ | ||
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}}"> | ||
17 | - 可售:{{def_pick_store.CanOutQty}} | ||
18 | - </view> | ||
19 | - <view class="spec-goods-stock" wx:else>可售:0</view> | 16 | + |
17 | + <block wx:if="{{!filters.is_virtual_gd(sele_g.is_virtual)}}"> | ||
18 | + <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> | ||
19 | + 可售:{{def_pick_store.CanOutQty}} | ||
20 | + </view> | ||
21 | + <view class="spec-goods-stock" wx:else>可售:0</view> | ||
22 | + </block> | ||
23 | + | ||
20 | </block> | 24 | </block> |
21 | <block wx:else> | 25 | <block wx:else> |
22 | <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> | 26 | <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> |
@@ -29,8 +33,8 @@ | @@ -29,8 +33,8 @@ | ||
29 | <!-- 选择门店模块 --> | 33 | <!-- 选择门店模块 --> |
30 | <view class="flex-space-between address ai_end xc-width "> | 34 | <view class="flex-space-between address ai_end xc-width "> |
31 | 35 | ||
32 | - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> | ||
33 | - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text> | 36 | + <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> |
37 | + <text class="fs30 xc-black3 shop_name {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text> | ||
34 | <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> | 38 | <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> |
35 | 距离:{{def_pick_store.distance > 1000 ? filters.toFix(def_pick_store.distance / 1000, 2) + "km" : filters.toFix(def_pick_store.distance, 0) + "m"}} | 39 | 距离:{{def_pick_store.distance > 1000 ? filters.toFix(def_pick_store.distance / 1000, 2) + "km" : filters.toFix(def_pick_store.distance, 0) + "m"}} |
36 | 40 | ||
@@ -53,7 +57,7 @@ | @@ -53,7 +57,7 @@ | ||
53 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 57 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
54 | <block wx:else> | 58 | <block wx:else> |
55 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> | 59 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> |
56 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2}}"> | 60 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules>=2 && !filters.is_virtual_gd(sele_g.is_virtual) }}"> |
57 | (库存不足) | 61 | (库存不足) |
58 | </view> | 62 | </view> |
59 | </block> | 63 | </block> |
@@ -136,7 +140,7 @@ | @@ -136,7 +140,7 @@ | ||
136 | </view> | 140 | </view> |
137 | </block> | 141 | </block> |
138 | <block wx:else> | 142 | <block wx:else> |
139 | - <block wx:if="{{sales_rules>=2 && !sele_g.whsle_id}}"> | 143 | + <block wx:if="{{sales_rules>=2 && !sele_g.whsle_id && !filters.is_virtual_gd(sele_g.is_virtual) }}"> |
140 | <view wx:if="{{!def_pick_store.CanOutQty}}" class="spec-cart-btn fs32" data-action="add" | 144 | <view wx:if="{{!def_pick_store.CanOutQty}}" class="spec-cart-btn fs32" data-action="add" |
141 | style="background-color: #dcdcdc;color: #999">库存不足 | 145 | style="background-color: #dcdcdc;color: #999">库存不足 |
142 | </view> | 146 | </view> |
@@ -154,7 +158,7 @@ | @@ -154,7 +158,7 @@ | ||
154 | 158 | ||
155 | 159 | ||
156 | 160 | ||
157 | - <block wx:elif="{{data.store_count<=0}}"> | 161 | + <block wx:elif="{{data.store_count<(mo_num?mo_num:1)}}"> |
158 | <view class="spec-cart-btn fs32" data-action="add" | 162 | <view class="spec-cart-btn fs32" data-action="add" |
159 | style="background-color: #dcdcdc;color: #999">库存不足 | 163 | style="background-color: #dcdcdc;color: #999">库存不足 |
160 | </view> | 164 | </view> |
pages/goods/goodsInfo/buy_integral.wxml
@@ -26,9 +26,9 @@ | @@ -26,9 +26,9 @@ | ||
26 | <!-- 选择门店模块 --> | 26 | <!-- 选择门店模块 --> |
27 | <view class="flex-space-between address ai_end xc-width "> | 27 | <view class="flex-space-between address ai_end xc-width "> |
28 | 28 | ||
29 | - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> | ||
30 | - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text> | ||
31 | - <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}"> | 29 | + <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> |
30 | + <text class="fs30 xc-black3 shop_name bold {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text> | ||
31 | + <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> | ||
32 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} | 32 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} |
33 | 33 | ||
34 | </view> | 34 | </view> |
@@ -47,11 +47,11 @@ | @@ -47,11 +47,11 @@ | ||
47 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 47 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
48 | <block wx:else> | 48 | <block wx:else> |
49 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> | 49 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> |
50 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view> | 50 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0}}">(库存不足)</view> |
51 | </block> | 51 | </block> |
52 | </block> | 52 | </block> |
53 | 53 | ||
54 | - <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view> | 54 | + <view class="fs24 xc-ash-9f xc-distance-top " wx:if="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view> |
55 | 55 | ||
56 | 56 | ||
57 | <!--商品的属性项目--> | 57 | <!--商品的属性项目--> |
pages/goods/goodsInfo/buy_pt.wxml
@@ -25,8 +25,10 @@ | @@ -25,8 +25,10 @@ | ||
25 | <view class="flex"> | 25 | <view class="flex"> |
26 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> | 26 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> |
27 | <block wx:if="{{sales_rules>=2}}"> | 27 | <block wx:if="{{sales_rules>=2}}"> |
28 | - <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view> | ||
29 | - <view class="spec-goods-stock" wx:else>可售:0</view> | 28 | + <block wx:if="{{!filters.is_virtual_gd(sele_g.is_virtual)}}"> |
29 | + <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view> | ||
30 | + <view class="spec-goods-stock" wx:else>可售:0</view> | ||
31 | + </block> | ||
30 | </block> | 32 | </block> |
31 | <block wx:else><view class="spec-goods-stock">可售:{{sele_g.store_count}}</view></block> | 33 | <block wx:else><view class="spec-goods-stock">可售:{{sele_g.store_count}}</view></block> |
32 | </view> | 34 | </view> |
@@ -47,11 +49,11 @@ | @@ -47,11 +49,11 @@ | ||
47 | <view style="margin-top: 20rpx"> | 49 | <view style="margin-top: 20rpx"> |
48 | <view class="flex-space-between address ai_end xc-width "> | 50 | <view class="flex-space-between address ai_end xc-width "> |
49 | 51 | ||
50 | - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> | ||
51 | - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text> | 52 | + <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> |
53 | + <text class="fs30 xc-black3 shop_name {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text> | ||
52 | 54 | ||
53 | 55 | ||
54 | - <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}"> | 56 | + <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> |
55 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} | 57 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} |
56 | 58 | ||
57 | </view> | 59 | </view> |
@@ -71,7 +73,7 @@ | @@ -71,7 +73,7 @@ | ||
71 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 73 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
72 | <block wx:else> | 74 | <block wx:else> |
73 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> | 75 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> |
74 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && is_normal}}">(库存不足)</view> | 76 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && is_normal}}">(库存不足)</view> |
75 | </block> | 77 | </block> |
76 | </block> | 78 | </block> |
77 | 79 | ||
@@ -176,16 +178,32 @@ | @@ -176,16 +178,32 @@ | ||
176 | <block wx:else> | 178 | <block wx:else> |
177 | <block wx:if="{{!def_pick_store}}"> | 179 | <block wx:if="{{!def_pick_store}}"> |
178 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view> | 180 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view> |
179 | - </block> | ||
180 | - <block wx:else> | ||
181 | - <block wx:if="{{data.store_count<=0}}"> | ||
182 | - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | ||
183 | - </block> | ||
184 | - <block wx:else> | ||
185 | - <view bindtap="addCart_pt" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | ||
186 | - </block> | ||
187 | - | ||
188 | - </block> | 181 | + </block> |
182 | + | ||
183 | + <block wx:else> | ||
184 | + <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> | ||
185 | + <block wx:if="{{sales_rules>=2 && !sele_g.whsle_id && !filters.is_virtual_gd(sele_g.is_virtual) }}"> | ||
186 | + <block wx:if="{{!def_pick_store.CanOutQty}}"> | ||
187 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> | ||
188 | + 库存不足 | ||
189 | + </view> | ||
190 | + </block> | ||
191 | + <block wx:else> | ||
192 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | ||
193 | + </block> | ||
194 | + </block> | ||
195 | + <!-- 线上销售 --> | ||
196 | + <block wx:else> | ||
197 | + <block wx:if="{{sele_g.store_count<=0 && is_no_new}}"> | ||
198 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> | ||
199 | + 库存不足 | ||
200 | + </view> | ||
201 | + </block> | ||
202 | + <block wx:else> | ||
203 | + <view bindtap="addCart_pt" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | ||
204 | + </block> | ||
205 | + </block> | ||
206 | + </block> | ||
189 | </block> | 207 | </block> |
190 | </block> | 208 | </block> |
191 | </block> | 209 | </block> |
pages/goods/goodsInfo/goodsInfo.js
@@ -558,7 +558,7 @@ Page({ | @@ -558,7 +558,7 @@ Page({ | ||
558 | th = this; | 558 | th = this; |
559 | getApp().getConfig2(function (e) { | 559 | getApp().getConfig2(function (e) { |
560 | var sales_rules = e.sales_rules; | 560 | var sales_rules = e.sales_rules; |
561 | - if (sales_rules >= 2 && [1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 && !th.data.sele_g.whsle_id) { | 561 | + if (!getApp().is_virtual(th.data.sele_g) && sales_rules >= 2 && [1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 && !th.data.sele_g.whsle_id) { |
562 | getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () { | 562 | getApp().waitfor2(that, "wait_for_user_store", "fir_goods", function () { |
563 | var lock = 0, | 563 | var lock = 0, |
564 | plist = null; | 564 | plist = null; |
@@ -1102,18 +1102,18 @@ Page({ | @@ -1102,18 +1102,18 @@ Page({ | ||
1102 | }); | 1102 | }); |
1103 | 1103 | ||
1104 | 1104 | ||
1105 | + | ||
1106 | + | ||
1105 | //获取统一条形码,普通商品和优惠促销的商品 | 1107 | //获取统一条形码,普通商品和优惠促销的商品 |
1106 | if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 9 || ee.data.data.prom_type == 10) { | 1108 | if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 9 || ee.data.data.prom_type == 10) { |
1107 | - //默认门店要拿下门店库存 | ||
1108 | - if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { | ||
1109 | - //获取门店 | ||
1110 | - ee.get_sto(); | ||
1111 | 1109 | ||
1112 | - } else { | ||
1113 | - //获取门店 | ||
1114 | - ee.get_sto(); | ||
1115 | - } | ||
1116 | 1110 | ||
1111 | + //-- 更新默认购买的数量 --- | ||
1112 | + var mo_num=getApp().get_limit_qty(t.data.data); | ||
1113 | + ee.setData({goodsInputNum:mo_num}) | ||
1114 | + ee.setData({mo_num:mo_num}) | ||
1115 | + | ||
1116 | + ee.get_sto(); | ||
1117 | ee.get_sku(o.stoid, t.data.data, gid); | 1117 | ee.get_sku(o.stoid, t.data.data, gid); |
1118 | ee.check_has_flash(); | 1118 | ee.check_has_flash(); |
1119 | 1119 | ||
@@ -1197,6 +1197,7 @@ Page({ | @@ -1197,6 +1197,7 @@ Page({ | ||
1197 | setTimeout(()=> { | 1197 | setTimeout(()=> { |
1198 | console.log('cccc'); | 1198 | console.log('cccc'); |
1199 | console.log(th.data.prom_type); | 1199 | console.log(th.data.prom_type); |
1200 | + | ||
1200 | },500) | 1201 | },500) |
1201 | 1202 | ||
1202 | 1203 | ||
@@ -1208,11 +1209,8 @@ Page({ | @@ -1208,11 +1209,8 @@ Page({ | ||
1208 | console.log('aaaaaaaaaa'); | 1209 | console.log('aaaaaaaaaa'); |
1209 | console.log(this.data.prom_type); | 1210 | console.log(this.data.prom_type); |
1210 | 1211 | ||
1211 | - this.data.enterAddressPage && (this.data.enterAddressPage = !1); | ||
1212 | - | ||
1213 | - | ||
1214 | - | ||
1215 | 1212 | ||
1213 | + this.data.enterAddressPage && (this.data.enterAddressPage = !1); | ||
1216 | 1214 | ||
1217 | 1215 | ||
1218 | }, | 1216 | }, |
@@ -1680,7 +1678,7 @@ Page({ | @@ -1680,7 +1678,7 @@ Page({ | ||
1680 | newd.is_pd_normal = 1; | 1678 | newd.is_pd_normal = 1; |
1681 | 1679 | ||
1682 | //---如果是线下门店销售的时候--- | 1680 | //---如果是线下门店销售的时候--- |
1683 | - if (th.data.sales_rules >= 2) { | 1681 | + if (!getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2) { |
1684 | var pick = th.get_pick_from_list(th.data.sto_sele_id) | 1682 | var pick = th.get_pick_from_list(th.data.sto_sele_id) |
1685 | //---通过接口获取门店的线下库存信息-- | 1683 | //---通过接口获取门店的线下库存信息-- |
1686 | th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { | 1684 | th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { |
@@ -1778,7 +1776,7 @@ Page({ | @@ -1778,7 +1776,7 @@ Page({ | ||
1778 | return false; | 1776 | return false; |
1779 | } else { | 1777 | } else { |
1780 | //---如果是线下门店销售的时候--- | 1778 | //---如果是线下门店销售的时候--- |
1781 | - if (th.data.sales_rules >= 2) { | 1779 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && th.data.sales_rules >= 2) { |
1782 | var pick = th.get_pick_from_list(th.data.sto_sele_id) | 1780 | var pick = th.get_pick_from_list(th.data.sto_sele_id) |
1783 | 1781 | ||
1784 | th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { | 1782 | th.check_CanOutQty(th.data.sele_g, pick, function (CanOutQty) { |
@@ -1837,7 +1835,7 @@ Page({ | @@ -1837,7 +1835,7 @@ Page({ | ||
1837 | } | 1835 | } |
1838 | 1836 | ||
1839 | //---如果是线下门店销售的时候--- | 1837 | //---如果是线下门店销售的时候--- |
1840 | - if (th.data.sales_rules >= 2 && !th.data.sele_g.whsle_id) { | 1838 | + if ( !getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2 && !th.data.sele_g.whsle_id) { |
1841 | var pick = th.get_pick_from_list(th.data.sto_sele_id) | 1839 | var pick = th.get_pick_from_list(th.data.sto_sele_id) |
1842 | //---通过接口获取门店的线下库存信息-- | 1840 | //---通过接口获取门店的线下库存信息-- |
1843 | // getApp().request.get("/api/weshop/goods/getWareStorages", { | 1841 | // getApp().request.get("/api/weshop/goods/getWareStorages", { |
@@ -1942,6 +1940,9 @@ Page({ | @@ -1942,6 +1940,9 @@ Page({ | ||
1942 | th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 | 1940 | th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 |
1943 | } | 1941 | } |
1944 | } | 1942 | } |
1943 | + | ||
1944 | + | ||
1945 | + | ||
1945 | }) | 1946 | }) |
1946 | }, | 1947 | }, |
1947 | 1948 | ||
@@ -2402,11 +2403,24 @@ Page({ | @@ -2402,11 +2403,24 @@ Page({ | ||
2402 | 2403 | ||
2403 | //----------增加购买数量----------- | 2404 | //----------增加购买数量----------- |
2404 | addCartNum: function (t) { | 2405 | addCartNum: function (t) { |
2405 | - this.checkCartNum(this.data.goodsInputNum + 1); | 2406 | + |
2407 | + var add_num=1; | ||
2408 | + var p_type=parseInt(this.data.prom_type) | ||
2409 | + if([1,2,4,6,8,9].indexOf(p_type)==-1 || this.data.openSpecModal_inte_normal == 1 || this.data.is_normal == 1){ | ||
2410 | + add_num=getApp().get_limit_qty(this.data.sele_g,0,1); | ||
2411 | + } | ||
2412 | + | ||
2413 | + this.checkCartNum(this.data.goodsInputNum + add_num); | ||
2406 | }, | 2414 | }, |
2407 | //----------减少购买数量----------- | 2415 | //----------减少购买数量----------- |
2408 | subCartNum: function (t) { | 2416 | subCartNum: function (t) { |
2409 | - this.checkCartNum(this.data.goodsInputNum - 1); | 2417 | + |
2418 | + var add_num=1; | ||
2419 | + var p_type=parseInt(this.data.prom_type) | ||
2420 | + if([1,2,4,6,8,9].indexOf(p_type)==-1 || this.data.openSpecModal_inte_normal == 1 || this.data.is_normal == 1){ | ||
2421 | + add_num=getApp().get_limit_qty(this.data.sele_g,0,1); | ||
2422 | + } | ||
2423 | + this.checkCartNum(this.data.goodsInputNum - add_num); | ||
2410 | }, | 2424 | }, |
2411 | //----------输入框输入购买数量----------- | 2425 | //----------输入框输入购买数量----------- |
2412 | inputCartNum: function (t) { | 2426 | inputCartNum: function (t) { |
@@ -2430,6 +2444,8 @@ Page({ | @@ -2430,6 +2444,8 @@ Page({ | ||
2430 | //------检查数量是不是超出限购------ | 2444 | //------检查数量是不是超出限购------ |
2431 | checkCartNum: function (t) { | 2445 | checkCartNum: function (t) { |
2432 | var th = this; | 2446 | var th = this; |
2447 | + var mo_num=getApp().get_limit_qty(th.data.sele_g); | ||
2448 | + var steep=getApp().get_limit_qty(th.data.sele_g,0,1); | ||
2433 | this.get_buy_num(this.data.sele_g, async function () { | 2449 | this.get_buy_num(this.data.sele_g, async function () { |
2434 | 2450 | ||
2435 | //--判断商品是否超出限购-- | 2451 | //--判断商品是否超出限购-- |
@@ -2495,8 +2511,9 @@ Page({ | @@ -2495,8 +2511,9 @@ Page({ | ||
2495 | } | 2511 | } |
2496 | } | 2512 | } |
2497 | var e = th.data.sele_g.store_count; | 2513 | var e = th.data.sele_g.store_count; |
2498 | - var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 | ||
2499 | - if (th.data.sales_rules >= 2 && (p_type != 1 && p_type != 4 && p_type != 6 && p_type != 2 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | 2514 | + var p_type =parseInt(th.data.prom_type+'') ; //&& p_type!=1 && p_type!=4 |
2515 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && th.data.sales_rules >= 2 && | ||
2516 | + ([1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | ||
2500 | if (!th.data.def_pick_store) { | 2517 | if (!th.data.def_pick_store) { |
2501 | wx.showToast({ | 2518 | wx.showToast({ |
2502 | title: '请选择门店', | 2519 | title: '请选择门店', |
@@ -2517,12 +2534,33 @@ Page({ | @@ -2517,12 +2534,33 @@ Page({ | ||
2517 | }); | 2534 | }); |
2518 | // wx.showModal({title: '库存不足',}); | 2535 | // wx.showModal({title: '库存不足',}); |
2519 | if (e < 0) e = 0; | 2536 | if (e < 0) e = 0; |
2537 | + | ||
2538 | + //只有普通商品才有起购数 | ||
2539 | + if([1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1){ | ||
2540 | + if(e<mo_num) e=mo_num; | ||
2541 | + if(e>mo_num && (e-mo_num)%steep!=0){ | ||
2542 | + e=mo_num+ parseInt((e-mo_num)/steep)*steep; | ||
2543 | + } | ||
2544 | + } | ||
2520 | th.setData({ | 2545 | th.setData({ |
2521 | goodsInputNum: e | 2546 | goodsInputNum: e |
2522 | }); | 2547 | }); |
2523 | return false; | 2548 | return false; |
2524 | } | 2549 | } |
2550 | + | ||
2551 | + | ||
2552 | + //var steep=getApp().get_limit_qty(th.data.sele_g,0,1); | ||
2553 | + | ||
2554 | + | ||
2525 | t > e || 0 == e ? t = e : t < 1 && (t = 1); | 2555 | t > e || 0 == e ? t = e : t < 1 && (t = 1); |
2556 | + | ||
2557 | + | ||
2558 | + //只有普通商品才有起购数 | ||
2559 | + if([1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1){ | ||
2560 | + if(t<mo_num) t=mo_num; | ||
2561 | + } | ||
2562 | + | ||
2563 | + | ||
2526 | th.setData({ | 2564 | th.setData({ |
2527 | goodsInputNum: t | 2565 | goodsInputNum: t |
2528 | }); | 2566 | }); |
@@ -2612,7 +2650,8 @@ Page({ | @@ -2612,7 +2650,8 @@ Page({ | ||
2612 | 2650 | ||
2613 | var e = th.data.sele_g.store_count; | 2651 | var e = th.data.sele_g.store_count; |
2614 | var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 | 2652 | var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 |
2615 | - if (th.data.sales_rules >= 2 && (p_type != 1 && p_type != 4 && p_type != 6 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | 2653 | + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id && th.data.sales_rules >= 2 && |
2654 | + ([1,2,4,6,8,9].indexOf(p_type)==-1 || th.data.openSpecModal_inte_normal == 1 || th.data.is_normal == 1)) { | ||
2616 | if (!th.data.def_pick_store) { | 2655 | if (!th.data.def_pick_store) { |
2617 | wx.showModal({ | 2656 | wx.showModal({ |
2618 | title: '请选择门店', | 2657 | title: '请选择门店', |
@@ -3342,7 +3381,7 @@ Page({ | @@ -3342,7 +3381,7 @@ Page({ | ||
3342 | if (!item.whsle_id && [1,2,4,6].indexOf(item.prom_type)==-1) that.check_is_youhui(gid, that.data.is_normal); | 3381 | if (!item.whsle_id && [1,2,4,6].indexOf(item.prom_type)==-1) that.check_is_youhui(gid, that.data.is_normal); |
3343 | 3382 | ||
3344 | //默认门店要拿下门店库存 | 3383 | //默认门店要拿下门店库存 |
3345 | - if (that.data.sales_rules >= 2 && that.data.def_pick_store && !that.data.sele_g.whsle_id && [1,2,4,6].indexOf(item.prom_type)==-1) { | 3384 | + if (!getApp().is_virtual(th.data.sele_g) && that.data.sales_rules >= 2 && that.data.def_pick_store && !that.data.sele_g.whsle_id && [1,2,4,6].indexOf(item.prom_type)==-1) { |
3346 | var lock = 0, | 3385 | var lock = 0, |
3347 | plist = null; | 3386 | plist = null; |
3348 | 3387 | ||
@@ -3643,7 +3682,7 @@ Page({ | @@ -3643,7 +3682,7 @@ Page({ | ||
3643 | }); | 3682 | }); |
3644 | 3683 | ||
3645 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- | 3684 | //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- |
3646 | - if (th.data.sales_rules >= 2 && !th.data.is_newsales_rules && !th.data.sele_g.whsle_id && ([1,2,4,6,8,9].indexOf(th.data.prom_type)==-1 || is_normal == 1)) { | 3685 | + if (!getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && !th.data.sele_g.whsle_id && ([1,2,4,6,8,9].indexOf(th.data.prom_type)==-1 || is_normal == 1)) { |
3647 | setTimeout(function () { | 3686 | setTimeout(function () { |
3648 | th.deal_pickup_dline(e); | 3687 | th.deal_pickup_dline(e); |
3649 | }, 800) | 3688 | }, 800) |
@@ -3939,7 +3978,7 @@ Page({ | @@ -3939,7 +3978,7 @@ Page({ | ||
3939 | } | 3978 | } |
3940 | if (th.data.fir_def_store && | 3979 | if (th.data.fir_def_store && |
3941 | (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) { | 3980 | (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) { |
3942 | - th.data.fir_def_store.Qty; | 3981 | + th.data.fir_def_store.Qty=Qty; |
3943 | if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | 3982 | if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) |
3944 | th.setData({ | 3983 | th.setData({ |
3945 | def_pick_store: th.data.fir_def_store | 3984 | def_pick_store: th.data.fir_def_store |
@@ -4946,6 +4985,7 @@ Page({ | @@ -4946,6 +4985,7 @@ Page({ | ||
4946 | 4985 | ||
4947 | var th = this; | 4986 | var th = this; |
4948 | var ind = parseInt(e.currentTarget.dataset.it); | 4987 | var ind = parseInt(e.currentTarget.dataset.it); |
4988 | + var mo_num=getApp().get_limit_qty(this.data.sele_g); | ||
4949 | 4989 | ||
4950 | //如果是拼单活动的普通购买 | 4990 | //如果是拼单活动的普通购买 |
4951 | if (ind == 1) { | 4991 | if (ind == 1) { |
@@ -4959,14 +4999,19 @@ Page({ | @@ -4959,14 +4999,19 @@ Page({ | ||
4959 | th.get_sto(1); | 4999 | th.get_sto(1); |
4960 | th.setData({ | 5000 | th.setData({ |
4961 | is_normal: ind, | 5001 | is_normal: ind, |
4962 | - openSpecModal_pt: 1 | 5002 | + openSpecModal_pt: 1, |
5003 | + goodsInputNum: mo_num, | ||
5004 | + mo_num:mo_num | ||
5005 | + | ||
4963 | }); | 5006 | }); |
4964 | } else { | 5007 | } else { |
4965 | th.get_sto(1); | 5008 | th.get_sto(1); |
4966 | th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { | 5009 | th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { |
4967 | th.setData({ | 5010 | th.setData({ |
4968 | is_normal: ind, | 5011 | is_normal: ind, |
4969 | - openSpecModal_pt: 1 | 5012 | + openSpecModal_pt: 1, |
5013 | + goodsInputNum: mo_num, | ||
5014 | + mo_num:mo_num | ||
4970 | }); | 5015 | }); |
4971 | }); | 5016 | }); |
4972 | } | 5017 | } |
@@ -4975,6 +5020,10 @@ Page({ | @@ -4975,6 +5020,10 @@ Page({ | ||
4975 | 5020 | ||
4976 | if (th.data.is_normal) { | 5021 | if (th.data.is_normal) { |
4977 | th.data.g_buy_num = new Map(); | 5022 | th.data.g_buy_num = new Map(); |
5023 | + th.setData({ | ||
5024 | + goodsInputNum: mo_num, | ||
5025 | + mo_num:mo_num | ||
5026 | + }); | ||
4978 | } | 5027 | } |
4979 | 5028 | ||
4980 | //拼单商品从这里进,先判断有没有买过商品, | 5029 | //拼单商品从这里进,先判断有没有买过商品, |
@@ -5041,7 +5090,6 @@ Page({ | @@ -5041,7 +5090,6 @@ Page({ | ||
5041 | getApp().confirmBox("拼团商品至少要买" + qnum + "件!"); | 5090 | getApp().confirmBox("拼团商品至少要买" + qnum + "件!"); |
5042 | return false; | 5091 | return false; |
5043 | } | 5092 | } |
5044 | - | ||
5045 | } | 5093 | } |
5046 | 5094 | ||
5047 | th.addcart_pt_func(); | 5095 | th.addcart_pt_func(); |
@@ -6919,7 +6967,7 @@ Page({ | @@ -6919,7 +6967,7 @@ Page({ | ||
6919 | var lock = 0; | 6967 | var lock = 0; |
6920 | 6968 | ||
6921 | //---如果是活动的时候,同时不是普通购买--- | 6969 | //---如果是活动的时候,同时不是普通购买--- |
6922 | - if (th.data.sele_g.whsle_id || [1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) > -1 && !th.data.is_normal) { | 6970 | + if (getApp().is_virtual(th.data.sele_g) || th.data.sele_g.whsle_id || ([1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) > -1 && !th.data.is_normal)) { |
6923 | func(); | 6971 | func(); |
6924 | return false; | 6972 | return false; |
6925 | } | 6973 | } |
@@ -8068,10 +8116,14 @@ Page({ | @@ -8068,10 +8116,14 @@ Page({ | ||
8068 | openSpecModel_Nor: function () { | 8116 | openSpecModel_Nor: function () { |
8069 | this.data.g_buy_num = new Map(); | 8117 | this.data.g_buy_num = new Map(); |
8070 | var th = this; | 8118 | var th = this; |
8119 | + var mo_num=getApp().get_limit_qty(this.data.sele_g); | ||
8120 | + | ||
8071 | this.setData({ | 8121 | this.setData({ |
8072 | open_ind_store: 5, | 8122 | open_ind_store: 5, |
8073 | - goodsInputNum: 1 | 8123 | + goodsInputNum: mo_num, |
8124 | + mo_num:mo_num | ||
8074 | }); //拼团直接给4 | 8125 | }); //拼团直接给4 |
8126 | + | ||
8075 | if (th.data.sku_g_pt) { | 8127 | if (th.data.sku_g_pt) { |
8076 | this.get_sto(1) | 8128 | this.get_sto(1) |
8077 | this.setData({ | 8129 | this.setData({ |
pages/goods/goodsInfo/goodsInfo.wxml
@@ -684,7 +684,7 @@ | @@ -684,7 +684,7 @@ | ||
684 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> | 684 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}"> |
685 | (配送不匹配) | 685 | (配送不匹配) |
686 | </view> | 686 | </view> |
687 | - <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0 && !sele_g.whsle_id}}"> | 687 | + <view class="no_store" wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0 && !sele_g.whsle_id}}"> |
688 | (库存不足) | 688 | (库存不足) |
689 | </view> | 689 | </view> |
690 | </block> | 690 | </block> |
@@ -1264,12 +1264,19 @@ | @@ -1264,12 +1264,19 @@ | ||
1264 | <block wx:if="{{prom_type==0}}"> | 1264 | <block wx:if="{{prom_type==0}}"> |
1265 | <view class="flex"> | 1265 | <view class="flex"> |
1266 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> | 1266 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> |
1267 | + <!-- 线下门店销售的时候 --> | ||
1267 | <block wx:if="{{sales_rules>=2}}"> | 1268 | <block wx:if="{{sales_rules>=2}}"> |
1268 | - <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> | ||
1269 | - 可售:{{def_pick_store.CanOutQty}} | ||
1270 | - </view> | ||
1271 | - <view class="spec-goods-stock" wx:else>可售:0</view> | 1269 | + |
1270 | + <!-- 如果不是虚拟商品的时候 --> | ||
1271 | + <block wx:if="{{!filters.is_virtual_gd(sele_g.is_virtual)}}"> | ||
1272 | + <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}"> | ||
1273 | + 可售:{{def_pick_store.CanOutQty}} | ||
1274 | + </view> | ||
1275 | + <view class="spec-goods-stock" wx:else>可售:0</view> | ||
1276 | + </block> | ||
1277 | + | ||
1272 | </block> | 1278 | </block> |
1279 | + | ||
1273 | <block wx:else> | 1280 | <block wx:else> |
1274 | <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> | 1281 | <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> |
1275 | </block> | 1282 | </block> |
@@ -1314,7 +1321,7 @@ | @@ -1314,7 +1321,7 @@ | ||
1314 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 1321 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
1315 | <block wx:else> | 1322 | <block wx:else> |
1316 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> | 1323 | <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view> |
1317 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0 &&!sele_g.whsle_id}}"> | 1324 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && !filters.is_virtual_gd(sele_g.is_virtual) && sales_rules>=2 && prom_type==0 &&!sele_g.whsle_id && !filters.is_virtual_gd(sele_g)}}"> |
1318 | (库存不足) | 1325 | (库存不足) |
1319 | </view> | 1326 | </view> |
1320 | </block> | 1327 | </block> |
@@ -1394,8 +1401,8 @@ | @@ -1394,8 +1401,8 @@ | ||
1394 | </block> | 1401 | </block> |
1395 | <block wx:else> | 1402 | <block wx:else> |
1396 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> | 1403 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> |
1397 | - <block wx:if="{{sales_rules>=2 && prom_type==0 && !sele_g.whsle_id}}"> | ||
1398 | - <block wx:if="{{!def_pick_store.CanOutQty}}"> | 1404 | + <block wx:if="{{sales_rules>=2 && prom_type==0 && !sele_g.whsle_id && !filters.is_virtual_gd(sele_g.is_virtual) }}"> |
1405 | + <block wx:if="{{!def_pick_store.CanOutQty || def_pick_store.CanOutQty<mo_num }}"> | ||
1399 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> | 1406 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> |
1400 | 库存不足 | 1407 | 库存不足 |
1401 | </view> | 1408 | </view> |
@@ -1411,7 +1418,7 @@ | @@ -1411,7 +1418,7 @@ | ||
1411 | </block> | 1418 | </block> |
1412 | <!-- 线上销售 --> | 1419 | <!-- 线上销售 --> |
1413 | <block wx:else> | 1420 | <block wx:else> |
1414 | - <block wx:if="{{sele_g.store_count<=0 && is_no_new}}"> | 1421 | + <block wx:if="{{(sele_g.store_count<=0 || sele_g.store_count<mo_num ) && is_no_new}}"> |
1415 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> | 1422 | <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999"> |
1416 | 库存不足 | 1423 | 库存不足 |
1417 | </view> | 1424 | </view> |
@@ -1610,7 +1617,7 @@ | @@ -1610,7 +1617,7 @@ | ||
1610 | <view class="flex-vertical-between butttem5"> | 1617 | <view class="flex-vertical-between butttem5"> |
1611 | <view class="flex xc-ash"> | 1618 | <view class="flex xc-ash"> |
1612 | <view class="fs30 xc-black3 address_name">{{item.pickup_name}} | 1619 | <view class="fs30 xc-black3 address_name">{{item.pickup_name}} |
1613 | - <text class="c-red22" wx:if="{{item.is_no_qyt}}">(库存不足)</text> | 1620 | + <text class="c-red22" wx:if="{{item.is_no_qyt && !filters.is_virtual_gd(sele_g.is_virtual)}}">(库存不足)</text> |
1614 | </view> | 1621 | </view> |
1615 | </view> | 1622 | </view> |
1616 | <view> | 1623 | <view> |
@@ -1638,7 +1645,7 @@ | @@ -1638,7 +1645,7 @@ | ||
1638 | <view class="flex-vertical-between "> | 1645 | <view class="flex-vertical-between "> |
1639 | <view class="flex xc-ash"> | 1646 | <view class="flex xc-ash"> |
1640 | <view class="fs30 xc-black3 address_name">{{item.pickup_name}} | 1647 | <view class="fs30 xc-black3 address_name">{{item.pickup_name}} |
1641 | - <text class="c-red22" wx:if="{{item.is_no_qyt}}">(库存不足)</text> | 1648 | + <text class="c-red22" wx:if="{{item.is_no_qyt && !filters.is_virtual_gd(sele_g.is_virtual) }}">(库存不足)</text> |
1642 | </view> | 1649 | </view> |
1643 | </view> | 1650 | </view> |
1644 | <view> | 1651 | <view> |
@@ -1668,7 +1675,7 @@ | @@ -1668,7 +1675,7 @@ | ||
1668 | <view class="flex-vertical-between "> | 1675 | <view class="flex-vertical-between "> |
1669 | <view class="flex xc-ash"> | 1676 | <view class="flex xc-ash"> |
1670 | <view class="fs28 xc-black3 address_name">{{item.pickup_name}} | 1677 | <view class="fs28 xc-black3 address_name">{{item.pickup_name}} |
1671 | - <text class="c-red22" wx:if="{{item.is_no_qyt}}">(库存不足)</text> | 1678 | + <text class="c-red22" wx:if="{{item.is_no_qyt && !filters.is_virtual_gd(sele_g.is_virtual)}}">(库存不足)</text> |
1672 | </view> | 1679 | </view> |
1673 | </view> | 1680 | </view> |
1674 | <view> | 1681 | <view> |
pages/user/index/index.js
@@ -991,10 +991,23 @@ Page({ | @@ -991,10 +991,23 @@ Page({ | ||
991 | //过滤掉分销关闭的 | 991 | //过滤掉分销关闭的 |
992 | let distribut_end_time = await getApp().user_tools_endTime(2);//过滤掉分销到期的 | 992 | let distribut_end_time = await getApp().user_tools_endTime(2);//过滤掉分销到期的 |
993 | await getApp().promiseGet("/api/weshop/storeDistribut/get/" + os.stoid, {}).then(rs => { | 993 | await getApp().promiseGet("/api/weshop/storeDistribut/get/" + os.stoid, {}).then(rs => { |
994 | - if (rs.data.code == 0) { | ||
995 | - var dis = rs.data.data; | 994 | + if (rs.data.code == 0 || !rs.data.data) { |
995 | + var is_ok=1; | ||
996 | + | ||
997 | + if(!distribut_end_time){ | ||
998 | + is_ok=0; | ||
999 | + } | ||
1000 | + else if(!rs.data.data){ | ||
1001 | + is_ok=0; | ||
1002 | + }else{ | ||
1003 | + var dis=rs.data.data; | ||
1004 | + if(!dis || dis.switch == 0){ | ||
1005 | + is_ok=0; | ||
1006 | + } | ||
1007 | + } | ||
1008 | + | ||
996 | for (var i in d_list) { | 1009 | for (var i in d_list) { |
997 | - if (d_list[i].name == '我的分销' && (!dis || dis.switch == 0) || (d_list[i].name == '我的分销' && !distribut_end_time)) { | 1010 | + if (d_list[i].name == '我的分销' && !is_ok) { |
998 | d_list.splice(i, 1); | 1011 | d_list.splice(i, 1); |
999 | } | 1012 | } |
1000 | } | 1013 | } |
pages/user/order_list/order_list.js
@@ -1041,7 +1041,7 @@ Page({ | @@ -1041,7 +1041,7 @@ Page({ | ||
1041 | } | 1041 | } |
1042 | 1042 | ||
1043 | //--如果是线下库存的时候-- | 1043 | //--如果是线下库存的时候-- |
1044 | - if (th.data.conf.sales_rules >= 2 && !gg.whsle_id) { | 1044 | + if (!getApp().is_virtual(gg) && th.data.conf.sales_rules >= 2 && !gg.whsle_id) { |
1045 | var ob = {}; | 1045 | var ob = {}; |
1046 | await th.check_down_line_next(gg, good.goods_num, order.pickup_id, function (obj) { | 1046 | await th.check_down_line_next(gg, good.goods_num, order.pickup_id, function (obj) { |
1047 | ob = obj; | 1047 | ob = obj; |
@@ -1667,7 +1667,7 @@ Page({ | @@ -1667,7 +1667,7 @@ Page({ | ||
1667 | 1667 | ||
1668 | 1668 | ||
1669 | //判断是不是线下库存的购买, 是不是秒杀活动 | 1669 | //判断是不是线下库存的购买, 是不是秒杀活动 |
1670 | - if (th.data.sales_rules >= 2 && !prom && !good.whsle_id) { | 1670 | + if (!getApp().is_virtual(good) && th.data.sales_rules >= 2 && !prom && !good.whsle_id) { |
1671 | 1671 | ||
1672 | //-- 看一下购物车上有多少商品 -- | 1672 | //-- 看一下购物车上有多少商品 -- |
1673 | var cart_num = 0; | 1673 | var cart_num = 0; |
utils/filter.wxs
@@ -289,4 +289,8 @@ module.exports = { | @@ -289,4 +289,8 @@ module.exports = { | ||
289 | isExpired: filters.isExpired, | 289 | isExpired: filters.isExpired, |
290 | gettimestamp: filters.gettimestamp, | 290 | gettimestamp: filters.gettimestamp, |
291 | showStartAndEndDate: filters.showStartAndEndDate, | 291 | showStartAndEndDate: filters.showStartAndEndDate, |
292 | + is_virtual_gd:function (is_virtual){ | ||
293 | + if(is_virtual==2) return true; | ||
294 | + return false; | ||
295 | + } | ||
292 | } | 296 | } |
293 | \ No newline at end of file | 297 | \ No newline at end of file |