From df453f1bfa87d8d4ad3253208f2b570190b521fb Mon Sep 17 00:00:00 2001 From: banche Date: Wed, 22 Dec 2021 16:43:08 +0800 Subject: [PATCH] OA搭配促销添加使用优惠卷开关 --- packageA/pages/prom_list/prom_list.js | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------- pages/cart/cart2/cart2.js | 10 +++++++++- pages/cart/cart2/cart2.wxml | 5 +++-- 3 files changed, 193 insertions(+), 160 deletions(-) diff --git a/packageA/pages/prom_list/prom_list.js b/packageA/pages/prom_list/prom_list.js index 546becc..4e985ca 100644 --- a/packageA/pages/prom_list/prom_list.js +++ b/packageA/pages/prom_list/prom_list.js @@ -164,163 +164,187 @@ Page({ var ee=this,th=ee,that=ee; var gid = this.data.gid,i = getApp().request; ee.data.g_buy_num = new Map(); - this.wait_for_store_config(); - setTimeout(function(){ - i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { - failRollback: !0, - success: function(t) { - if (t.data.code == 0) { - if (t.data.data.is_on_sale != 1) { - wx.showModal({ - title: '商品已经下架', - showCancel: !1, - complete: function() { - wx.navigateBack(); - } - }); - } - - var timestamp = Date.parse(new Date()); - timestamp = timestamp / 1000; - if (t.data.data.on_time > timestamp) { - wx.showModal({ - title: '商品还未上架', - showCancel: !1, - complete: function() { - wx.navigateBack(); - } - }); - } - - if (t.data.data.down_time > 0) { - if (t.data.data.down_time < timestamp) { - wx.showModal({ - title: '商品已经到期下架', - showCancel: !1, - complete: function() { - wx.navigateBack(); - } - }); - } - } - - t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); - var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2); - t.data.data['disc'] = txt; - - if (t.data.data.original_img.indexOf(o.imghost) == -1) - t.data.data.original_img = o.imghost + t.data.data.original_img; - if (t.data.data.goods_content == null) t.data.data.goods_content = ""; - - //计算商品的规格 - var gg = ""; - if(t.data.data.goods_spec=="null" || t.data.data.goods_spec==null) t.data.data.goods_spec=""; - if(t.data.data.goods_color=="null" || t.data.data.goods_color==null) t.data.data.goods_color=""; - - if (t.data.data.goods_spec != "" && t.data.data.goods_color != "") { - gg = t.data.data.goods_spec + "/" + t.data.data.goods_color; - } else if (t.data.data.goods_spec != "" || t.data.data.goods_color != "") { - gg = t.data.data.goods_spec + t.data.data.goods_color; - } else { - gg = "规格1"; - } - t.data.data.gg = gg; - - - //--看一下有没有开启等级卡--- - if(ee.data.rank_switch){ - //---回调卡的列表--- - th.getPlusCardType(function(ob){ - var user = getApp().globalData.userInfo; - if(user){ - if(user.card_field && user['card_expiredate']){ - var str = user['card_expiredate'].replace(/-/g, '/'); - var end = new Date(str); - end = Date.parse(end) / 1000; - var now = ut.gettimestamp(); - //--- 判断是等级会员,且在有效期范围内 --- - if(user.card_field && now5) card_name=card_name.substring(0,5); - th.setData({card_field:user.card_field,card_name:card_name}); - if(t.data.data[user.card_field]>0) t.data.data.shop_price=t.data.data[user.card_field]; - } - } - } - ee.setData({ data: t.data.data, }); - }) - }else{ - ee.setData({ data: t.data.data, }); - } - - if(!ee.data.collocationList){ - /*---获取活动的重表---*/ - //调用接口判断订单优惠, - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+ee.data.gid+"/2", {}).then(res => { - if(res.data.code==0){ - var r_data=res.data.data; - th.loop_promise(0,r_data.collocationList,function(){ - ee.setData({ - collocationGoods:r_data.collocationPromList, - collocationList:r_data.collocationList, - }) - }) - } - }) - } - - //获取统一条形码,普通商品和优惠促销的商品 - if ( t.data.data.prom_type == 5){ - //默认门店要拿下门店库存 - if(that.data.sales_rules==2 && that.data.is_newsales_rules){ - //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 - getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ - if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){ - var lock=0,plist=null; - //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,pageSize:1000} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - for(var i in res.data.data.pageData) - lock+=res.data.data.pageData[i].outQty - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid,pageSize:2000} - }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - if(plist && plist.CanOutQty-lock>0){ - that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; - }else{ - that.data.fir_def_store.CanOutQty=0; - } - //--给门店赋值线下库存-- - th.setData({def_pick_store:that.data.fir_def_store}); - //获取门店 - ee.get_sto(); - }) - }else{ - //--获取门店-- - ee.get_sto(); - } - }) - }else{ - //获取门店 - ee.get_sto(); - } - - } - else { - return getApp().my_warnning("商品没有搭配购的活动",0,th) - } - } - } - }); - },1000) + this.wait_for_store_config(); + clearTimeout(ot); + var ot = setTimeout(function () { + i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { + failRollback: !0, + success: function (t) { + if (t.data.code == 0) { + if (t.data.data.is_on_sale != 1) { + wx.showModal({ + title: '商品已经下架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + + var timestamp = Date.parse(new Date()); + timestamp = timestamp / 1000; + if (t.data.data.on_time > timestamp) { + wx.showModal({ + title: '商品还未上架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + + if (t.data.data.down_time > 0) { + if (t.data.data.down_time < timestamp) { + wx.showModal({ + title: '商品已经到期下架', + showCancel: !1, + complete: function () { + wx.navigateBack(); + } + }); + } + } + + t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); + var txt = (t.data.data.shop_price / t.data.data.market_price * 10).toFixed(2); + t.data.data['disc'] = txt; + + if (t.data.data.original_img.indexOf(o.imghost) == -1) + t.data.data.original_img = o.imghost + t.data.data.original_img; + if (t.data.data.goods_content == null) t.data.data.goods_content = ""; + + //计算商品的规格 + var gg = ""; + if (t.data.data.goods_spec == "null" || t.data.data.goods_spec == null) t.data.data.goods_spec = ""; + if (t.data.data.goods_color == "null" || t.data.data.goods_color == null) t.data.data.goods_color = ""; + + if (t.data.data.goods_spec != "" && t.data.data.goods_color != "") { + gg = t.data.data.goods_spec + "/" + t.data.data.goods_color; + } else if (t.data.data.goods_spec != "" || t.data.data.goods_color != "") { + gg = t.data.data.goods_spec + t.data.data.goods_color; + } else { + gg = "规格1"; + } + t.data.data.gg = gg; + + + //--看一下有没有开启等级卡--- + if (ee.data.rank_switch) { + //---回调卡的列表--- + th.getPlusCardType(function (ob) { + var user = getApp().globalData.userInfo; + if (user) { + if (user.card_field && user['card_expiredate']) { + var str = user['card_expiredate'].replace(/-/g, '/'); + var end = new Date(str); + end = Date.parse(end) / 1000; + var now = ut.gettimestamp(); + //--- 判断是等级会员,且在有效期范围内 --- + if (user.card_field && now < end) { + var card_name = ob.name_map.get(user.card_field); + if (card_name && card_name.length > 5) card_name = card_name.substring(0, 5); + th.setData({ + card_field: user.card_field, + card_name: card_name + }); + if (t.data.data[user.card_field] > 0) t.data.data.shop_price = t.data.data[user.card_field]; + } + } + } + ee.setData({ + data: t.data.data, + }); + }) + } else { + ee.setData({ + data: t.data.data, + }); + } + + if (!ee.data.collocationList) { + wx.setStorageSync('is_coupon', 1); + /*---获取活动的重表---*/ + //调用接口判断订单优惠, + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + ee.data.gid + "/2", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + th.loop_promise(0, r_data.collocationList, function () { + // 设置搭配购是否使用优惠卷 + wx.setStorageSync('is_coupon', r_data.collocationPromList.is_coupon); + ee.setData({ + collocationGoods: r_data.collocationPromList, + collocationList: r_data.collocationList, + }) + }) + } + }) + } + + //获取统一条形码,普通商品和优惠促销的商品 + if (t.data.data.prom_type == 5) { + //默认门店要拿下门店库存 + if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { + //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 + getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { + if (th.data.fir_def_store && th.data.fir_def_store.pickup_id) { + var lock = 0, + plist = null; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: ee.data.data.goods_id, + storageId: that.data.fir_def_store.pickup_id, + pageSize: 1000 + } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + for (var i in res.data.data.pageData) + lock += res.data.data.pageData[i].outQty + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { + storageNos: that.data.fir_def_store.pickup_no, + wareIds: encodeURIComponent(th.data.data.erpwareid), + storeId: os.stoid, + pageSize: 2000 + } + }) + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; + } + if (plist && plist.CanOutQty - lock > 0) { + that.data.fir_def_store.CanOutQty = plist.CanOutQty - lock; + } else { + that.data.fir_def_store.CanOutQty = 0; + } + //--给门店赋值线下库存-- + th.setData({ + def_pick_store: that.data.fir_def_store + }); + //获取门店 + ee.get_sto(); + }) + } else { + //--获取门店-- + ee.get_sto(); + } + }) + } else { + //获取门店 + ee.get_sto(); + } + + } else { + return getApp().my_warnning("商品没有搭配购的活动", 0, th) + } + } + } + }); + clearTimeout(ot); + }, 1000) }, onUnload: function() {}, diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index c16c5c0..2e7798e 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -166,7 +166,12 @@ Page({ //----------子页返回父页触发---------- onShow: function () { var th = this; - th.setData({show_submit: 0}); //让提交先掩藏 + // 搭配购是否使用优惠卷 + var isCoupon = wx.getStorageSync('is_coupon'); + th.setData({ + show_submit: 0, + is_coupon: isCoupon, + }); //让提交先掩藏 th.data.g_cart_q_time = null; if (th.data.isclose == 0) { @@ -319,6 +324,7 @@ Page({ typeof func == "function" && func(); }) }, + //------获取会员信息-----先获取用户信息,在进行下一步--- get_info: function (func) { var user_id = t.globalData.user_id; @@ -961,6 +967,7 @@ Page({ } else { //--看是不是搭配促销-- if (gg.prom_type == 5) { + t.data.data.prom_id = gg.prom_id; t.data.data.prom_type = 5; if (gg.room_id) { @@ -3517,6 +3524,7 @@ Page({ if (th.data.is_b_now == 1) { th.setData({index: m_wind, is_express: m_wind}); } else { + clearInterval(ui); var ui = setInterval(function () { if (th.data.cartlist) { var c_arr = th.data.cartlist; diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml index 95bea2b..225a0aa 100644 --- a/pages/cart/cart2/cart2.wxml +++ b/pages/cart/cart2/cart2.wxml @@ -343,14 +343,15 @@ + {{order.store_prom}} - + - 优惠券 {{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用 + 优惠券2222 {{(selected_quan_list?selected_quan_list.length:0)+ (get_by_quan_list?get_by_quan_list.length:0)}}张可用 不使用 -- libgit2 0.21.4