Commit df453f1bfa87d8d4ad3253208f2b570190b521fb
1 parent
cf3cea80
OA搭配促销添加使用优惠卷开关
Showing
3 changed files
with
193 additions
and
160 deletions
packageA/pages/prom_list/prom_list.js
| ... | ... | @@ -164,163 +164,187 @@ Page({ |
| 164 | 164 | var ee=this,th=ee,that=ee; |
| 165 | 165 | var gid = this.data.gid,i = getApp().request; |
| 166 | 166 | ee.data.g_buy_num = new Map(); |
| 167 | - this.wait_for_store_config(); | |
| 168 | - setTimeout(function(){ | |
| 169 | - i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { | |
| 170 | - failRollback: !0, | |
| 171 | - success: function(t) { | |
| 172 | - if (t.data.code == 0) { | |
| 173 | - if (t.data.data.is_on_sale != 1) { | |
| 174 | - wx.showModal({ | |
| 175 | - title: '商品已经下架', | |
| 176 | - showCancel: !1, | |
| 177 | - complete: function() { | |
| 178 | - wx.navigateBack(); | |
| 179 | - } | |
| 180 | - }); | |
| 181 | - } | |
| 182 | - | |
| 183 | - var timestamp = Date.parse(new Date()); | |
| 184 | - timestamp = timestamp / 1000; | |
| 185 | - if (t.data.data.on_time > timestamp) { | |
| 186 | - wx.showModal({ | |
| 187 | - title: '商品还未上架', | |
| 188 | - showCancel: !1, | |
| 189 | - complete: function() { | |
| 190 | - wx.navigateBack(); | |
| 191 | - } | |
| 192 | - }); | |
| 193 | - } | |
| 194 | - | |
| 195 | - if (t.data.data.down_time > 0) { | |
| 196 | - if (t.data.data.down_time < timestamp) { | |
| 197 | - wx.showModal({ | |
| 198 | - title: '商品已经到期下架', | |
| 199 | - showCancel: !1, | |
| 200 | - complete: function() { | |
| 201 | - wx.navigateBack(); | |
| 202 | - } | |
| 203 | - }); | |
| 204 | - } | |
| 205 | - } | |
| 206 | - | |
| 207 | - t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); | |
| 208 | - var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2); | |
| 209 | - t.data.data['disc'] = txt; | |
| 210 | - | |
| 211 | - if (t.data.data.original_img.indexOf(o.imghost) == -1) | |
| 212 | - t.data.data.original_img = o.imghost + t.data.data.original_img; | |
| 213 | - if (t.data.data.goods_content == null) t.data.data.goods_content = ""; | |
| 214 | - | |
| 215 | - //计算商品的规格 | |
| 216 | - var gg = ""; | |
| 217 | - if(t.data.data.goods_spec=="null" || t.data.data.goods_spec==null) t.data.data.goods_spec=""; | |
| 218 | - if(t.data.data.goods_color=="null" || t.data.data.goods_color==null) t.data.data.goods_color=""; | |
| 219 | - | |
| 220 | - if (t.data.data.goods_spec != "" && t.data.data.goods_color != "") { | |
| 221 | - gg = t.data.data.goods_spec + "/" + t.data.data.goods_color; | |
| 222 | - } else if (t.data.data.goods_spec != "" || t.data.data.goods_color != "") { | |
| 223 | - gg = t.data.data.goods_spec + t.data.data.goods_color; | |
| 224 | - } else { | |
| 225 | - gg = "规格1"; | |
| 226 | - } | |
| 227 | - t.data.data.gg = gg; | |
| 228 | - | |
| 229 | - | |
| 230 | - //--看一下有没有开启等级卡--- | |
| 231 | - if(ee.data.rank_switch){ | |
| 232 | - //---回调卡的列表--- | |
| 233 | - th.getPlusCardType(function(ob){ | |
| 234 | - var user = getApp().globalData.userInfo; | |
| 235 | - if(user){ | |
| 236 | - if(user.card_field && user['card_expiredate']){ | |
| 237 | - var str = user['card_expiredate'].replace(/-/g, '/'); | |
| 238 | - var end = new Date(str); | |
| 239 | - end = Date.parse(end) / 1000; | |
| 240 | - var now = ut.gettimestamp(); | |
| 241 | - //--- 判断是等级会员,且在有效期范围内 --- | |
| 242 | - if(user.card_field && now<end){ | |
| 243 | - var card_name=ob.name_map.get(user.card_field); | |
| 244 | - if(card_name && card_name.length>5) card_name=card_name.substring(0,5); | |
| 245 | - th.setData({card_field:user.card_field,card_name:card_name}); | |
| 246 | - if(t.data.data[user.card_field]>0) t.data.data.shop_price=t.data.data[user.card_field]; | |
| 247 | - } | |
| 248 | - } | |
| 249 | - } | |
| 250 | - ee.setData({ data: t.data.data, }); | |
| 251 | - }) | |
| 252 | - }else{ | |
| 253 | - ee.setData({ data: t.data.data, }); | |
| 254 | - } | |
| 255 | - | |
| 256 | - if(!ee.data.collocationList){ | |
| 257 | - /*---获取活动的重表---*/ | |
| 258 | - //调用接口判断订单优惠, | |
| 259 | - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+ee.data.gid+"/2", {}).then(res => { | |
| 260 | - if(res.data.code==0){ | |
| 261 | - var r_data=res.data.data; | |
| 262 | - th.loop_promise(0,r_data.collocationList,function(){ | |
| 263 | - ee.setData({ | |
| 264 | - collocationGoods:r_data.collocationPromList, | |
| 265 | - collocationList:r_data.collocationList, | |
| 266 | - }) | |
| 267 | - }) | |
| 268 | - } | |
| 269 | - }) | |
| 270 | - } | |
| 271 | - | |
| 272 | - //获取统一条形码,普通商品和优惠促销的商品 | |
| 273 | - if ( t.data.data.prom_type == 5){ | |
| 274 | - //默认门店要拿下门店库存 | |
| 275 | - if(that.data.sales_rules==2 && that.data.is_newsales_rules){ | |
| 276 | - //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 | |
| 277 | - getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ | |
| 278 | - if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){ | |
| 279 | - var lock=0,plist=null; | |
| 280 | - //先读取门店的lock,采用链式写法,少用await | |
| 281 | - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
| 282 | - data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,pageSize:1000} | |
| 283 | - }).then(res=>{ | |
| 284 | - if(res.data.code==0 && res.data.data.total>0){ | |
| 285 | - for(var i in res.data.data.pageData) | |
| 286 | - lock+=res.data.data.pageData[i].outQty | |
| 287 | - } | |
| 288 | - //---通过接口获取门店的线下库存信息-- | |
| 289 | - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
| 290 | - data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid,pageSize:2000} | |
| 291 | - }) | |
| 292 | - }).then(res=>{ | |
| 293 | - if(res.data.code==0 && res.data.data.total>0){ | |
| 294 | - plist=res.data.data.pageData[0]; | |
| 295 | - } | |
| 296 | - if(plist && plist.CanOutQty-lock>0){ | |
| 297 | - that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; | |
| 298 | - }else{ | |
| 299 | - that.data.fir_def_store.CanOutQty=0; | |
| 300 | - } | |
| 301 | - //--给门店赋值线下库存-- | |
| 302 | - th.setData({def_pick_store:that.data.fir_def_store}); | |
| 303 | - //获取门店 | |
| 304 | - ee.get_sto(); | |
| 305 | - }) | |
| 306 | - }else{ | |
| 307 | - //--获取门店-- | |
| 308 | - ee.get_sto(); | |
| 309 | - } | |
| 310 | - }) | |
| 311 | - }else{ | |
| 312 | - //获取门店 | |
| 313 | - ee.get_sto(); | |
| 314 | - } | |
| 315 | - | |
| 316 | - } | |
| 317 | - else { | |
| 318 | - return getApp().my_warnning("商品没有搭配购的活动",0,th) | |
| 319 | - } | |
| 320 | - } | |
| 321 | - } | |
| 322 | - }); | |
| 323 | - },1000) | |
| 167 | + this.wait_for_store_config(); | |
| 168 | + clearTimeout(ot); | |
| 169 | + var ot = setTimeout(function () { | |
| 170 | + i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { | |
| 171 | + failRollback: !0, | |
| 172 | + success: function (t) { | |
| 173 | + if (t.data.code == 0) { | |
| 174 | + if (t.data.data.is_on_sale != 1) { | |
| 175 | + wx.showModal({ | |
| 176 | + title: '商品已经下架', | |
| 177 | + showCancel: !1, | |
| 178 | + complete: function () { | |
| 179 | + wx.navigateBack(); | |
| 180 | + } | |
| 181 | + }); | |
| 182 | + } | |
| 183 | + | |
| 184 | + var timestamp = Date.parse(new Date()); | |
| 185 | + timestamp = timestamp / 1000; | |
| 186 | + if (t.data.data.on_time > timestamp) { | |
| 187 | + wx.showModal({ | |
| 188 | + title: '商品还未上架', | |
| 189 | + showCancel: !1, | |
| 190 | + complete: function () { | |
| 191 | + wx.navigateBack(); | |
| 192 | + } | |
| 193 | + }); | |
| 194 | + } | |
| 195 | + | |
| 196 | + if (t.data.data.down_time > 0) { | |
| 197 | + if (t.data.data.down_time < timestamp) { | |
| 198 | + wx.showModal({ | |
| 199 | + title: '商品已经到期下架', | |
| 200 | + showCancel: !1, | |
| 201 | + complete: function () { | |
| 202 | + wx.navigateBack(); | |
| 203 | + } | |
| 204 | + }); | |
| 205 | + } | |
| 206 | + } | |
| 207 | + | |
| 208 | + t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); | |
| 209 | + var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2); | |
| 210 | + t.data.data['disc'] = txt; | |
| 211 | + | |
| 212 | + if (t.data.data.original_img.indexOf(o.imghost) == -1) | |
| 213 | + t.data.data.original_img = o.imghost + t.data.data.original_img; | |
| 214 | + if (t.data.data.goods_content == null) t.data.data.goods_content = ""; | |
| 215 | + | |
| 216 | + //计算商品的规格 | |
| 217 | + var gg = ""; | |
| 218 | + if (t.data.data.goods_spec == "null" || t.data.data.goods_spec == null) t.data.data.goods_spec = ""; | |
| 219 | + if (t.data.data.goods_color == "null" || t.data.data.goods_color == null) t.data.data.goods_color = ""; | |
| 220 | + | |
| 221 | + if (t.data.data.goods_spec != "" && t.data.data.goods_color != "") { | |
| 222 | + gg = t.data.data.goods_spec + "/" + t.data.data.goods_color; | |
| 223 | + } else if (t.data.data.goods_spec != "" || t.data.data.goods_color != "") { | |
| 224 | + gg = t.data.data.goods_spec + t.data.data.goods_color; | |
| 225 | + } else { | |
| 226 | + gg = "规格1"; | |
| 227 | + } | |
| 228 | + t.data.data.gg = gg; | |
| 229 | + | |
| 230 | + | |
| 231 | + //--看一下有没有开启等级卡--- | |
| 232 | + if (ee.data.rank_switch) { | |
| 233 | + //---回调卡的列表--- | |
| 234 | + th.getPlusCardType(function (ob) { | |
| 235 | + var user = getApp().globalData.userInfo; | |
| 236 | + if (user) { | |
| 237 | + if (user.card_field && user['card_expiredate']) { | |
| 238 | + var str = user['card_expiredate'].replace(/-/g, '/'); | |
| 239 | + var end = new Date(str); | |
| 240 | + end = Date.parse(end) / 1000; | |
| 241 | + var now = ut.gettimestamp(); | |
| 242 | + //--- 判断是等级会员,且在有效期范围内 --- | |
| 243 | + if (user.card_field && now < end) { | |
| 244 | + var card_name = ob.name_map.get(user.card_field); | |
| 245 | + if (card_name && card_name.length > 5) card_name = card_name.substring(0, 5); | |
| 246 | + th.setData({ | |
| 247 | + card_field: user.card_field, | |
| 248 | + card_name: card_name | |
| 249 | + }); | |
| 250 | + if (t.data.data[user.card_field] > 0) t.data.data.shop_price = t.data.data[user.card_field]; | |
| 251 | + } | |
| 252 | + } | |
| 253 | + } | |
| 254 | + ee.setData({ | |
| 255 | + data: t.data.data, | |
| 256 | + }); | |
| 257 | + }) | |
| 258 | + } else { | |
| 259 | + ee.setData({ | |
| 260 | + data: t.data.data, | |
| 261 | + }); | |
| 262 | + } | |
| 263 | + | |
| 264 | + if (!ee.data.collocationList) { | |
| 265 | + wx.setStorageSync('is_coupon', 1); | |
| 266 | + /*---获取活动的重表---*/ | |
| 267 | + //调用接口判断订单优惠, | |
| 268 | + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + ee.data.gid + "/2", {}).then(res => { | |
| 269 | + if (res.data.code == 0) { | |
| 270 | + var r_data = res.data.data; | |
| 271 | + th.loop_promise(0, r_data.collocationList, function () { | |
| 272 | + // 设置搭配购是否使用优惠卷 | |
| 273 | + wx.setStorageSync('is_coupon', r_data.collocationPromList.is_coupon); | |
| 274 | + ee.setData({ | |
| 275 | + collocationGoods: r_data.collocationPromList, | |
| 276 | + collocationList: r_data.collocationList, | |
| 277 | + }) | |
| 278 | + }) | |
| 279 | + } | |
| 280 | + }) | |
| 281 | + } | |
| 282 | + | |
| 283 | + //获取统一条形码,普通商品和优惠促销的商品 | |
| 284 | + if (t.data.data.prom_type == 5) { | |
| 285 | + //默认门店要拿下门店库存 | |
| 286 | + if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { | |
| 287 | + //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 | |
| 288 | + getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { | |
| 289 | + if (th.data.fir_def_store && th.data.fir_def_store.pickup_id) { | |
| 290 | + var lock = 0, | |
| 291 | + plist = null; | |
| 292 | + //先读取门店的lock,采用链式写法,少用await | |
| 293 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | |
| 294 | + data: { | |
| 295 | + store_id: os.stoid, | |
| 296 | + wareId: ee.data.data.goods_id, | |
| 297 | + storageId: that.data.fir_def_store.pickup_id, | |
| 298 | + pageSize: 1000 | |
| 299 | + } | |
| 300 | + }).then(res => { | |
| 301 | + if (res.data.code == 0 && res.data.data.total > 0) { | |
| 302 | + for (var i in res.data.data.pageData) | |
| 303 | + lock += res.data.data.pageData[i].outQty | |
| 304 | + } | |
| 305 | + //---通过接口获取门店的线下库存信息-- | |
| 306 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | |
| 307 | + data: { | |
| 308 | + storageNos: that.data.fir_def_store.pickup_no, | |
| 309 | + wareIds: encodeURIComponent(th.data.data.erpwareid), | |
| 310 | + storeId: os.stoid, | |
| 311 | + pageSize: 2000 | |
| 312 | + } | |
| 313 | + }) | |
| 314 | + }).then(res => { | |
| 315 | + if (res.data.code == 0 && res.data.data.total > 0) { | |
| 316 | + plist = res.data.data.pageData[0]; | |
| 317 | + } | |
| 318 | + if (plist && plist.CanOutQty - lock > 0) { | |
| 319 | + that.data.fir_def_store.CanOutQty = plist.CanOutQty - lock; | |
| 320 | + } else { | |
| 321 | + that.data.fir_def_store.CanOutQty = 0; | |
| 322 | + } | |
| 323 | + //--给门店赋值线下库存-- | |
| 324 | + th.setData({ | |
| 325 | + def_pick_store: that.data.fir_def_store | |
| 326 | + }); | |
| 327 | + //获取门店 | |
| 328 | + ee.get_sto(); | |
| 329 | + }) | |
| 330 | + } else { | |
| 331 | + //--获取门店-- | |
| 332 | + ee.get_sto(); | |
| 333 | + } | |
| 334 | + }) | |
| 335 | + } else { | |
| 336 | + //获取门店 | |
| 337 | + ee.get_sto(); | |
| 338 | + } | |
| 339 | + | |
| 340 | + } else { | |
| 341 | + return getApp().my_warnning("商品没有搭配购的活动", 0, th) | |
| 342 | + } | |
| 343 | + } | |
| 344 | + } | |
| 345 | + }); | |
| 346 | + clearTimeout(ot); | |
| 347 | + }, 1000) | |
| 324 | 348 | }, |
| 325 | 349 | |
| 326 | 350 | onUnload: function() {}, | ... | ... |
pages/cart/cart2/cart2.js
| ... | ... | @@ -166,7 +166,12 @@ Page({ |
| 166 | 166 | //----------子页返回父页触发---------- |
| 167 | 167 | onShow: function () { |
| 168 | 168 | var th = this; |
| 169 | - th.setData({show_submit: 0}); //让提交先掩藏 | |
| 169 | + // 搭配购是否使用优惠卷 | |
| 170 | + var isCoupon = wx.getStorageSync('is_coupon'); | |
| 171 | + th.setData({ | |
| 172 | + show_submit: 0, | |
| 173 | + is_coupon: isCoupon, | |
| 174 | + }); //让提交先掩藏 | |
| 170 | 175 | th.data.g_cart_q_time = null; |
| 171 | 176 | |
| 172 | 177 | if (th.data.isclose == 0) { |
| ... | ... | @@ -319,6 +324,7 @@ Page({ |
| 319 | 324 | typeof func == "function" && func(); |
| 320 | 325 | }) |
| 321 | 326 | }, |
| 327 | + | |
| 322 | 328 | //------获取会员信息-----先获取用户信息,在进行下一步--- |
| 323 | 329 | get_info: function (func) { |
| 324 | 330 | var user_id = t.globalData.user_id; |
| ... | ... | @@ -961,6 +967,7 @@ Page({ |
| 961 | 967 | } else { |
| 962 | 968 | //--看是不是搭配促销-- |
| 963 | 969 | if (gg.prom_type == 5) { |
| 970 | + | |
| 964 | 971 | t.data.data.prom_id = gg.prom_id; |
| 965 | 972 | t.data.data.prom_type = 5; |
| 966 | 973 | if (gg.room_id) { |
| ... | ... | @@ -3517,6 +3524,7 @@ Page({ |
| 3517 | 3524 | if (th.data.is_b_now == 1) { |
| 3518 | 3525 | th.setData({index: m_wind, is_express: m_wind}); |
| 3519 | 3526 | } else { |
| 3527 | + clearInterval(ui); | |
| 3520 | 3528 | var ui = setInterval(function () { |
| 3521 | 3529 | if (th.data.cartlist) { |
| 3522 | 3530 | var c_arr = th.data.cartlist; | ... | ... |
pages/cart/cart2/cart2.wxml
| ... | ... | @@ -343,14 +343,15 @@ |
| 343 | 343 | |
| 344 | 344 | |
| 345 | 345 | <view class="set-mes bdr_b-14"> |
| 346 | + | |
| 346 | 347 | <view wx:if="{{order.store_prom}}"> |
| 347 | 348 | <icon color="#f23030" size="16" type="info"></icon>{{order.store_prom}} |
| 348 | 349 | </view> |
| 349 | 350 | |
| 350 | - <view class="xc-coupon-frame flex-center" data-bn="1" bindtap="open_coupon_list" data-pickid="{{bn_pick}}" wx:if="{{(selected_quan_list && selected_quan_list.length>0) || get_by_quan_list!=null}}"> | |
| 351 | + <view class="xc-coupon-frame flex-center" data-bn="1" bindtap="open_coupon_list" data-pickid="{{bn_pick}}" wx:if="{{is_coupon > 0 && ((selected_quan_list && selected_quan_list.length>0) || get_by_quan_list!=null)}}"> | |
| 351 | 352 | <view class="work-frame flex-space-between"> |
| 352 | 353 | <view class="work"> |
| 353 | - 优惠券 <text class="quan_num_show">{{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用</text> | |
| 354 | + 优惠券2222 <text class="quan_num_show">{{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用</text> | |
| 354 | 355 | </view> |
| 355 | 356 | <view class="xc-right-frame"> |
| 356 | 357 | <text wx:if="{{using_quan[bn_pick].is_nouse}}">不使用</text> | ... | ... |