diff --git a/components/diy_goodsGroup/diy_goodsGroup.js b/components/diy_goodsGroup/diy_goodsGroup.js index 98a58b1..9b8746d 100644 --- a/components/diy_goodsGroup/diy_goodsGroup.js +++ b/components/diy_goodsGroup/diy_goodsGroup.js @@ -326,7 +326,7 @@ Component({ //--- 判断是等级会员,且在有效期范围内 --- if (user.card_field && now < end) { var card_name = ob.name_map.get(user.card_field); - if (card_name.length > 4) card_name = card_name.substring(0, 4); + if (card_name && card_name.length > 4) card_name = card_name.substring(0, 4); th.setData({ card_field: user.card_field, card_name: card_name, diff --git a/components/long_warn/long_warn.wxml b/components/long_warn/long_warn.wxml index 2eef76d..2b61726 100644 --- a/components/long_warn/long_warn.wxml +++ b/components/long_warn/long_warn.wxml @@ -1,9 +1,11 @@ - - - + + + + + {{val}} diff --git a/components/long_warn/long_warn.wxss b/components/long_warn/long_warn.wxss index d1546f4..f2b4b45 100644 --- a/components/long_warn/long_warn.wxss +++ b/components/long_warn/long_warn.wxss @@ -1,3 +1,4 @@ +@import '../../app.wxss'; .cover-layer { position: fixed; left: 0; @@ -21,8 +22,15 @@ .con_view{ min-width:180rpx; max-width: 720rpx; width: auto; padding: 40rpx 30rpx; background-color: #000; border-radius:22rpx; text-align: center; } -.con_view .con_view_img{ height: 120rpx;} +.con_view .con_view_img{ height: 120rpx; color: #fff} .con_view image{ width: 84rpx; height: 84rpx;} .msg{ color:#fff; font-size: 32rpx } + +.circle-box{ + width: 80rpx; + height: 80rpx; + border: 1rpx solid #fff; + border-radius: 50%; +} diff --git a/components/serviceCard_list/serviceCard_list.js b/components/serviceCard_list/serviceCard_list.js index 210b188..4098e2f 100644 --- a/components/serviceCard_list/serviceCard_list.js +++ b/components/serviceCard_list/serviceCard_list.js @@ -70,7 +70,7 @@ Component({ //--- 判断是等级会员,且在有效期范围内 --- if (user.card_field && now < end) { var card_name = ob.name_map.get(user.card_field); - if (card_name.length > 4) card_name = card_name.substring(0, 8); + if (card_name && card_name.length > 4) card_name = card_name.substring(0, 8); th.setData({ card_field: user.card_field, card_name: card_name, diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js index 8475b59..075e249 100644 --- a/packageC/pages/presell/cart/cart.js +++ b/packageC/pages/presell/cart/cart.js @@ -2057,6 +2057,9 @@ Page({ } dd.order_amount = parseFloat(th.data.order_m).toFixed(2); + if(getApp().globalData.scene) + dd.scene=getApp().globalData.scene; + console.log(JSON.stringify(dd)); wx.request({ url: oo.url + '/api/weshop/order/pay/payPresellWk', diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index 3ea477b..8db3a02 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -3957,7 +3957,7 @@ Page({ if (end_time < ut.gettimestamp()) { wx.showToast({title:err_txt, icon: 'none', duration: 3000}); setTimeout(function () { - ut.wx_back(); + getApp().goto("/pages/index/index/index"); }, 2000) gnext=0; return false; diff --git a/packageD/pages/AI-test-skin/analyse/analyse.js b/packageD/pages/AI-test-skin/analyse/analyse.js index c6f5873..7c3dba8 100644 --- a/packageD/pages/AI-test-skin/analyse/analyse.js +++ b/packageD/pages/AI-test-skin/analyse/analyse.js @@ -217,7 +217,8 @@ Page({ "image": getApp().globalData.face_SourceImg, "face_field": "age,expression,face_shape,gender,glasses,landmark,landmark150,quality,eye_status,emotion,face_type,mask,spoofing", "image_type": "URL", - "store_id":setting.stoid + "store_id":setting.stoid, + "user_id":getApp().globalData.user_id } //开始调用百度接口,进行对图片进行判断是否符合标准 this.json_post("/api/weshop/baidubce/face/skindetect", data, function (res) { @@ -369,8 +370,21 @@ Page({ } th.analyse_by_bd(data); } else { - var msg = th.data.err_map[res.data.code + ""]; - th.go_error1(msg); + var msg = th.data.err_map[res.data.code + ""]; + if(msg){ + th.go_error1(msg); + }else{ + wx.showToast({ + title:res.data.msg, + icon: 'none', + duration: 3000 + }) + + setTimeout(function () { + ut.wx_back() + },2000) + + } } }) }, diff --git a/packageD/pages/AI-test-skin/index/aiskin.js b/packageD/pages/AI-test-skin/index/aiskin.js index 8ba5e78..70304b7 100644 --- a/packageD/pages/AI-test-skin/index/aiskin.js +++ b/packageD/pages/AI-test-skin/index/aiskin.js @@ -1,7 +1,7 @@ /* * @Author: abson * @Date: 2022-02-11 14:13:05 - * @LastEditTime: 2022-03-26 17:03:01 + * @LastEditTime: 2022-04-12 12:05:50 * @LastEditors: Please set LastEditors * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath: \MShopWeApp\packageB\pages\AI-test-skin\index\aiskin.js @@ -25,12 +25,14 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad: function (options) { - getApp().globalData.user_id = options?.user_id; - getApp().getUserFir(); - var user = getApp().globalData.userInfo; - if (!user || !getApp().globalData.user_id) { - let url = "/pages/togoin/togoin"; - app.goto(url); + let user_id = options.user_id || getApp().globalData.user_id; + if (user_id) { + getApp().getUserFir(); + } else { + setTimeout(function () { + let url = "/pages/togoin/togoin"; + app.goto(url); + }, 1000) } }, @@ -58,6 +60,13 @@ Page({ goto(e) { + var need=e.currentTarget.dataset.need; + if(!need){ + let url = e.currentTarget.dataset.url; + app.goto(url); + return false; + } + this.check_num(function () { var user = getApp().globalData.userInfo; if (!user) { @@ -109,27 +118,7 @@ Page({ }, - check_num: function (func) { - //判断右没有开AI测肤 - getApp().promiseGet("/api/weshop/wx/weappSkin/get/" + setting.stoid, {}).then(rs => { - if (rs.data.code != 0 || !rs.data.data) { - wx.showToast({ - title: "未开通测肤功能,请联系商家", - icon: 'none', - duration: 3000 - }) - } else if (!rs.data.data.skin_num || rs.data.data.skin_num <= 0) { - wx.showToast({ - title: "测肤功能的使用次数已经达到上限,请联系商家", - icon: 'none', - duration: 3000 - }) - } else { - func(); - } - }) - }, - + async getHistoryData() { if (!getApp().globalData.user_id) return false; if (this.data.show_his) return false; @@ -149,7 +138,65 @@ Page({ if (res.code == 0 && res.data.pageData.length > 0) { this.setData({ show_his: 1 }) } - } + }, + + check_num:function (func) { + //判断右没有开AI测肤 + getApp().promiseGet("/api/weshop/wx/weappSkin/get/"+setting.stoid,{}).then(rs=>{ + if(rs.data.code!=0 || !rs.data.data){ + wx.showToast({ + title: "未开通测肤功能,请联系商家", + icon: 'none', + duration: 3000 + }) + }else if(!rs.data.data.skin_num || rs.data.data.skin_num<=0){ + wx.showToast({ + title: "测肤功能的使用次数已经达到上限,请联系商家", + icon: 'none', + duration: 3000 + }) + }else{ + var rdata={ + store_id:setting.stoid, + user_id:getApp().globalData.user_id + } + this.json_post("/api/weshop/baidubce/face/skinvip",rdata,res=>{ + if(res.data.code==0){ + func(); + }else{ + wx.showToast({ + title: res.data.msg, + icon: 'none', + duration: 3000 + }) + } + }) + } + }) + }, + + /** + * @param {Object} url //url地址 + * @param {Object} data //data入参 + * @param {Object} succ //成功的回调 + * @param {Object} fail //失败的回调 + */ + json_post: function (url, data, succ, fail, mathod) { + var Mathod = "POST"; + if (mathod) Mathod = mathod; + if (url.indexOf("http") == -1) url = getApp().globalData.setting.url + url; + var str = JSON.stringify(data); + wx.request({ + url: url, + data: str, + method: Mathod, + header: { + 'content-type': 'application/json' + },// 设置请求的 header + success: function (res) { succ(res); }, + fail: function (res) { fail(res); } + }) + }, }) \ No newline at end of file diff --git a/packageD/pages/AI-test-skin/index/aiskin.wxml b/packageD/pages/AI-test-skin/index/aiskin.wxml index 0bb66b7..f82eabc 100644 --- a/packageD/pages/AI-test-skin/index/aiskin.wxml +++ b/packageD/pages/AI-test-skin/index/aiskin.wxml @@ -5,7 +5,7 @@ - + 开始测肤 diff --git a/packageD/pages/AI-test-skin/select_photo/select_photo.js b/packageD/pages/AI-test-skin/select_photo/select_photo.js index 995d321..28fb089 100644 --- a/packageD/pages/AI-test-skin/select_photo/select_photo.js +++ b/packageD/pages/AI-test-skin/select_photo/select_photo.js @@ -197,8 +197,46 @@ Page({ duration: 3000 }) }else{ - func(); + var rdata={ + store_id:setting.stoid, + user_id:getApp().globalData.user_id + } + this.json_post("/api/weshop/baidubce/face/skinvip",rdata,res=>{ + if(res.data.code==0){ + func(); + }else{ + wx.showToast({ + title: res.data.msg, + icon: 'none', + duration: 3000 + }) + } + }) } }) - } + }, + + + /** + * @param {Object} url //url地址 + * @param {Object} data //data入参 + * @param {Object} succ //成功的回调 + * @param {Object} fail //失败的回调 + */ + json_post: function (url, data, succ, fail, mathod) { + var Mathod = "POST"; + if (mathod) Mathod = mathod; + if (url.indexOf("http") == -1) url = getApp().globalData.setting.url + url; + var str = JSON.stringify(data); + wx.request({ + url: url, + data: str, + method: Mathod, + header: { + 'content-type': 'application/json' + },// 设置请求的 header + success: function (res) { succ(res); }, + fail: function (res) { fail(res); } + }) + }, }) \ No newline at end of file diff --git a/packageD/pages/AI-test-skin/shoot_notice/shoot_notice.js b/packageD/pages/AI-test-skin/shoot_notice/shoot_notice.js index c9e03d2..498e18f 100644 --- a/packageD/pages/AI-test-skin/shoot_notice/shoot_notice.js +++ b/packageD/pages/AI-test-skin/shoot_notice/shoot_notice.js @@ -99,32 +99,37 @@ Page({ //选择图片 takePhoto() { + var that = this; - getApp().globalData.no_clear=1; - that.setData({selecting:1}); - wx.chooseImage({ - count: 1, - sizeType: ['compressed'], - sourceType: ['album', 'camera'], - success(res) { - var tempFilePaths = res.tempFilePaths - console.log(tempFilePaths); - console.log(res.tempFiles[0].size / 1024 + 'kb'); - var size1 =res.tempFiles[0].size; - var size = res.tempFiles[0].size / 1024; //kb单位 - // tempFilePath可以作为img标签的src属性显示图片 - var img = tempFilePaths[0]; - that.setData({ - imagesrc: img, - }) - that.imgToMin(img, size,size1); //获取图片后压缩 + this.check_num(function () { + getApp().globalData.no_clear=1; + that.setData({selecting:1}); + wx.chooseImage({ + count: 1, + sizeType: ['compressed'], + sourceType: ['album', 'camera'], + success(res) { + var tempFilePaths = res.tempFilePaths + console.log(tempFilePaths); + console.log(res.tempFiles[0].size / 1024 + 'kb'); + var size1 =res.tempFiles[0].size; + var size = res.tempFiles[0].size / 1024; //kb单位 + // tempFilePath可以作为img标签的src属性显示图片 + var img = tempFilePaths[0]; + that.setData({ + imagesrc: img, + }) + that.imgToMin(img, size,size1); //获取图片后压缩 - }, - fail(err) { - that.setData({selecting:0}) - console.log(err); - } + }, + fail(err) { + that.setData({selecting:0}) + console.log(err); + } + }) }) + + }, //图片转码64 base64(url, type) { @@ -231,4 +236,62 @@ Page({ }, }) }, + + check_num:function (func) { + //判断右没有开AI测肤 + getApp().promiseGet("/api/weshop/wx/weappSkin/get/"+setting.stoid,{}).then(rs=>{ + if(rs.data.code!=0 || !rs.data.data){ + wx.showToast({ + title: "未开通测肤功能,请联系商家", + icon: 'none', + duration: 3000 + }) + }else if(!rs.data.data.skin_num || rs.data.data.skin_num<=0){ + wx.showToast({ + title: "测肤功能的使用次数已经达到上限,请联系商家", + icon: 'none', + duration: 3000 + }) + }else{ + var rdata={ + store_id:setting.stoid, + user_id:getApp().globalData.user_id + } + this.json_post("/api/weshop/baidubce/face/skinvip",rdata,res=>{ + if(res.data.code==0){ + func(); + }else{ + wx.showToast({ + title: res.data.msg, + icon: 'none', + duration: 3000 + }) + } + }) + } + }) + }, + + /** + * @param {Object} url //url地址 + * @param {Object} data //data入参 + * @param {Object} succ //成功的回调 + * @param {Object} fail //失败的回调 + */ + json_post: function (url, data, succ, fail, mathod) { + var Mathod = "POST"; + if (mathod) Mathod = mathod; + if (url.indexOf("http") == -1) url = getApp().globalData.setting.url + url; + var str = JSON.stringify(data); + wx.request({ + url: url, + data: str, + method: Mathod, + header: { + 'content-type': 'application/json' + },// 设置请求的 header + success: function (res) { succ(res); }, + fail: function (res) { fail(res); } + }) + }, }) \ No newline at end of file diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 84a7305..d7151b4 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -2409,6 +2409,16 @@ Page({ //--------------去结算------------ async checkout() { + + if(getApp().is_sp_hao()){ + wx.showToast({ + title: "视频号不支持购物车购买", + icon: 'none', + duration: 2000 + }); + return false; + } + if (!this.data.total_num || this.data.total_num <= 0) return false; if (!this.data.is_load) return false; if (this.data.up_dating) { @@ -2942,7 +2952,6 @@ Page({ th.data.promgoods_list[p_item[0]]=promgoods_list; } - var is_duo_gift=0; for (var i in promgoods_list) { var item = promgoods_list[i]; if (item.prom_type == 0) { @@ -2955,21 +2964,6 @@ Page({ } make_up_arr.push(elem); break; - }else{ - var json=JSON.parse(item.preferential_type); - json.prom_id=prom.id; - json.prom_name=prom.name; - if(json.is_gift){ - - var idx=send_gift_arr.findIndex(function (e) { - return e.prom_id==prom.id; - }) - if(idx!=-1){ - send_gift_arr[idx]=json; - }else { - send_gift_arr.push(json); - } - } } } else { if (ob.num < item.condition) { @@ -2981,35 +2975,13 @@ Page({ } make_up_arr.push(elem); break; - }else{ - var json=JSON.parse(item.preferential_type); - json.prom_id=prom.id; - json.prom_name=prom.name; - if(json.is_gift){ - var idx=send_gift_arr.findIndex(function (e) { - return e.prom_id==prom.id; - }) - if(idx!=-1){ - send_gift_arr[idx]=json; - }else { - send_gift_arr.push(json); - } - } } } } - //找到要送的活动 - var idx=send_gift_arr.findIndex(function (e) { - return e.prom_id==prom.id; - }) - if(idx!=-1){ - var cur_json=send_gift_arr[idx]; - if(parseInt(cur_json.zp_mode)==1) is_duo_gift=1; - } - //-- 只有在单赠品的时候,才要进行计算 -- - if(!is_duo_gift && idx>-1) { + + //-- 只有在单赠品的时候,才要进行计算 -- await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { price: ob.price, @@ -3022,80 +2994,107 @@ Page({ if (res.data.code == 0) discount = res.data.data; }) - if(!discount.zp_num || parseInt(discount.zp_num)==0) discount.zp_num=1; - //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量--- - if (discount && discount['goods_id'] && discount.limit_num >= discount.bs*discount.zp_num - && discount.gift_storecount >= discount.bs*discount.zp_num) { - //如果这礼品超了情况下 - if (no_gift_arr.indexOf(discount.gift_id) != -1) continue; - var o = discount.goodsinfo; - //-- 默认等于1,兼容旧的活动 -- - - var newd = { - goods_id: o.goods_id, - goods_num: discount.bs*discount.zp_num, //是赠品的翻倍 - pick_id: list.pid, - user_id: app.globalData.user_id, - store_id: os.stoid, - goods_price: 0, - guide_id: ob.guide_id ? ob.guide_id : 0, - guide_type: ob.guide_type ? ob.guide_type : 0, - member_goods_price: 0, - goods_name: o.goods_name, - goods_sn: o.goods_sn, - sku: o.sku, - is_gift: 1, - prom_id: p_item[0], - prom_type: 3, - selected: 1, - gift_id: discount.gift_id, - original_img: th.data.imgUrl + o.original_img - }; - - list2.goods.push(newd); - var all_num = 0; - var all_limit_num = 0; - - for (var i in alllist) { - var list_item = alllist[i]; - for (var j in list_item.goods) { - //如果赠品的ID一样,要进行统计数量 - if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == newd.gift_id) { - all_num += list_item.goods[j].goods_num; - } - if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == newd.gift_id && list_item.goods[j].prom_id == p_item[0]) { - all_limit_num += list_item.goods[j].goods_num; - } - - } - } - - //-- 赠品的数量超出库存数量和会员的限制,这里是保证所有的赠品部会超出 -- - if (discount.gift_storecount < all_num || discount.limit_num < all_limit_num) { - no_gift_arr.push(discount.gift_id); - //--进入下一个循环 -- - continue; - } - - - var url = "/api/weshop/cart/delGift?store_id=" + newd.store_id + "&user_id=" + - newd.user_id + "&goods_id=" + newd.goods_id + "&is_gift=1&pick_id=" + newd.pick_id + "&prom_id=" + newd.prom_id - await getApp().request.promiseDelete(url, {}) - - var add_data = null; - await getApp().request.promisePost("/api/weshop/cart/save", { - data: newd - }).then(res => { - if (res.data.code == 0) { - add_data = res.data.data; - } - }) - if (add_data) { - newd.id = add_data.id; - list.goods.push(newd); - } - } - } + if(discount) { + + if (!discount.zp_num || parseInt(discount.zp_num) == 0) discount.zp_num = 1; + //判断一下赠品的模式 + if (parseInt(discount.zp_mode)== 1 ) + { + + var a_stock_num=0; + var a_limit_num=0; + for(let iy in discount.giftsinfo){ + let item=discount.giftsinfo[iy]; + a_stock_num+= parseInt(item.gift_storecount); + a_limit_num+=parseInt(item.limit_num); + } + + var t_zp_num=parseInt(discount.zp_num)*parseInt(discount.bs); + if(a_limit_num>=t_zp_num && a_stock_num>=t_zp_num ) { + + var json={}; + json.prom_id=prom.id; + json.prom_name=prom.name; + send_gift_arr.push(json); + } + + } + else + { + //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量--- + if (discount && discount['goods_id'] && discount.limit_num >= discount.bs * discount.zp_num + && discount.gift_storecount >= discount.bs * discount.zp_num) { + //如果这礼品超了情况下 + if (no_gift_arr.indexOf(discount.gift_id) != -1) continue; + var o = discount.goodsinfo; + //-- 默认等于1,兼容旧的活动 -- + + var newd = { + goods_id: o.goods_id, + goods_num: discount.bs * discount.zp_num, //是赠品的翻倍 + pick_id: list.pid, + user_id: app.globalData.user_id, + store_id: os.stoid, + goods_price: 0, + guide_id: ob.guide_id ? ob.guide_id : 0, + guide_type: ob.guide_type ? ob.guide_type : 0, + member_goods_price: 0, + goods_name: o.goods_name, + goods_sn: o.goods_sn, + sku: o.sku, + is_gift: 1, + prom_id: p_item[0], + prom_type: 3, + selected: 1, + gift_id: discount.gift_id, + original_img: th.data.imgUrl + o.original_img + }; + + list2.goods.push(newd); + var all_num = 0; + var all_limit_num = 0; + + for (var i in alllist) { + var list_item = alllist[i]; + for (var j in list_item.goods) { + //如果赠品的ID一样,要进行统计数量 + if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == newd.gift_id) { + all_num += list_item.goods[j].goods_num; + } + if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == newd.gift_id && list_item.goods[j].prom_id == p_item[0]) { + all_limit_num += list_item.goods[j].limit_num; + } + + } + } + + //-- 赠品的数量超出库存数量和会员的限制,这里是保证所有的赠品部会超出 -- + if (discount.gift_storecount < all_num || discount.limit_num < all_limit_num) { + no_gift_arr.push(discount.gift_id); + //--进入下一个循环 -- + continue; + } + + + var url = "/api/weshop/cart/delGift?store_id=" + newd.store_id + "&user_id=" + + newd.user_id + "&goods_id=" + newd.goods_id + "&is_gift=1&pick_id=" + newd.pick_id + "&prom_id=" + newd.prom_id + await getApp().request.promiseDelete(url, {}) + + var add_data = null; + await getApp().request.promisePost("/api/weshop/cart/save", { + data: newd + }).then(res => { + if (res.data.code == 0) { + add_data = res.data.data; + } + }) + if (add_data) { + newd.id = add_data.id; + list.goods.push(newd); + } + } + } + } } //--更新购物车的前台渲染-- @@ -3116,9 +3115,6 @@ Page({ }); } - send_gift_arr=send_gift_arr.filter(function (e) { - return e.zp_mode==="1"; - }) var gift_text = "requestData[" + cindex + "].send_gift_arr"; //-- 如果有凑单的话 -- if (send_gift_arr.length > 0) { diff --git a/pages/cart/cart/cart.wxml b/pages/cart/cart/cart.wxml index 7a6e0bd..60d4283 100644 --- a/pages/cart/cart/cart.wxml +++ b/pages/cart/cart/cart.wxml @@ -162,7 +162,7 @@ - 送赠品 {{item.prom_name}}> diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 4d8099c..8623add 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -1210,7 +1210,13 @@ Page({ item_map.s_intValue = get_data.intValue; item_map.s_coupon_id = get_data.coupon_id; item_map.s_coupon_num = get_data.coupon_num; - if (get_data.gift_id && get_data.goodsinfo) { + + + if (get_data.gift_id && parseInt(get_data.zp_mode)!=1 + && get_data.zp_num* item_map.bs<=get_data.limit_num + && get_data.zp_num* item_map.bs<=get_data.gift_storecount + ){ + item_map.gift_id = get_data.gift_id; item_map.gift_goods_id = get_data.goods_id; item_map.gift_goods_name = get_data.goods_name; @@ -1233,9 +1239,26 @@ Page({ if(parseInt(get_data.zp_mode)==1){ if(!send_gf[pickid]) send_gf[pickid]=[]; - send_gf[pickid].push({ - pickup_id:pickid,giftsinfo:get_data.giftsinfo,zp_num:get_data.zp_num, - gf_pr_name:item_map.name,prom_id:item_map.prom_id}); + + var a_stock_num=0; + var a_limit_num=0; + for(let iy in get_data.giftsinfo){ + let item=get_data.giftsinfo[iy]; + a_stock_num+= parseInt(item.gift_storecount); + a_limit_num+=parseInt(item.limit_num); + } + + var t_zp_num=parseInt(get_data.zp_num)*parseInt(get_data.bs); + if(a_limit_num>=t_zp_num && a_stock_num>=t_zp_num) { + + send_gf[pickid].push({ + pickup_id: pickid, + giftsinfo: get_data.giftsinfo, + zp_num: get_data.zp_num * get_data.bs, + gf_pr_name: item_map.name, + prom_id: item_map.prom_id + }); + } } } }) @@ -4048,10 +4071,13 @@ Page({ arr.s_coupon_id = get_data.coupon_id; arr.s_coupon_num = get_data.coupon_num; arr.zp_mode = get_data.zp_mode; - arr.zp_num = get_data.zp_num; + arr.zp_num = get_data.zp_num?get_data.zp_num:1; //确保默认一个 //-- 看是不是有赠品 -- - if (get_data.gift_id && parseInt(get_data.zp_mode)!=1){ + if (get_data.gift_id && parseInt(get_data.zp_mode)!=1 + && get_data.zp_num* arr.bs<=get_data.limit_num + && get_data.zp_num* arr.bs<=get_data.gift_storecount + ){ arr.gift_id = get_data.gift_id; arr.gift_goods_id = get_data.goods_id; arr.gift_goods_name = get_data.goods_name; @@ -4077,9 +4103,23 @@ Page({ var pickid=gg.pick_id; if(parseInt(get_data.zp_mode)==1){ if(!send_gf[pickid]) send_gf[pickid]=[]; - send_gf[pickid].push({ - pickup_id:pickid,giftsinfo:get_data.giftsinfo,zp_num:get_data.zp_num, + + var a_stock_num=0; + var a_limit_num=0; + for(let iy in get_data.giftsinfo){ + let item=get_data.giftsinfo[iy]; + a_stock_num+= parseInt(item.gift_storecount); + a_limit_num+=parseInt(item.limit_num); + } + + var t_zp_num=parseInt(get_data.zp_num)*parseInt(get_data.bs); + if(a_limit_num>= t_zp_num && a_stock_num>=t_zp_num ){ + send_gf[pickid].push({ + pickup_id:pickid,giftsinfo:get_data.giftsinfo,zp_num:get_data.zp_num*get_data.bs, gf_pr_name:prom.name,prom_id:prom.prom_id}); + + } + th.setData({send_gf:send_gf}); } } @@ -4471,6 +4511,25 @@ Page({ } }, + + //输入框输入数量的时候 + valueToNum:function (e){ + var th=this; + var idx=e.currentTarget.dataset.item; + var gift_item=this.data.giftsinfo[idx]; + var num=parseInt(e.detail.value); + var txt="giftsinfo["+idx+"].goods_num"; + var is_true=th.check_out_num_cart(gift_item,this.data.gift_pkid,num); + if(!is_true){ + th.setData({[txt]:1}); + return false; + } + th.setData({[txt]:num}); + + }, + + + addNum:function (e) { var th=this; var idx=e.currentTarget.dataset.item; @@ -4540,7 +4599,7 @@ Page({ all_num += list_item.goods[j].goods_num; } if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id ==gift_id && list_item.goods[j].prom_id == prom_id) { - all_limit_num += list_item.goods[j].goods_num; + all_limit_num += list_item.goods[j].limit_num; } } } @@ -4548,7 +4607,7 @@ Page({ // 这里是保证所有的赠品部会超出 -- if (discount.gift_storecount < all_num ) { wx.showToast({ - title: "礼包库存不足", + title: "赠品库存不足", icon: 'none', duration: 2000 }); @@ -4662,10 +4721,13 @@ Page({ var set_data = this.data.send_gf[gf_pickup_id][this.data.send_gf_index]; set_data.selected = 1; var txt9 = "cartlist[" + index + "].goods"; - var txt1 = "send_gf[" + gf_pickup_id + "][" + this.data.send_gf_index + "]"; - th.setData({[txt9]: new_pk_list_goods, [txt1]: set_data}); + + th.setData({[txt9]: new_pk_list_goods, send_gf: this.data.send_gf}); this.data.old_cartlist[index].goods = new_pk_list_goods; + + console.log(this.data.send_gf,"----"); + th.calculatePrice(); }else{ var new_pk_list_goods=[]; diff --git a/pages/cart/cart2/cart2.wxml b/pages/cart/cart2/cart2.wxml index f169230..6588255 100644 --- a/pages/cart/cart2/cart2.wxml +++ b/pages/cart/cart2/cart2.wxml @@ -202,7 +202,7 @@ data-pk="{{item.pickup_id}}" data-index="{{index}}" bindtap="show_sele_gift" > - {{iter.name}} 可选赠品{{iter.zp_num}}个 + {{iter.name}} 可选赠品{{iter.zp_num}}个 @@ -391,7 +391,7 @@ data-pk="{{bn_pick}}" data-index="{{index}}" bindtap="show_sele_gift" > - {{iter.name}} 可选赠品{{iter.zp_num}}个 + {{iter.name}} 可选赠品{{iter.zp_num}}个 @@ -726,9 +726,10 @@ - {{gf_pr_name}},可以获赠一下任意{{zp_num}}件商品 + {{gf_pr_name}},可任选{{zp_num}}件商品为赠品 + + diff --git a/pages/cart/cart_wk/cart_wk.js b/pages/cart/cart_wk/cart_wk.js index 502f6a5..21c9377 100644 --- a/pages/cart/cart_wk/cart_wk.js +++ b/pages/cart/cart_wk/cart_wk.js @@ -376,6 +376,9 @@ Page({ dd.shipping_price = parseFloat(th.data.exp_price); dd.addressid = th.data.user_addr.address_id; } + if(getApp().globalData.scene){ + dd.scene=getApp().globalData.scene; + } var arr = []; arr.push(dd); diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index c496da3..439866a 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -801,6 +801,12 @@ Page({ this.wait_for_store_config(); //先检验一下商品的活动情况 this.check_gd_prom_new(function () { + + if(ee.data.prom_type==8){ + getApp().goto("/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+ee.data.gid+"&prom_id="+ee.data.prom_id); + return false; + } + i.get("/api/weshop/goods/get/" + o.stoid + "/" + ee.data.gid, { failRollback: !0, success: function (t) { @@ -839,6 +845,8 @@ Page({ }); } } + + //动态获取商品名称 wx.setNavigationBarTitle({ title: t.data.data.goods_name, @@ -1173,7 +1181,10 @@ Page({ if (num < th.data.goodsInputNum) { // getApp().my_warnning("活动库存不足!", 0, th); - wx.showToast({ title: '活动库存不足!', icon: 'none', }); + wx.showToast({ + title: '活动库存不足!', + icon: 'none', + }); return false; } else { th.add_cart_func(t); @@ -1205,7 +1216,10 @@ Page({ //---判断商品是否超出限购--- 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.showToast({ title: '超出商品限购', icon: 'none', }); + wx.showToast({ + title: '超出商品限购', + icon: 'none', + }); // s.my_warnning('超出商品限购', 0, th); return false; } @@ -1428,7 +1442,10 @@ Page({ if (res.data.data.pageData.length > 0) { var CanOutQty = res.data.data.pageData[0].CanOutQty; if (CanOutQty < e.data.goodsInputNum) { - wx.showToast({ title: '库存不足!', icon: 'none', }); + wx.showToast({ + title: '库存不足!', + icon: 'none', + }); return false; // return s.my_warnning("库存不足!", 0, th); } @@ -2013,7 +2030,10 @@ Page({ var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id); if (t + gd_buy_num > th.data.sele_g.viplimited) { - wx.showToast({ title: '超出商品限购', icon: 'none', }); + wx.showToast({ + title: '超出商品限购', + icon: 'none', + }); // s.my_warnning('超出商品限购', 0, th); var num = th.data.sele_g.viplimited - gd_buy_num; if (num < 0) num = 0; @@ -2104,7 +2124,10 @@ Page({ var gd_buy_num = th.data.g_buy_num.get(th.data.sele_g.goods_id); if (t + gd_buy_num > th.data.sele_g.viplimited) { - wx.showToast({ title: '超出商品限购', icon: 'none', }); + wx.showToast({ + title: '超出商品限购', + icon: 'none', + }); // s.my_warnning('超出商品限购', 0, th); var num = th.data.sele_g.viplimited - gd_buy_num; if (num < 0) num = 0; @@ -4321,7 +4344,10 @@ Page({ th = e, o = this.data.sele_g; if (o.store_count <= 0) { - wx.showToast({ title: '库存已为空!', icon: 'none', }); + wx.showToast({ + title: '库存已为空!', + icon: 'none', + }); return false; // return s.my_warnning("库存已为空!", 0, th); }; @@ -5768,7 +5794,10 @@ Page({ if (!th.data.only_pk && !th.data.def_pickpu_list) { // getApp().confirmBox("门店库存不足", null, 25000, !1); - wx.showToast({ title: '门店库存不足', icon: 'none', }); + wx.showToast({ + title: '门店库存不足', + icon: 'none', + }); return false; } diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index c478891..82a693b 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -505,7 +505,7 @@ 包邮 送{{item.intValue}}积分 送{{item.couponMoney}}元优惠券 - 送商品{{tool.repl(item.goods_name)}} + 送赠品 送{{item.lbtitle}} 送{{item.zxlbtitle}} diff --git a/pages/user/index/index.js b/pages/user/index/index.js index 02b3f8c..0f3460c 100644 --- a/pages/user/index/index.js +++ b/pages/user/index/index.js @@ -560,19 +560,22 @@ Page({ pageSize: 10 }, success: function (ee) { - var recommend_list = ee.data.data.pageData; - if (recommend_list && recommend_list.length > 0) { - var dd = [...th_recommend_list, ...recommend_list]; - e.setData({ - recommend_list, - dd - }); - e.data.currentPage++; - } else { - e.setData({ - nomore: 1 - }); - } + + if(ut.ajax_ok(ee)) { + var recommend_list = ee.data.data.pageData; + if (recommend_list && recommend_list.length > 0) { + var dd = [...th_recommend_list, ...recommend_list]; + e.setData({ + recommend_list, + dd + }); + e.data.currentPage++; + } else { + e.setData({ + nomore: 1 + }); + } + } } }) }, diff --git a/utils/filter.wxs b/utils/filter.wxs index 52cd24a..c5d1959 100644 --- a/utils/filter.wxs +++ b/utils/filter.wxs @@ -1,6 +1,6 @@ var filters = { toFix: function (val, count) { - if(!val){ + if (!val) { return parseFloat(0).toFixed(count); } val = parseFloat(val); @@ -38,7 +38,7 @@ var filters = { } return fm; }, - + format_time2: function (ts, isFull) { // 如果数值位数为1,则补0 function appendZero(obj) { @@ -48,7 +48,7 @@ var filters = { return obj; } }; - + if (ts == null || ts == undefined || ts == '') return ""; var d = getDate(ts) var fm = [appendZero(d.getFullYear()), appendZero(d.getMonth() + 1), appendZero(d.getDate())].join('-'); @@ -81,34 +81,34 @@ var filters = { } } }, - + show_default: function (value, placeholder, multiple) { - if(typeof value === 'number') { - if(isNaN(value)) { + if (typeof value === 'number') { + if (isNaN(value)) { return placeholder || '-'; - } else if(value === 0) { + } else if (value === 0) { return placeholder || '0'; } else { - if(multiple) { + if (multiple) { return value / multiple; } else { return value; } - }; - } else if(value === '' || value === undefined || value === null) { + }; + } else if (value === '' || value === undefined || value === null) { return placeholder || '-'; } else { return value; } }, - - + + // 根据状态值返回相应的状态文字 // num:状态数值, // arr: 状态文字数组, // 文字顺序必须跟状态数值对应 - status: function(num, arr) { + status: function (num, arr) { // var text = ''; // if(num == 0) { // text = '未付款'; @@ -121,103 +121,103 @@ var filters = { // }; return arr[num]; }, - - - in_arr: function(index, arr) { - if(arr.indexOf(index) != -1) { + + + in_arr: function (index, arr) { + if (arr.indexOf(index) != -1) { return true; } else { return false; }; }, - - showByType: function(typeStr) { + + showByType: function (typeStr) { var index; var newTypeArr = []; var typeStrArr = typeStr.split(','); - typeStrArr.forEach(function(item) { + typeStrArr.forEach(function (item) { index = parseInt(item); newTypeArr.push(index); }); // console.log('newTypeArr', newTypeArr); return newTypeArr; }, - + // 价格除以100 - price: function(val) { - return val / 100; + price: function (val) { + return val / 100; }, - - div100: function(val) { - return val / 100; + + div100: function (val) { + return val / 100; }, - + // 计算百分比, 不带百分号 - percent: function(num1, num2) { + percent: function (num1, num2) { // console.log('百分比',Math.round(num1/num2 * 10000) / 100); - return Math.round(num1/num2 * 10000) / 100; - }, - + return Math.round(num1 / num2 * 10000) / 100; + }, + // 计算差数 - difference: function(num1, num2) { - if(!num1) num1 = 0; - if(!num2) num2 = 0; - if(num1 >= num2) { + difference: function (num1, num2) { + if (!num1) num1 = 0; + if (!num2) num2 = 0; + if (num1 >= num2) { return num1 - num2; } else { return num2 - num1; }; }, - + // 计算乘积 - multiply: function(num1, num2) { - return num1 * 10000 * num2 / 10000; + multiply: function (num1, num2) { + return num1 * 10000 * num2 / 10000; }, - - JSONStringify: function(val) { + + JSONStringify: function (val) { return JSON.stringify(val); }, - + // 循环列表计算数量 - count: function(list) { + count: function (list) { var sum = 0; - if(list && list.length != 0) { - list.forEach(function(item) { + if (list && list.length != 0) { + list.forEach(function (item) { sum += item.qty; }); return sum; }; }, - + // 判断时间是否过期 - isExpired: function(date) { + isExpired: function (date) { var mydate = getDate(date).getTime(); var currentDate = getDate().getTime(); - if(currentDate >= mydate) { + if (currentDate >= mydate) { return true; } else { return false; }; }, - + // 显示开始和结束日期 - showStartAndEndDate: function(o, val) { - + showStartAndEndDate: function (o, val) { + var dateType = o.date_type; var currentDate = getDate().getTime(); var startDate, endDate, days, begin_days; - - - if(dateType === 0) { - - if(o.effective_days !== 0) { + + + if (dateType === 0) { + + if (o.effective_days !== 0) { days = (o.effective_days - 1) * 24 * 60 * 60 * 1000; endDate = filters.format_time2(currentDate + days); currentDate = filters.format_time2(currentDate); return currentDate + '至' + endDate; } else { - if(val) { + if (val) { days = (val - 1) * 24 * 60 * 60 * 1000; endDate = filters.format_time2(currentDate + days); currentDate = filters.format_time2(currentDate); @@ -227,27 +227,27 @@ var filters = { return currentDate + '至不限'; } } - + }; - - if(dateType === 1) { + + if (dateType === 1) { currentDate = filters.format_time2(currentDate); - if(o.begin_date && o.effective_date) { + if (o.begin_date && o.effective_date) { return o.begin_date + '至' + o.effective_date; }; - if(o.begin_date && !o.effective_date) { + if (o.begin_date && !o.effective_date) { return o.begin_date + '至不限'; }; - if(!o.begin_date && o.effective_date) { + if (!o.begin_date && o.effective_date) { return currentDate + '至' + o.effective_date; }; - if(!o.begin_date && !o.effective_date) { + if (!o.begin_date && !o.effective_date) { return currentDate + '至不限'; }; }; - - - if(dateType === 2) { + + + if (dateType === 2) { // N天后开始 begin_days = o.begin_days * 24 * 60 * 60 * 1000; // 有效天数 @@ -256,11 +256,7 @@ var filters = { endDate = filters.format_time2(getDate(startDate).getTime() + days); return startDate + '至' + endDate; }; - - }, - - - + }, }; module.exports = {