From 03f818f4742f1aa3ffdea4beca3ff797acc6d04e Mon Sep 17 00:00:00 2001 From: taiwan Date: Thu, 10 Mar 2022 11:28:34 +0800 Subject: [PATCH] 服务卡秒杀-单独购买 --- packageA/pages/goodsInfo/buy_flash_normal.wxml | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageA/pages/goodsInfo/goodsInfo.js | 728 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------- packageA/pages/goodsInfo/goodsInfo.wxml | 81 ++++++++++++++++++++++++++++++++++++++++++--------------------------------------- packageA/pages/goodsInfo/goodsInfo.wxss | 2 +- utils/weapp-icon.wxss | 7 ------- 5 files changed, 805 insertions(+), 154 deletions(-) create mode 100644 packageA/pages/goodsInfo/buy_flash_normal.wxml diff --git a/packageA/pages/goodsInfo/buy_flash_normal.wxml b/packageA/pages/goodsInfo/buy_flash_normal.wxml new file mode 100644 index 0000000..638a9da --- /dev/null +++ b/packageA/pages/goodsInfo/buy_flash_normal.wxml @@ -0,0 +1,141 @@ + + + + + + + + {{data.goods_name}} + + {{data.shop_price}} + + + + + + + + + + + + + + + {{def_pick_store.pickup_name}} + + 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} + + + + + + + + 选择门店 + + + 更多门店 + + (库存不足) + + (库存不足) + + (配送不匹配) + (库存不足) + + + 地址:{{def_pick_store.fulladdress}} + + + + + + + 购买数量 + + - + + + + + + + + + + + 再买{{hui_condition.need}} + ,免{{hui_condition.money}}元 + ,打{{hui_condition.sale}}折 + ,包邮 + ,送{{hui_condition.intValue}}积分 + ,送优惠券 + ,送赠品 + ,送礼包 + ,送专享礼包 + + + + + + + + + 配送不匹配 + + + + + 库存不足 + + + + + + 库存不足 + + + + 库存不足 + + + + 请先选择门店 + + + + 库存不足 + + + + 加入购物车 + 立即购买 + + + + + + + + + + + + + \ No newline at end of file diff --git a/packageA/pages/goodsInfo/goodsInfo.js b/packageA/pages/goodsInfo/goodsInfo.js index 1473296..9022cbf 100644 --- a/packageA/pages/goodsInfo/goodsInfo.js +++ b/packageA/pages/goodsInfo/goodsInfo.js @@ -207,7 +207,7 @@ Page({ sto_sele_name_1:'',//分享的门店名称 // 秒杀 - prom_st: 1, + prom_st: 0, prom_r_null: 0, hiddenCS: true, //控制客服操作菜单显示和控制 @@ -700,6 +700,7 @@ Page({ that.setData({ 'data.goods_name': t.data.data.serviceName, 'data.shop_price': t.data.data.money, + 'data.show_price': t.data.data.show_price, 'data.validDays': t.data.data.validDays, 'data.serviceContent': t.data.data.serviceContent, 'data.image_url': t.data.data.imgUrl, @@ -877,20 +878,20 @@ Page({ //000000 - if(this.data.options.prom_type == 1) { - var t = th.data.goodsInputNum; + if(this.data.options.prom_type == 1 && !this.data.prom_act.is_shop_buy) { + var t = th.data.goodsInputNum + 1; th.data.sele_g.viplimited = th.data.sele_g.buy_limit; if (th.data.sele_g.viplimited > 0) { var gd_buy_num = th.data.sele_g.buy_num; - if (t + gd_buy_num >= th.data.sele_g.viplimited) { + if (t + gd_buy_num > th.data.sele_g.viplimited) { wx.showModal({ title: '超出商品限购', }); - // var num = th.data.sele_g.viplimited - gd_buy_num; - // if (num < 0) num = th.data.sele_g.viplimited; - th.setData({goodsInputNum: 0}); + let num = th.data.sele_g.viplimited - gd_buy_num; + if (num < 0) num = 0; + th.setData({goodsInputNum: num}); return false; } }; @@ -919,7 +920,12 @@ Page({ newd['prom_type'] = this.data.prom_type; newd['prom_id'] = this.data.prom_id; newd['prom_price'] = this.data.prom_price; - } + }; + + if(this.data.prom_act.is_shop_buy) { + newd['prom_type'] = 0; + newd['prom_price'] = this.data.data.shop_price; + }; // console.log('newd++++++++', newd); th.buyNow(newd); @@ -1025,90 +1031,107 @@ Page({ //------检查数量是不是超出限购------ checkCartNum: function(t) { - if(t<=0) return false; - var th = this; - th.setData({goodsInputNum:t}); - - var th = this; - this.get_buy_num(this.data.sele_g, async function () { - th.data.sele_g.viplimited = th.data.sele_g.buy_limit; - - //--判断商品是否超出限购-- - // if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { - if (th.data.sele_g.viplimited > 0) { - var gd_buy_num = th.data.sele_g.buy_num; - - if (t + gd_buy_num > th.data.sele_g.viplimited) { - wx.showModal({ - title: '超出商品限购', - }); - var num = th.data.sele_g.viplimited - gd_buy_num; - if (num < 0) num = 0; - th.setData({goodsInputNum: num}) - return false; - } - } - - //如果是普通购买的情况下 - if(th.data.openSpecModal_flash_normal) th.data.is_normal=1; + // if(this.data.prom_act.is_shop_buy && this.data.options.prom_type != 1) { + // if(th.data.is_normal) { + + if(t<=0) return false; + th.setData({goodsInputNum:t}); + // } else { - //--判断商品是否超出活动限购-- - if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && !th.data.is_normal) { - if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '超出商品活动限购', - }); + if(this.data.options.prom_type == 1 && !this.data.openSpecModal_flash_normal) { + + this.get_buy_num(this.data.sele_g, async function () { + th.data.sele_g.viplimited = th.data.sele_g.buy_limit; + + //--判断商品是否超出限购-- + // if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + if(!th.data.prom_act.is_shop_buy) { + + if (th.data.sele_g.viplimited > 0) { + var gd_buy_num = th.data.sele_g.buy_num; + + if (t + gd_buy_num> th.data.sele_g.viplimited) { + wx.showModal({ + title: '超出商品限购', + }); + + var num = th.data.sele_g.viplimited - gd_buy_num; + if (num < 0) num = 0; + th.setData({goodsInputNum: num}) + return false; + } + } + + }; + + + //如果是普通购买的情况下 + if(th.data.openSpecModal_flash_normal) th.data.is_normal=1; + + //--判断商品是否超出活动限购-- + if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0 && !th.data.is_normal) { + if (t + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '超出商品活动限购', + }); + + var num = th.data.prom_buy_limit - th.data.prom_buy_num; + if (num < 0) num = 0; + th.setData({goodsInputNum: num}) + return false; + } + } + + if (th.data.sele_g.prom_type == 1 && !th.data.is_normal) { + var redis_num = 0; + //------判断活动是否抢光----- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + + os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + + if (t > redis_num) { + wx.showModal({ + title: '超出商品活动库存', + }); + th.setData({goodsInputNum: redis_num}) + return false; + } + } + var e = th.data.sele_g.store_count; + var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 + 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)) { + if (!th.data.def_pick_store) { + wx.showModal({title: '请选择门店',}); + return false; + } else { + e = th.data.def_pick_store.CanOutQty; + } + } + if (!e) e = 0; + //库存不足,不增加 + if (e < t) { + wx.showModal({title: '库存不足',}); + if (e < 0) e = 0; + th.setData({goodsInputNum: e}); + return false; + } + t > e || 0 == e ? t = e : t < 1 && (t = 1); + th.setData({goodsInputNum: t}); + // th.is_show_more_buy(); + + }) + + }; + - var num = th.data.prom_buy_limit - th.data.prom_buy_num; - if (num < 0) num = 0; - th.setData({goodsInputNum: num}) - return false; - } - } - if ((th.data.sele_g.prom_type == 1 || th.data.sele_g.prom_type == 6) && !th.data.is_normal) { - var redis_num = 0; - //------判断活动是否抢光----- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + th.data.sele_g.prom_type + "/" + th.data.sele_g.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }); - if (t > redis_num) { - wx.showModal({ - title: '超出商品活动库存', - }); - th.setData({goodsInputNum: redis_num}) - return false; - } - } - var e = th.data.sele_g.store_count; - var p_type = th.data.prom_type; //&& p_type!=1 && p_type!=4 - 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)) { - if (!th.data.def_pick_store) { - wx.showModal({title: '请选择门店',}); - return false; - } else { - e = th.data.def_pick_store.CanOutQty; - } - } - if (!e) e = 0; - //库存不足,不增加 - if (e < t) { - wx.showModal({title: '库存不足',}); - if (e < 0) e = 0; - th.setData({goodsInputNum: e}); - return false; - } - t > e || 0 == e ? t = e : t < 1 && (t = 1); - th.setData({goodsInputNum: t}); - // th.is_show_more_buy(); - }) }, @@ -3151,14 +3174,10 @@ Page({ var em = res; if (em.data.code == 0) { - if (em.data.data <= 0) { - wx.showModal({ - title: '来晚了,已被抢光!', - }); - - ee.setData({ + if (em.data.data <= 0) { + th.setData({ prom_r_null: 1, - goodsInputNum: 0 + goodsInputNum: res.data.data, }); // th.setData({goodsInputNum: redis_num}) @@ -3212,7 +3231,7 @@ Page({ var endTime1 = t.data.data.start_time; if (endTime1 > newTime) { ee.setData({ - prom_time_text: '距秒杀开始还有' + prom_time_text: '距秒杀开始还有', }) ee.countDown(endTime1, 0); } else { @@ -3430,18 +3449,22 @@ Page({ this.data.g_buy_num = new Map(); var th = this; this.setData({open_ind_store: 5, goodsInputNum: 1});//拼团直接给4 - if (th.data.sku_g_pt) { - this.get_sto(1) - this.setData({openSpecModal_flash_normal: 1}); - } else { - th.get_sto(1); - th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { - th.setData({ - openSpecModal_flash_normal: 1 - }); - }); - } - this.check_is_youhui(th.data.gid, 1); + + this.setData({openSpecModal_flash_normal: 1}); + + + // if (th.data.sku_g_pt) { + // // this.get_sto(1) + // this.setData({openSpecModal_flash_normal: 1}); + // } else { + // th.get_sto(1); + // th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { + // th.setData({ + // openSpecModal_flash_normal: 1 + // }); + // }); + // } + // this.check_is_youhui(th.data.gid, 1); }, closeSpecModal_flash_normal: function () { @@ -3475,11 +3498,502 @@ Page({ this.setData({ hiddenCS: true, }); - } + }, - + + + + + //-- 加入购物的函数 -- + add_cart_func: function (t) { + var i = getApp().request; + if (oo.user_id == null) { + return s.my_warnning("还未登录!", 0, this); + } + + if (!getApp().globalData.userInfo) { + return s.my_warnning("还未登录!", 0, this); + } + + var e = this, + th = e, + a = 0, + o = this.data.sele_g; + a = o.goods_id; + + //----------添加到购物车时,要判断限购数量,-------- + e.get_buy_num(o, function (ee) { + //---判断商品是否超出限购--- + if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { + if (th.data.goodsInputNum + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { + wx.showModal({ + title: '提示', + content: '超出商品限购' + }); + return false; + } + } + //---判断商品是否超出活动限购--- + if ((th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) && !th.data.is_normal) { + if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + return false; + } + } + + if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) + this.setData({ + sto_sele_name: "" + }); + if (th.data.sto_sele_name == "") return s.my_warnning("请选择门店", 0, th); + + //--------------此时操作的数据------------ + var newd = { + goods_id: o.goods_id, + goods_num: th.data.goodsInputNum, + pick_id: th.data.sto_sele_id, + user_id: oo.user_id, + store_id: th.data.stoid, + goods_price: o.shop_price, + member_goods_price: o.shop_price, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + prom_id: th.data.sele_g.prom_id, + prom_type: th.data.sele_g.prom_type, + }; + + //---是不是从收藏夹出来的--- + if (th.data.c_guide_id) { + newd['guide_id'] = th.data.c_guide_id; + newd['guide_type'] = 2; + if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 3; + } else { + if (getApp().globalData.guide_id) { + newd['guide_id'] = getApp().globalData.guide_id; + newd['guide_type'] = 0; + if ("add" == t.currentTarget.dataset.action) newd['guide_type'] = 1; + } + } + + //让商品带上房间号 + //让商品带上房间号 + if (th.data.sys_switch.is_skuroom_id == 1) { + if (th.data.data.goods_id == getApp().globalData.room_goods_id) { + newd.room_id = getApp().globalData.room_id; + } + } else { + if (newd.goods_id == getApp().globalData.room_goods_id) newd.room_id = getApp().globalData.room_id; + } + + //如果是积分够,is_integral_normal就要有积分购普通购买字段 + if (o.prom_type == 4) { + newd.is_integral_normal = 1; + } + + //如果有线下取价 + if (o.offline_price) { + newd.offline_price = o.offline_price; + newd.pricing_type = o.pricing_type; + } + + //-----如果是秒杀,团购,积分购,拼团----- + if (th.data.prom_type == 1 || th.data.prom_type == 2) { + + if (th.data.openSpecModal_flash_normal) { + + newd.prom_type = 0; + newd.prom_id = 0; + + //---如果是线下门店销售的时候--- + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) + //---通过接口获取门店的线下库存信息-- + getApp().request.get("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pick.pickup_no, + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), + storeId: os.stoid + }, + success: function (res) { + if (res.data.code == 0) { + if (res.data.data.pageData.length > 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: th.data.sele_g.goods_id, + storageId: pick.pickup_id, + pageSize: 1000 + }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + var lock = 0; + for (var i in res_data.data.data.pageData) { + lock += res_data.data.data.pageData[i].outQty; + } + + if (CanOutQty <= lock) { + return s.my_warnning("库存不足!", 0, th); + } + th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); + } else { + th.add_cart_next(e, t, a, o, newd, CanOutQty); + } + } + }) + } else { + return s.my_warnning("库存不足!", 0, th); + } + + } + } + }) + } else { + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + + return false; + } + + + newd.goods_price = th.data.prom_price; + newd.member_goods_price = th.data.prom_price, + newd.prom_type = th.data.prom_type; + newd.prom_id = th.data.prom_id; + + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + + } else if (o.prom_type == 7) { + + //判断进行中的活动,是不是要判断线下库存 + th.check_zh_acting(function (ee) { + newd.prom_id = 0; + newd.prom_type = 0; + if (ee && th.data.sele_g.act) { + newd.prom_id = th.data.sele_g.act.id; + newd.prom_type = 7; + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + return false; + } else { + //---如果是线下门店销售的时候--- + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) + //---通过接口获取门店的线下库存信息-- + getApp().request.get("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pick.pickup_no, + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), + storeId: os.stoid + }, + success: function (res) { + if (res.data.code == 0) { + if (res.data.data.pageData.length > 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: th.data.sele_g.goods_id, + storageId: pick.pickup_id, + pageSize: 1000 + }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + var lock = 0; + for (var i in res_data.data.data.pageData) { + lock += res_data.data.data.pageData[i].outQty; + } + + if (CanOutQty <= lock) { + return s.my_warnning("库存不足!", 0, th); + } + th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); + } else { + th.add_cart_next(e, t, a, o, newd, CanOutQty); + } + } + }) + } else { + return s.my_warnning("库存不足!", 0, th); + } + + } + } + }) + } else { + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + } + }) + + } + 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) { + newd.prom_type = 0; + newd.prom_id = 0; + + if (th.data.prom_type == 10) { + newd.prom_type = th.data.prom_type; + newd.prom_id = th.data.prom_id; + } + + //---如果是线下门店销售的时候--- + if (th.data.sales_rules == 2) { + var pick = th.get_pick_from_list(th.data.sto_sele_id) + //---通过接口获取门店的线下库存信息-- + getApp().request.get("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pick.pickup_no, + wareIds: encodeURIComponent(th.data.sele_g.erpwareid), + storeId: os.stoid + }, + success: function (res) { + if (res.data.code == 0) { + if (res.data.data.pageData.length > 0) { + var CanOutQty = res.data.data.pageData[0].CanOutQty; + if (CanOutQty < e.data.goodsInputNum) { + return s.my_warnning("库存不足!", 0, th); + } + //在调一次接口,读取商品的预出库的数量,lock + getApp().request.get("/api/weshop/order/ware/lock/page", { + data: { + store_id: os.stoid, + wareId: th.data.sele_g.goods_id, + storageId: pick.pickup_id, + pageSize: 1000 + }, + success: function (res_data) { + if (res_data.data.code == 0 && res_data.data.data.total > 0) { + + var lock = 0; + for (var i in res_data.data.data.pageData) { + lock += res_data.data.data.pageData[i].outQty; + } + + if (CanOutQty <= lock) { + return s.my_warnning("库存不足!", 0, th); + } + th.add_cart_next(e, t, a, o, newd, CanOutQty - lock); + } else { + th.add_cart_next(e, t, a, o, newd, CanOutQty); + } + } + }) + } else { + return s.my_warnning("库存不足!", 0, th); + } + + } + } + }) + } else { + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); + if (o.store_count < e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); + th.add_cart_next(e, t, a, o, newd); //加入购物车下一步 + } + } + }) + }, + + //---加入购物车的最后一步--- + add_cart_next(e, t, a, o, newd, CanOutQty) { + var th = this, i = getApp().request; + //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ + 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)) { + var conf = th.data.bconfig; + if (conf.switch_list && getApp().globalData.userInfo['card_field'] && getApp().globalData.userInfo['card_expiredate']) { + var s_list = JSON.parse(conf.switch_list); + var now = ut.gettimestamp(); + + + var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); + var end = new Date(str); + end = Date.parse(end) / 1000; + + //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下-- + if (parseInt(s_list.rank_switch) == 2 && end > now) { + var card_price = o[getApp().globalData.userInfo['card_field']]; + //如果会员有等级价 + if (getApp().globalData.userInfo['card_field'] != undefined && getApp().globalData.userInfo['card_field'] != null + && getApp().globalData.userInfo['card_field'] != "" && card_price > 0) { + newd.goods_price = card_price; + newd.member_goods_price = card_price; + } + } + } + } + + //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); + if ("add" == t.currentTarget.dataset.action) { + + if (th.data.prom_goods) { + newd.prom_type = 3; + newd.prom_id = th.data.prom_goods[0].prom_id; + } + + //----先看会员在购物车中是否加入了该商品----- + i.get("/api/weshop/cart/page", { + data: { + store_id: e.data.stoid, + user_id: oo.user_id, + goods_id: a, + pick_id: e.data.sto_sele_id, + state: 0 + }, + success: function (re) { + + //-------如果购物车中有相关的数据--------- + if (re.data.data.total > 0) { + + var item = re.data.data.pageData[0]; + + //判断数量,要看下购物车中有没有该商品 + if (CanOutQty) { + if (item.goods_num + th.data.goodsInputNum > CanOutQty) { + return s.my_warnning("库存不足!", 0, th); + } + } else { + if (item.goods_num + th.data.goodsInputNum > o.store_count) { + return s.my_warnning("库存不足!", 0, th); + } + } + + var updata = { + id: item.id, + goods_num: e.data.goodsInputNum + item.goods_num, + goods_price: newd.goods_price, + member_goods_price: newd.goods_price, + store_id: th.data.stoid, + }; + + //---是不是从收藏夹出来的--- + if (th.data.c_guide_id) { + updata['guide_id'] = th.data.c_guide_id; + updata['guide_type'] = 3; //加入购物车之后就变成了3 + } else { + if (getApp().globalData.guide_id) { + updata['guide_id'] = getApp().globalData.guide_id; + updata['guide_type'] = 0; + } + } + + i.put("/api/weshop/cart/update", { + data: updata, + success: function (t) { + getApp().my_warnning('加入购物车成功', 1, th, 450); + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; + th.setData({ + cartGoodsNum: c_num + }); + th.closeSpecModal(); + } + }); + } else { + + + i.post("/api/weshop/cart/save", { + data: newd, + success: function (t) { + getApp().my_warnning('加入购物车成功', 1, th, 450); + var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; + th.setData({ + cartGoodsNum: c_num + }); + th.closeSpecModal(); + } + }); + } + } + }); + + } + else { + + //这一步主要是要让立即购买 走 购物车的逻辑 参与活动 + if (newd.prom_type == 10 || newd.prom_type == 7) { + //----先看会员在购物车中是否加入了该商品,立即购买的----- + getApp().request.get("/api/weshop/cart/page", { + data: { + store_id: e.data.stoid, + user_id: oo.user_id, + state: 1 + }, + success: function (res) { + //-------如果购物车中有相关的数据--------- + if (res.data.code == 0 && res.data.data.total > 0) { + for (let j in res.data.data.pageData) { + let item_j = res.data.data.pageData[j]; + var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; + getApp().request.delete(url, {}); + } + } + newd.state = 1; + getApp().request.post("/api/weshop/cart/save", { + data: newd, + success: function (t) { + th.closeSpecModal(); + getApp().goto("/pages/cart/cart2/cart2?state=1"); + } + }); + } + }) + return false; + } + + if (th.data.prom_goods) { + var prom_d = th.data.prom_goods; + for (var i in prom_d) { + //判断活动有俩种条件,0元 1件 + var condition_t = prom_d[i].prom_type; + switch (condition_t) { + case 0: //按钱 + if (newd.goods_price >= condition_t) { + newd.prom_type = 3; + newd.prom_id = prom_d[i].prom_id; + } + break + case 1://按购买数量 + if (newd.goods_num >= condition_t) { + newd.prom_type = 3; + newd.prom_id = prom_d[i].prom_id; + } + break; + } + } + + } + + newd['pick_name'] = th.data.sto_sele_name; + newd['pick_dis'] = th.data.sto_sele_distr; + th.buyNow(newd); + } + }, + + diff --git a/packageA/pages/goodsInfo/goodsInfo.wxml b/packageA/pages/goodsInfo/goodsInfo.wxml index 5af7826..64b0378 100644 --- a/packageA/pages/goodsInfo/goodsInfo.wxml +++ b/packageA/pages/goodsInfo/goodsInfo.wxml @@ -548,41 +548,45 @@ - - - - 加入购物车 - 立即抢购 - + + + + 加入购物车 + 立即抢购 + - - - - 单独购买 - 即将开始 - - - 即将开始 - - + + + + + + 单独购买 + 即将开始 + + + 即将开始 + + - - - 单独购买 - 已抢光 - - 已抢光 - - - - - 单独购买 - 活动已经结束 - - 活动已经结束 - - + + + + 单独购买 + 已抢光 + + 已抢光 + + + + + + 单独购买 + 活动已经结束 + + 活动已经结束 + + @@ -590,15 +594,9 @@ 加入购物车 立即购买 - - - + - - - - @@ -907,6 +905,11 @@ + + +