diff --git a/app.js b/app.js index 054cbb0..82c43e2 100644 --- a/app.js +++ b/app.js @@ -51,7 +51,7 @@ App({ config: null, //门店参数 config2: null, //门店配置 code: null, - user_id:null,//6520491,// 6519913,//6520352 + user_id:null, //6520509,//6520491,// 6519913,//6520352 // user_id:6520314,// qa-6519858,// // user_id:14148118,// qa-6519858,// buy_now: null, @@ -1582,6 +1582,15 @@ App({ return cx_arr; }, + get_has_cx_act2(act_arr){ + var cx_arr=[]; + if(act_arr && act_arr.length) + cx_arr=act_arr.filter(function (e) { + return e.s_time < ut.gettimestamp() && [3,5,7,10].indexOf(e.prom_type)>-1; + }) + return cx_arr; + }, + //-- 获取判断注册成功后,是跳转等级卡,还是新人有礼 -- async go_to_page(is_reg,func){ if(!is_reg) { diff --git a/app.json b/app.json index e017ce1..2442af3 100644 --- a/app.json +++ b/app.json @@ -238,11 +238,20 @@ "pages/user/my_service/tment_details", "pages/user/my_service/tment_eval", "pages/user_template/index", - "pages/team/team_show/team_show" + "pages/team/team_show/team_show", + "pages/user/order_detail/order_detail" ] } ], + "preloadRule": { + "pages/index/index/index": { + "network": "all", + "packages": [ + "pack5" + ] + } + }, "permission": { "scope.userLocation": { diff --git a/components/diy_floatingBox/diy_floatingBox.wxss b/components/diy_floatingBox/diy_floatingBox.wxss index ef59390..9d6d1fe 100644 --- a/components/diy_floatingBox/diy_floatingBox.wxss +++ b/components/diy_floatingBox/diy_floatingBox.wxss @@ -22,7 +22,7 @@ z-index: 100; background-color: #fff; border: 1px solid #adadad; - box-shadow: 0 0 10px 2px #adadad; + /* box-shadow: 0 0 10px 2px #adadad; */ display: flex; align-items: center; justify-content: center; diff --git a/components/diy_goodsGroup/diy_goodsGroup.wxml b/components/diy_goodsGroup/diy_goodsGroup.wxml index 1f378f9..24dd633 100644 --- a/components/diy_goodsGroup/diy_goodsGroup.wxml +++ b/components/diy_goodsGroup/diy_goodsGroup.wxml @@ -11,17 +11,17 @@ - 全部 - {{item.title}} + 全部 + {{item.title}} - {{item.title}} + {{item.title}} - + {{item.title}} @@ -50,7 +50,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -235,7 +235,7 @@ - + @@ -413,7 +413,7 @@ - + @@ -459,7 +459,7 @@ - + diff --git a/components/diy_goodsGroup/diy_goodsGroup.wxss b/components/diy_goodsGroup/diy_goodsGroup.wxss index b808bea..9a6cc20 100644 --- a/components/diy_goodsGroup/diy_goodsGroup.wxss +++ b/components/diy_goodsGroup/diy_goodsGroup.wxss @@ -1025,6 +1025,7 @@ top: 10rpx; .boxsha{ /* box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); */ /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */ + background-color: #fff; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19); } .but_radius85{ @@ -1151,7 +1152,7 @@ top: 10rpx; font-size: 28rpx; font-weight: bold; overflow-x: auto; - margin-bottom: 20rpx; + /* margin-bottom: 20rpx; */ /* min-width: 25%; */ } @@ -1188,7 +1189,7 @@ top: 10rpx; } .tab_action{ background-color: #f23030; - color: #fff; + color: #fff !important; border: none !important; opacity: .8; /* border-color: #f23030 !important; */ diff --git a/components/diy_service/diy_service.wxss b/components/diy_service/diy_service.wxss index 9c7b0e3..977ca16 100644 --- a/components/diy_service/diy_service.wxss +++ b/components/diy_service/diy_service.wxss @@ -1,5 +1,5 @@ .custom-service{ width: 80rpx; height: 80rpx; border-radius: 50%; background-color: #fff;z-index: 100; - border: 1px solid #adadad; box-shadow: 0 0 10px 2px #adadad; line-height: 28rpx; + border: 1px solid #adadad; line-height: 28rpx; right: 2rpx; display: flex;align-items: center;justify-content: center;} .cs-img{ width: 36rpx; height: 36rpx;} diff --git a/packageA/pages/distribution/shop/shop.js b/packageA/pages/distribution/shop/shop.js index 7383117..02fecd0 100644 --- a/packageA/pages/distribution/shop/shop.js +++ b/packageA/pages/distribution/shop/shop.js @@ -33,6 +33,7 @@ Page({ isAll: true, is_no_plus:1, default_img: '/miniapp/images/default_g_img.gif', + is_distribut:0, //是否是分销 }, /** @@ -190,8 +191,8 @@ Page({ var th = this; //更新一下会员的信息 if (getApp().globalData.user_id) { - if (!getApp().globalData.userInfo['is_distribut']) { - th.setData({ ishidden_comise: 1 }) + if (getApp().globalData.userInfo['is_distribut']) { + th.setData({ is_distribut: 1 }) } getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.user_id, { isShowLoading: false, diff --git a/packageA/pages/distribution/shop/shop.wxml b/packageA/pages/distribution/shop/shop.wxml index 469b618..1fa8aac 100644 --- a/packageA/pages/distribution/shop/shop.wxml +++ b/packageA/pages/distribution/shop/shop.wxml @@ -207,9 +207,9 @@ - diff --git a/packageA/pages/liveStream/liveStream.js b/packageA/pages/liveStream/liveStream.js index f9401ae..bec1ad6 100644 --- a/packageA/pages/liveStream/liveStream.js +++ b/packageA/pages/liveStream/liveStream.js @@ -47,7 +47,8 @@ Page({ gid: '', shareImgPath: '', shartitle: "", - anchorname:"" + anchorname:"", + share_id:0 //分享的ID }, // list: [], // live: { @@ -338,18 +339,22 @@ Page({ // 分享操作表 clickShare: function (e) { - var sharimg = e.currentTarget.dataset.sharimg - var shartitle = e.currentTarget.dataset.shartitle - var anchorname= e.currentTarget.dataset.anchorname - if (!getApp().globalData.user_id) { - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } + var sharimg = e.currentTarget.dataset.sharimg; + var shartitle = e.currentTarget.dataset.shartitle; + var anchorname= e.currentTarget.dataset.anchorname; + var id= e.currentTarget.dataset.id; + + // if (!getApp().globalData.user_id) { + // getApp().goto("/packageE/pages/togoin/togoin"); + // return false; + // } + this.setData({ showActionSheet: !this.data.showActionSheet, sharimg: sharimg, shartitle: shartitle, - anchorname:anchorname + anchorname:anchorname, + share_id:id, }) }, @@ -429,9 +434,10 @@ Page({ - var path2 = getApp().globalData.userInfo.head_pic; + var path2 = getApp().globalData.userInfo?getApp().globalData.userInfo.head_pic:''; if (path2 == "") { path2 = "../../../images/share/hui_hear_pic.png"; + this.data.avatarUrl=path2; } else { getApp().request.promiseGet("/api/weshop/marketing/help/help/imgbase64/get", { data: { @@ -463,11 +469,13 @@ Page({ // 请求二维码 + // var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + + // os.stoid + "?sceneValue=1012" + "&pageValue=pages/goods/goodsInfo/goodsInfo"; + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=1012" + "&pageValue=pages/goods/goodsInfo/goodsInfo"; + os.stoid + "?sceneValue="+this.data.share_id + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails"; if (!this.data.ewm) { - await that.getImageInfo(path3).then(res => { that.setData({ ewm: res.path @@ -484,9 +492,6 @@ Page({ // console.log('----------------v', headImg); - var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=1012" + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails"; - // 以iPhone6为例,375/750 = 0.5 // let scale = this.data.windowWidth / 375; let scale = this.data.screenWidth / 750 * 1.35 @@ -523,10 +528,13 @@ Page({ ctx.drawImage(this.data.avatarUrl, 30, 24, 56, 56); ctx.restore(); - // 绘制昵称 - ctx.setFontSize(22); - ctx.setFillStyle('#ADADAD'); - ctx.fillText(app.globalData.userInfo.nickname, 106, 60); + + if(app.globalData.userInfo) { + // 绘制昵称 + ctx.setFontSize(22); + ctx.setFillStyle('#ADADAD'); + ctx.fillText(app.globalData.userInfo.nickname, 106, 60); + } // 绘制主图 ctx.setFillStyle('#f8f8f8'); diff --git a/packageA/pages/liveStream/liveStream.wxml b/packageA/pages/liveStream/liveStream.wxml index cbbfb52..4840bab 100644 --- a/packageA/pages/liveStream/liveStream.wxml +++ b/packageA/pages/liveStream/liveStream.wxml @@ -85,7 +85,7 @@ {{item['anchor_name']}} - + 分享 diff --git a/packageA/pages/liveStreamDetails/liveStreamDetails.js b/packageA/pages/liveStreamDetails/liveStreamDetails.js index 5263c76..3c6d2c9 100644 --- a/packageA/pages/liveStreamDetails/liveStreamDetails.js +++ b/packageA/pages/liveStreamDetails/liveStreamDetails.js @@ -34,7 +34,8 @@ Page({ screenWidth: 0, canvasHidden: 1, gid: '', - shareImgPath: '' + shareImgPath: '', + id:'' }, // 点击商品 @@ -55,10 +56,10 @@ Page({ // 分享操作表 clickShare: function () { - if(!getApp().globalData.user_id){ - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } + // if(!getApp().globalData.user_id){ + // getApp().goto("/packageE/pages/togoin/togoin"); + // return false; + // } this.setData({ showActionSheet: !this.data.showActionSheet }) @@ -172,9 +173,10 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un }); - var path2 = getApp().globalData.userInfo.head_pic; + var path2 = getApp().globalData.userInfo?getApp().globalData.userInfo.head_pic:''; if (path2 == "") { path2 = "../../../images/share/hui_hear_pic.png"; + that.data.avatarUrl=path2; } else { getApp().request.promiseGet("/api/weshop/marketing/help/help/imgbase64/get", { data: { @@ -216,7 +218,7 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un // 请求二维码 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=1012" + "&pageValue=pages/goods/goodsInfo/goodsInfo"; + os.stoid + "?sceneValue="+this.data.id + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails"; if(!this.data.ewm) { @@ -236,8 +238,8 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un // console.log('----------------v', headImg); - var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=1012" + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails"; + //var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + + //os.stoid + "?sceneValue=1012" + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails"; // 以iPhone6为例,375/750 = 0.5 // let scale = this.data.windowWidth / 375; @@ -515,6 +517,14 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un var staffId=options.staffId; var storageId=options.storageId; + if(!options.id){ + var id = decodeURIComponent(options.scene); + if(id){ + options.id=id; + } + } + this.data.id=options.id; + if(first_leader){ //-- user_id代过来免登录 -- getApp().globalData.first_leader=first_leader; diff --git a/packageA/pages/liveStreamDetails/liveStreamDetails.wxml b/packageA/pages/liveStreamDetails/liveStreamDetails.wxml index 83eea5e..a09fa35 100644 --- a/packageA/pages/liveStreamDetails/liveStreamDetails.wxml +++ b/packageA/pages/liveStreamDetails/liveStreamDetails.wxml @@ -50,7 +50,7 @@ diff --git a/packageA/pages/profile/profile.js b/packageA/pages/profile/profile.js index e0b63cf..e6e0813 100644 --- a/packageA/pages/profile/profile.js +++ b/packageA/pages/profile/profile.js @@ -1159,22 +1159,59 @@ Page({ console.log(e); let b = this.getInput(e); let reg=/^[0-9\-]*$/ + // let reg=/^\d{4}-\d{1,2}-\d{1,2}$/ if (!(reg.test(b))){ return this.data.oldbirthday } + let length = b.length; let oldBirtthDayLength=this.data.oldBirtthDayLength if (length > oldBirtthDayLength) { + if (b.length==4) { b+='-' } + if (b.length==5 && b[4]!='-') { + return this.data.oldbirthday + } + + if (b.length==8 && b[7]!='-') { + return this.data.oldbirthday + } + + if (b.length==6 && b[5] >1) { + let lb = b.split(''); + lb.splice(5, 0, 0); + b = lb.join(''); + b+='-' + // console.log(b[5]); + // return this.data.oldbirthday + } + if (b.length==7) { - b+='-' + if (b[6]=='-') { + let lb = b.split(''); + lb.splice(5, 0, 0); + b = lb.join(''); + }else{ + let s=b[5]+b[6] + if (s*1>12) { + return this.data.oldbirthday + } + b+='-' + } + } - // if (b.length==6 && b[5] >1) { - // console.log(b[5]); + + if (b.length==10) { + let a=b[8]+b[9]; + if (a*1>31) { + return this.data.oldbirthday + } + } + + - // } } this.setData({ datet: b, diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js index bdb5427..fda382d 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js @@ -1598,12 +1598,12 @@ Page({ //--定义的保存图片方法,分享团--- saveImageToPhotosAlbum: function () { //--先判断会员状态-- - var user_info = getApp().globalData.userInfo; - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { - //getApp().my_warnning("请先登录",0,this); - wx.navigateTo({url: '/packageE/pages/togoin/togoin',}) - return false; - } + // var user_info = getApp().globalData.userInfo; + // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { + // //getApp().my_warnning("请先登录",0,this); + // wx.navigateTo({url: '/packageE/pages/togoin/togoin',}) + // return false; + // } //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4积分购 var type = 2 @@ -1672,6 +1672,7 @@ Page({ context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); + let nick=app.globalData.userInfo?app.globalData.userInfo.nickname:''; //-- 是自定义海报的情况下 -- if (th.data.poster && parseInt(th.data.poster.style) == 2) { //在线上分享人的情况下 @@ -1684,8 +1685,8 @@ Page({ //--昵称--- context.setFontSize(24 * unit) context.setFillStyle("black") - context.fillText(app.globalData.userInfo.nickname, x1, y1); - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; + context.fillText(nick, x1, y1); + var width = 24 * nick.length * unit + 4 * unit; //强烈推荐 改许程 var tj_path = "../../../../images/share/q_tj.png"; context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit); @@ -1699,8 +1700,8 @@ Page({ //--昵称--- context.setFontSize(24 * unit) context.setFillStyle("black") - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; + context.fillText(nick, 152 * unit, 76 * unit); + var width = 24 * nick.length * unit + 2 * unit; //强烈推荐 改许程 var tj_path = "../../../../images/share/q_tj.png"; context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); @@ -2005,9 +2006,9 @@ Page({ return false; } //---获取分享图片的本地地址,头像和商品图片---- - var path2 = getApp().globalData.userInfo.head_pic; + var path2 = getApp().globalData.userInfo?getApp().globalData.userInfo.head_pic:''; if (path2 == "") { - ee.data.share_head = "../../../images/share/hui_hear_pic.png"; + ee.data.share_head = "../../../../images/share/hui_hear_pic.png"; tt(func); } else { path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); @@ -3559,10 +3560,10 @@ Page({ clickShare() { - if(!getApp().globalData.user_id){ - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } + // if(!getApp().globalData.user_id){ + // getApp().goto("/packageE/pages/togoin/togoin"); + // return false; + // } this.setData({ share_hidden: true, }); @@ -3589,12 +3590,14 @@ Page({ context.setFillStyle('black'); context.fillText(shopName, 277 * unit, 60 * unit); - // 3.推荐来源 - let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; - context.setTextAlign('center'); - context.setFontSize(22 * unit); - context.setFillStyle('#96959a'); - context.fillText(fromText, 277 * unit, 105 * unit); + if(getApp().globalData.userInfo) { + // 3.推荐来源 + let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; + context.setTextAlign('center'); + context.setFontSize(22 * unit); + context.setFillStyle('#96959a'); + context.fillText(fromText, 277 * unit, 105 * unit); + } // 4.海报背景 context.setFillStyle('white'); diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml index f042b28..904d6e7 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml @@ -141,7 +141,7 @@ {{data.goods_name}} - + diff --git a/packageA/pages/serviceCard_pd/team_success/team_success.js b/packageA/pages/serviceCard_pd/team_success/team_success.js index fa06596..7da1340 100644 --- a/packageA/pages/serviceCard_pd/team_success/team_success.js +++ b/packageA/pages/serviceCard_pd/team_success/team_success.js @@ -482,6 +482,8 @@ Page({ } else { context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); + + let nick=app.globalData.userInfo?app.globalData.userInfo.nickname:''; //-- 是自定义海报的情况下 -- if (th.data.poster && parseInt(th.data.poster.style) == 2) { //在线上分享人的情况下 @@ -494,8 +496,8 @@ Page({ //--昵称--- context.setFontSize(24 * unit) context.setFillStyle("black") - context.fillText(app.globalData.userInfo.nickname, x1, y1); - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; + context.fillText(nick, x1, y1); + var width = 24 * nick.length * unit + 4 * unit; //强烈推荐 改许程 var tj_path = "../../../../images/share/q_tj.png"; context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit); @@ -509,8 +511,8 @@ Page({ //--昵称--- context.setFontSize(24 * unit) context.setFillStyle("black") - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; + context.fillText(nick, 152 * unit, 76 * unit); + var width = 24 * nick.length * unit + 2 * unit; //强烈推荐 var tj_path = "../../../../images/share/q_tj.png"; context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit); @@ -806,9 +808,9 @@ Page({ return false; } //---获取分享图片的本地地址,头像和商品图片---- - var path2 = getApp().globalData.userInfo.head_pic; + var path2 = getApp().globalData.userInfo?getApp().globalData.userInfo.head_pic:''; if(path2==""){ - ee.data.share_head ="../../../images/share/hui_hear_pic.png"; + ee.data.share_head ="../../../../images/share/hui_hear_pic.png"; tt(func); }else { path2=path2.replace("http://thirdwx.qlogo.cn","https://wx.qlogo.cn"); @@ -902,10 +904,10 @@ Page({ }, clickShare() { - if(!getApp().globalData.user_id){ - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } + // if(!getApp().globalData.user_id){ + // getApp().goto("/packageE/pages/togoin/togoin"); + // return false; + // } this.setData({ share_hidden: true, }); @@ -1053,12 +1055,14 @@ Page({ context.setFillStyle('black'); context.fillText(shopName, 277 * unit, 60 * unit); - // 3.推荐来源 - let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; - context.setTextAlign('center'); - context.setFontSize(22 * unit); - context.setFillStyle('#96959a'); - context.fillText(fromText, 277 * unit, 105 * unit); + if(getApp().globalData.userInfo) { + // 3.推荐来源 + let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; + context.setTextAlign('center'); + context.setFontSize(22 * unit); + context.setFillStyle('#96959a'); + context.fillText(fromText, 277 * unit, 105 * unit); + } // 4.海报背景 context.setFillStyle('white'); diff --git a/packageB/pages/user/comment/comment.wxml b/packageB/pages/user/comment/comment.wxml index ec7dda5..052d83d 100644 --- a/packageB/pages/user/comment/comment.wxml +++ b/packageB/pages/user/comment/comment.wxml @@ -108,7 +108,7 @@ - @@ -198,7 +198,7 @@ - + 查看订单 diff --git a/packageC/pages/luckyGo/luckyGo_activityList/luckyGo_activityList.js b/packageC/pages/luckyGo/luckyGo_activityList/luckyGo_activityList.js index b554f17..d6c4b6f 100644 --- a/packageC/pages/luckyGo/luckyGo_activityList/luckyGo_activityList.js +++ b/packageC/pages/luckyGo/luckyGo_activityList/luckyGo_activityList.js @@ -39,7 +39,7 @@ Page({ }, onShow: function() { - getApp().check_can_share(); + getApp().check_can_share(this); // if(app.globalData.userInfo) { // if(!this.data.isLogin) { diff --git a/packageC/pages/luckyGo/luckyGo_details/luckyGo_details.js b/packageC/pages/luckyGo/luckyGo_details/luckyGo_details.js index c36a805..57666a2 100644 --- a/packageC/pages/luckyGo/luckyGo_details/luckyGo_details.js +++ b/packageC/pages/luckyGo/luckyGo_details/luckyGo_details.js @@ -1016,10 +1016,10 @@ Page({ // }, clickShare() { - if(!getApp().globalData.user_id){ - getApp().goto("/packageE/pages/togoin/togoin"); - return false; - } + // if(!getApp().globalData.user_id){ + // getApp().goto("/packageE/pages/togoin/togoin"); + // return false; + // } this.setData({ share_hidden: true, }); diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js index b5d2154..34cd8ba 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js @@ -2436,7 +2436,7 @@ Page({ duration: 2000 }) setTimeout(function () { - getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) + getApp().goto("/packageG/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) }, 1000) } //未找到相关记录 @@ -4974,7 +4974,7 @@ Page({ //-------跳转pt商品------- go_to_nopay: function () { var th = this; - url = "/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; + url = "/packageG/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; getApp().goto(url); }, @@ -5066,7 +5066,7 @@ Page({ success: function (a) { if (a.confirm) { wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + url: "/packageG/pages/user/order_detail/order_detail?order_id=" + odr.order_id, }); } } diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index 17a62ae..a43f787 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -1457,7 +1457,7 @@ Page({ } if(!this.data.pre_arr){ - ut.m_toast('您未达到活动条件,不能购买此活动商品商品'); + ut.m_toast('您未达到活动条件,不能购买此活动商品'); return false; } @@ -1503,7 +1503,7 @@ Page({ duration: 2000 }) setTimeout(function () { - getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) + getApp().goto("/packageG/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) }, 1000) } //未找到相关记录 @@ -1518,8 +1518,6 @@ Page({ } }, - - //----获取线下价格------- get_off_price() { var th = this; @@ -2961,7 +2959,7 @@ Page({ //-------跳转pt商品------- go_to_nopay: function () { - var th = this, url = "/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; + var th = this, url = "/packageG/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; getApp().goto(url); }, diff --git a/packageC/pages/presell/pregoodsInfo/goodsInfo.js b/packageC/pages/presell/pregoodsInfo/goodsInfo.js index 8c52c63..6e33f8d 100644 --- a/packageC/pages/presell/pregoodsInfo/goodsInfo.js +++ b/packageC/pages/presell/pregoodsInfo/goodsInfo.js @@ -1384,7 +1384,7 @@ Page({ duration: 2000 }) setTimeout(function () { - getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) + getApp().goto("/packageG/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,) }, 1000) } //未找到相关记录 @@ -2607,7 +2607,7 @@ Page({ //-------跳转pt商品------- go_to_nopay: function () { - var th =this,url = "/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; + var th =this,url = "/packageG/pages/user/order_detail/order_detail?order_id=" + th.data.buy_order.order_id; getApp().goto(url); }, diff --git a/packageD/pages/AI-test-skin/success_result/success_result.js b/packageD/pages/AI-test-skin/success_result/success_result.js index 12ad501..0a0748e 100644 --- a/packageD/pages/AI-test-skin/success_result/success_result.js +++ b/packageD/pages/AI-test-skin/success_result/success_result.js @@ -842,7 +842,7 @@ Page({ //--定义的保存图片方法,分享团--- saveImageToPhotosAlbum: function () { var th = this; - var rpx = this.data.cWidth / 750 * 4; //基础单位, + var rpx = this.data.cWidth / 750*1.7; //基础单位, //--先判断会员状态-- // var user_info = getApp().globalData.userInfo; // if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { @@ -947,8 +947,8 @@ Page({ y: 0, width: 750, height: 1093, - destWidth: 5 * 750, - destHeight: 5 * 1093, + destWidth: 1.2 * 750 * 750/that.data.cWidth, + destHeight: 1.2 * 1093 * 750/that.data.cWidth, canvasId: 'share', success: function (res) { that.setData({ diff --git a/packageD/pages/AI-test-skin/success_result/success_result.wxml b/packageD/pages/AI-test-skin/success_result/success_result.wxml index c0373a7..dff891e 100644 --- a/packageD/pages/AI-test-skin/success_result/success_result.wxml +++ b/packageD/pages/AI-test-skin/success_result/success_result.wxml @@ -378,7 +378,7 @@ - + diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 3ce362d..d26912b 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -170,7 +170,15 @@ Page({ showFold:true, ly_map:{}, - template_id:[] + template_id:[], + + //用于后台计算的多促销集合 + show_can_cx_map:{}, + //优惠促销活动的集合 + yhcx_act_map: {}, + + //优惠促销购买次数 + yhcx_buy_map:{} }, @@ -795,10 +803,10 @@ Page({ //如果是购物车的时候, if (arr) { - var idx = th.data.allsto.findIndex(function (e) { - return e.pickup_id == arr[index].pick_id - }) - pick = th.data.allsto[idx]; + // var idx = th.data.allsto.findIndex(function (e) { + // return e.pickup_id == arr[index].pick_id + // }) + // pick = th.data.allsto[idx]; var get_gd = null; await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + gd.goods_id, { @@ -807,7 +815,7 @@ Page({ get_gd = res1.data.data; } }) - distr_t = pick.distr_type || get_gd.distr_type; + distr_t = gd.pickup_distr_type || get_gd.distr_type; } else { var gg = to.get_b_now(); @@ -841,7 +849,6 @@ Page({ // if (item0.distr_type == 0 || item0.distr_type == distr_t) { // new_arr.push(item0); // } - // } if (!new_arr.length) return null; @@ -909,7 +916,7 @@ Page({ var th = this, app = getApp(); var state = 0; if (th.data.state) state = 1; - a.get("/api/weshop/cart/list", { + a.get("/api/weshop/cart/listNew1", { data: { user_id: to.globalData.user_id, selected: 1, state: state, store_id: oo.stoid, pageSize: 600, @@ -926,18 +933,18 @@ Page({ if (pick_id_arr.length == 0 || pick_id_arr.indexOf(carr[i].pick_id) == -1) pick_id_arr.push(carr[i].pick_id); } - var req_d = { - store_id: os.stoid, ids: pick_id_arr.join(',') - } - //-- 获取门店的列表 -- - await getApp().request.promiseGet("/api/weshop/pickup/list", { data: req_d }).then(res => { - if (ut.ajax_ok(res)) { - th.data.allsto = res.data.data.pageData; - } - }) + //-- 门店不在获取2024-2-3 -- + // var req_d = { + // store_id: os.stoid, ids: pick_id_arr.join(',') + // } + // //-- 获取门店的列表 -- + // await getApp().request.promiseGet("/api/weshop/pickup/list", { data: req_d }).then(res => { + // if (ut.ajax_ok(res)) { + // th.data.allsto = res.data.data.pageData; + // } + // }) th.data.cartlist_y =JSON.parse(JSON.stringify(carr)); //存储原始购物车列表 - wx.showLoading(); th.get_cart_next(carr); @@ -950,7 +957,7 @@ Page({ is_last(gid,goods,map){ let last_id=0; for (let i = 0; i -1){ + if(map && map.indexOf(goods[i].goods_id)>-1){ last_id=goods[i].goods_id; } } @@ -958,6 +965,7 @@ Page({ return false; }, + //-- is_change是有没有切换活动的意思 -- async get_cart_next(carr,is_change,old_prom){ @@ -973,7 +981,7 @@ Page({ var c_ok=1; if(old_prom && (carr[ir].prom_type!=old_prom.prom_type || carr[ir].prom_id!=old_prom.prom_id) ){ - c_ok=0; + c_ok=0; } if(carr[ir].is_gift && carr[ir].id && c_ok) { @@ -995,22 +1003,22 @@ Page({ var map=this.data.prom_goods_map; if(map){ for (var ky in map) { - if(map[ky]){ - var ob=map[ky]; - for (var ii in ob) { - var item_map = ob[ii]; - if (item_map.hasOwnProperty('cy_cx')) { - delete item_map.cy_cx; - } - } + if(map[ky]){ + var ob=map[ky]; + for (var ii in ob) { + var item_map = ob[ii]; + if (item_map.hasOwnProperty('cy_cx')) { + delete item_map.cy_cx; + } } + } } } } //按门店分类的数组 var arr = new Array(); - + var th=this; th.data.in_zhact_gdmap = {}; //---是不是购买等级卡成功的返回---等级卡显示的判断--- @@ -1018,40 +1026,44 @@ Page({ //-- 判断组合购是总数量是不是存在 -- var no_zh_num={}; + //-- 多促销活动调用接口需要的参数,和商品的购买数量和活动的购买数量的请求参数 -- + + if(!is_change){ + var dug_cx_arr = []; + //获取 限购 和 多活动的促销---2024-2-1 + for (var i = 0; i < carr.length; i++) { + + let item1 = carr[i]; + //如果不是活动的时候,不是代发商品的时候,不是赠品的时候,不是阶梯商品拆分的,不是组合购拆分的 + if([1, 2, 4, 6, 8, 9].indexOf(item1.prom_type)== -1 && !item1.whsle_id + && !item1.is_gift && !item1.is_ld_split && !item1.is_zh_split ){ + //-- 快速查找,组装查询多活动的列表 -- + let f_idx=dug_cx_arr.findIndex(function (ele) { + return ele.goods_id == item1.goods_id + }); + if(f_idx==-1) { + let gd_ite={ + goods_id:carr[i].goods_id, + goods_num:1, + is_limit_show:1, + is_state:0 + } + dug_cx_arr.push(gd_ite); + } - for (var i = 0; i < carr.length; i++) { - - var item1 = carr[i]; - //-- 获取一下商品的所有活动 -- - await th.buy_pro_group(item1); - //把已经购买了多少见的内容填入 - var goodsbuynum = 0, promgoodsbuynum = 0; - //--要获得商品,该用户买了多少件,同步应用-- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: item1.goods_id, - prom_type: item1.prom_type, - prom_id: item1.prom_id, - isnew:1 - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) { - promgoodsbuynum = buy_num_data.promgoodsbuynum; } - goodsbuynum = buy_num_data.goodsbuynum; - }) - //如果有购买活动 - item1.promgoodsbuynum = promgoodsbuynum; - if(is_change){ - carr[i].collocationList=null; + if(is_change){ + carr[i].collocationList=null; + } + } + //-- 对商品的多促销进行判断 ---2024-2-1-- + if(dug_cx_arr.length){ + await th.buy_pro_group(dug_cx_arr,carr); } - } + //在分组的时候,就不要再调用接口,await for (var i = 0; i < carr.length; i++) { var item = carr[i]; @@ -1079,10 +1091,9 @@ Page({ } - //商品的图片不能重复的赋值 if(item.original_img.indexOf(oo.imghost)==-1) - item.original_img = oo.imghost + item.original_img; + item.original_img = oo.imghost + item.original_img; var car_item = item; /*----接口要弄出来的,先顶着-----*/ @@ -1095,10 +1106,10 @@ Page({ if (arr[j].pickup_id == pcid) { if (item.is_gift != 1) { - //确定配送方式 - if (arr[j].distr_t == 0) { - arr[j].distr_t = car_item.distr_type; - } + //确定配送方式 + if (arr[j].distr_t == 0) { + arr[j].distr_t = car_item.distr_type; + } }else{ item.distr_type=0; //赠品不控制物流的方式 } @@ -1112,10 +1123,10 @@ Page({ switch (dis_t) { case 0: if(!arr[j].exp_sure){ - e_t = 1; - //-- 系统后台有设置要默认的 -- - if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; - arr[j].exp_type=e_t + e_t = 1; + //-- 系统后台有设置要默认的 -- + if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; + arr[j].exp_type=e_t } break; case 1: @@ -1147,8 +1158,8 @@ Page({ } if(car_item.is_gift != 1){ - arr[j].exp_type = e_t; - if (e_t == 0) th.setData({ is_all_zt: 0 }); + arr[j].exp_type = e_t; + if (e_t == 0) th.setData({ is_all_zt: 0 }); } //else if (e_t == 1) th.setData({ is_all_zt: 1 }); @@ -1176,13 +1187,13 @@ Page({ if (find == 0) { var pikname = '', sto = null; //----找到门店名称----- - for (var k = 0; k < th.data.allsto.length; k++) { - if (pcid == th.data.allsto[k].pickup_id) { - pikname = th.data.allsto[k].pickup_name; - sto = th.data.allsto[k]; - break; - } - } + pikname = item.pickup_name; + sto ={ + pickup_id:item.pick_id, + pickup_name:pikname, + distr_type:item.pickup_distr_type, + keyid:item.keyid + }; var e_t = 0, dis_t = 0;//物流方式,配送方式 if (item.distr_type == 0) { dis_t = sto.distr_type; @@ -1191,7 +1202,6 @@ Page({ } let exp_sure=0; - switch (dis_t) { case 0: e_t = 1; @@ -1224,12 +1234,10 @@ Page({ } } } - - if (back_data && parseFloat(back_data)) { - c_item.can_usecommise = parseFloat(parseFloat(back_data).toFixed(2)); - cart_commission += c_item.can_usecommise; - } + c_item.can_usecommise = parseFloat(parseFloat(back_data).toFixed(2)); + cart_commission += c_item.can_usecommise; + } var ie = { pickup_id: pcid, @@ -1285,6 +1293,8 @@ Page({ } + + var cart_commission = 0; //-- 循环计算一下线下取价 -- for (var k = 0; k < arr.length; k++) { @@ -1292,8 +1302,28 @@ Page({ if (!is_change) { //-- 要进行归类一下活动 -- await m_cx.cart_cx_group(th, arr[k].goods, c_item, 0, 0, (show_can_cx) => { - - arr[k].show_can_cx = show_can_cx; + //后台计算使用 + th.data.show_can_cx_map[c_item.pickup_id]=show_can_cx; + //-- 把活动组装进去 --- + let show_can_cx1 = ut.deep_cp(show_can_cx); + //前端处理渲染的时,要处理一些不需要的字段属性 + if(show_can_cx1){ + for (const key in show_can_cx1) { + let element = show_can_cx1[key]; + if(element.cur_act){ + let c_act=element.cur_act; + delete c_act.goods; + } + if(element.act_arr && element.act_arr.length>0){ + for (var ij = 0; ij < element.act_arr.length; ij++) { + var act_ite = element.act_arr[ij]; + delete act_ite.goods; + delete act_ite.key; + } + } + } + } + arr[k].show_can_cx = show_can_cx1; },2) } else { var show_can_cx = this.data.cartlist[k].show_can_cx; @@ -1314,13 +1344,13 @@ Page({ //-- 如果初始活动在计算的时候,是不满足的时候,就要把活动清理掉 -- var is_no_ok=arr[k].show_can_cx[key_o].cur_act.is_no_ok; if(is_no_ok==1){ - item1.prom_id = 0; - item1.prom_type = 0; + item1.prom_id = 0; + item1.prom_type = 0; - //这里要判断一下活动的最后一个商品,is_act_last - if(th.is_last(item1.goods_id,arr[k].goods,arr[k].show_can_cx[key_o].ch_map)){ - item1.is_act_last=1; //这个是要在前端显示按钮切换的 - } + //这里要判断一下活动的最后一个商品,is_act_last + if(th.is_last(item1.goods_id,arr[k].goods,arr[k].show_can_cx[key_o].ch_map)){ + item1.is_act_last=1; //这个是要在前端显示按钮切换的 + } } } @@ -1331,14 +1361,17 @@ Page({ if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { // th.check_is_youhui(item1.goods_id, item1.pick_id); //增加优惠活动次数限制 - let limit_num = await th.getprom(item1) //活动限制次数 + let limit_num = th.getprom(item1) //活动限制次数 if (!limit_num) { await th.add_prom_goods_map(item1); // item1.prom_id='' // item1.prom_type='' } else { + let user_pre_buynum = await th.getUserBuyPromNum_pre(item1.prom_id) //用户已经参与次数 + + if (user_pre_buynum < limit_num) { await th.add_prom_goods_map(item1); } else { @@ -1431,7 +1464,7 @@ Page({ } else { - + item1.act = th.data.zhhe_act_map[item1.prom_id]; } } @@ -1511,29 +1544,48 @@ Page({ //如果是秒杀,团购的时候,优惠促销和搭配购的时候 if([1,2,3,5,6,7,10].indexOf(item1.prom_type)>-1){ + //由于是购物车购买,所以prom_type 基本不会员等于6 if(item1.prom_type==1 || item1.prom_type==6) { item1.is_quan=0; } - - var url= "/api/weshop/activitylist/getSJGoodsPriceNew/" + os.stoid - + "/" + item1.goods_id + "/"+item1.prom_type+"/" + item1.prom_id + "/" + app.globalData.user_id; - await app.request.promiseGet(url,{}).then(res=>{ - if(res.data.code==0){ - console.log(res.data.data,"111"); - //组合促销有另外一个字段名is_orderyh,在控制订单促销的叠加 - + let t_goodsActinfo=item1.goodsActinfo; + if(t_goodsActinfo && t_goodsActinfo.length){ + let ff_prom=t_goodsActinfo.find(function (e){ + return e.prom_type==item1.prom_type; + }) + if(ff_prom){ if(item1.prom_type!=7 && item1.prom_type!=10) { - item1.is_order_yh=res.data.data.is_order_yh; + item1.is_order_yh=ff_prom.is_order_yh; }else item1.is_order_yh=0; - item1.is_post_temp=res.data.data.is_post_temp; + item1.is_post_temp=ff_prom.is_post_temp; + //由于是购物车购买,所以prom_type 基本不会员等于6 if(item1.prom_type==1 || item1.prom_type==6) { - item1.is_quan=res.data.data.is_quan; + item1.is_quan=item1.cartActinfo.is_quan; } - } - }) + } + + // var url= "/api/weshop/activitylist/getSJGoodsPriceNew/" + os.stoid + // + "/" + item1.goods_id + "/"+item1.prom_type+"/" + item1.prom_id + "/" + app.globalData.user_id; + // await app.request.promiseGet(url,{}).then(res=>{ + // if(res.data.code==0){ + // console.log(res.data.data,"111"); + // //组合促销有另外一个字段名is_orderyh,在控制订单促销的叠加 + // + // if(item1.prom_type!=7 && item1.prom_type!=10) { + // item1.is_order_yh=res.data.data.is_order_yh; + // }else item1.is_order_yh=0; + // + // item1.is_post_temp=res.data.data.is_post_temp; + // + // if(item1.prom_type==1 || item1.prom_type==6) { + // item1.is_quan=res.data.data.is_quan; + // } + // + // } + // }) } } @@ -1556,17 +1608,17 @@ Page({ goods_num: item[c].goods_num, prom_type: item[c].prom_type, prom_id: item[c].prom_id, - - } - let req_d1 = { - user_id: getApp().globalData.user_id, goods_ids: [hr], store_id: os.stoid } + //单个就不调用了 + // let req_d1 = { + // user_id: getApp().globalData.user_id, goods_ids: [hr], store_id: os.stoid + // } + // await getApp().request.promisePost("/api/weshop/order/getrebateSum", { + // is_json: 1, data: req_d1 + // }).then(grs => { + // if (grs.data.code == 0) item[c].use_commission = grs.data.data; + // }); - await getApp().request.promisePost("/api/weshop/order/getrebateSum", { - is_json: 1, data: req_d1 - }).then(grs => { - if (grs.data.code == 0) item[c].use_commission = grs.data.data; - }); commission_gds.push(hr); } } @@ -1662,12 +1714,37 @@ Page({ } } } - //深拷贝 th.data.old_cartlist = JSON.parse(JSON.stringify(arr)); - th.setData({ - cartlist: arr, - }); + + th.data.cartlist=arr; + + //-- 大于20使用逐步渲染 -- + if(arr.length>10){ + for (let ib = 0; ib { + th.setData({ + [txt]:tt_goods[iz] + }) + },ib*200+iz*300+100) + } + } + }else{ + th.setData({ + cartlist: arr, + }); + } //--- 获取一下看有没有优惠券 ---- setTimeout(function () { @@ -1684,6 +1761,7 @@ Page({ }, 500) }, + //-----单个商品购买的入口判断---- get_buy_goods: function (e) { var th = this; @@ -2202,60 +2280,68 @@ Page({ } }, + //-- 立即购买的时候,获取商品优惠活动,is_state判断是不是单个商品购买, // 很多活动需要判断会员的plus等级, 权益登陆,user_id调用接口是必须的 -- //先用着,后面会用接口来代替 - async buy_pro_group(item1, is_state) { - //-- 代发商品不参与任何活动 -- - if (item1.whsle_id) return false; - if (item1.is_gift) return false; - if (item1.is_collocation) return false; - if (item1.is_ld_split) return false; //是阶梯 - if (item1.is_zh_split) return false; - - //-- 购物车的秒杀和团购不计算 -- - var p_type=parseInt(item1.prom_type); - if([1,2].indexOf(p_type)>-1) return false; - + async buy_pro_group(g_arr,carr) { var th=this; - var req_d = { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: item1.goods_id, - goods_num: item1.goods_num, - goods_price: item1.goods_price, - } - //--- 调用接口获取活动 --- - await getApp().promiseGet('/api/weshop/goods/getGoodsPromInfo', {data:req_d}).then(res => { - if(res.data.code==0){ - var more_cx=res.data.data.more_cx; - for(var i=0;i -1 ) continue; + //再g_list中快速查找 + let i_fd=g_list.find(function (ele) { + return ele.goods_id == carr[ia].goods_id + }); + if(i_fd.goodsPromInfoRespDto){ + //-- 多促销活动的优化 -- + i_fd=i_fd.goodsPromInfoRespDto; + //-- 赋值多促销活动的优化-- + carr[ia].more_cx=i_fd.more_cx; + + //商品优惠促销的缓存 + if (i_fd.yhcx_pro) { + th.data.yhcx_act_map[i_fd.yhcx_pro.id] = i_fd.yhcx_pro; + } + //商品组合促销的缓存 + if (i_fd.zh_pro) { + th.data.zhhe_act_map[i_fd.zh_pro.id] = i_fd.zh_pro; + } + //商品阶梯促销的缓存 + if (i_fd.ladder_pro) { + var ladder_pro = i_fd.ladder_pro; + th.data.ladder_map[ladder_pro.id] = ladder_pro; + var fd_ite = i_fd.more_cx.find(function (e) { + return e.prom_type == 10; + }) + if (fd_ite) { + th.data.ladder_map[ladder_pro.id].ladder_list = fd_ite.ladder_list; } - } - }) + } + + } + + } + } }, + + + //---------------检查是否有收货地址------------------- checkAddressList: function () { var t = this; @@ -2395,10 +2481,10 @@ Page({ ord_goods.splice(pos+1,0,newd); th.data.old_cartlist[i].goods.splice(pos2+1,0,newd); - var txt9 = "cartlist[" + i + "].goods"; th.setData({ [txt9]: ord_goods }) + } } @@ -3643,7 +3729,7 @@ Page({ } - if (th.data.cart_use_commission) { + if (th.data.cart_use_commission && cart_item.can_usecommise) { cart_item.order_amount -= cart_item.can_usecommise; } @@ -5500,7 +5586,6 @@ Page({ }) // pdata.keyid = th.data.bn_goods.keyid } - // debugger var str = JSON.stringify(pdata); @@ -6610,25 +6695,26 @@ Page({ }).then(res => { if (res.data.code == 0) { var quan_list = res.data.data.pageData; - arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan); + //arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan); + quan_list= th.check_is_frozenQuan(quan_list, th.data.frozenQuan); + var set_txt = "cartlist[" + ind + "].quan_list"; + th.setData({ + [set_txt]:quan_list + }) } }) } - - } - - //如果是搭配购的立即购买的时候 if (th.data.is_b_now) { if (arr && arr.length > 0) { var quanlist = arr[0].quan_list; - th.setData({ selected_quan_list: quanlist, cartlist: arr }) + th.setData({ selected_quan_list: quanlist }) } } else { - th.setData({ cartlist: arr }) + //th.setData({ cartlist: arr }) th.set_can_num(); } @@ -6888,6 +6974,12 @@ Page({ }, //优惠促销用户参与次数 async getUserBuyPromNum_pre(prom_id){ + + //如果有缓存的数据,就用缓存的数据 + if(this.data.in_yhact[prom_id] && this.data.in_yhact[prom_id].buyed!=undefined){ + let user_pre_buynum=this.data.in_yhact[prom_id].buyed; + return user_pre_buynum; + } var userInfo = getApp().globalData.userInfo; var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; let res = await getApp().request.promiseGet(url, { @@ -6899,25 +6991,38 @@ Page({ } return user_pre_buynum }, + + //获取优惠活动 - async getprom(item){ - + getprom(item){ + let prom_id=item.prom_id let pickup_id=item.pick_id let limit_num=0 - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { - if (res.data.code == 0) { - let prom = res.data.data; - limit_num =prom.limit_num - let yh_is_xz_yh=this.data.yh_is_xz_yh - yh_is_xz_yh[pickup_id]=prom.is_xz_yh - this.setData({ - ['yh_is_xz_yh']:yh_is_xz_yh - }) - } - }) + //不再调用接口活动优惠促销活动的内容 + // await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { + // if (res.data.code == 0) { + // let prom = res.data.data; + // limit_num =prom.limit_num + // let yh_is_xz_yh=this.data.yh_is_xz_yh + // yh_is_xz_yh[pickup_id]=prom.is_xz_yh + // this.setData({ + // ['yh_is_xz_yh']:yh_is_xz_yh + // }) + // } + // }) + if(this.data.yhcx_act_map[prom_id]){ + let prom = this.data.yhcx_act_map[prom_id]; + limit_num =prom.limit_num + let yh_is_xz_yh=this.data.yh_is_xz_yh + yh_is_xz_yh[pickup_id]=prom.is_xz_yh + this.setData({ + ['yh_is_xz_yh']:yh_is_xz_yh + }) + } return limit_num }, + //--检查订单优惠-- check_is_order_prom: function (condition, func, pick) { var th = this; @@ -6971,10 +7076,11 @@ Page({ } else { var prom = null; - - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; + + + if(th.data.yhcx_act_map[item.prom_id]){ + + prom = th.data.yhcx_act_map[item.prom_id]; let min_value = 0 if (prom && prom.is_xz_yh) { @@ -7001,7 +7107,8 @@ Page({ } } } - }) + + if(!prom) return false; var ob = {}; ob.prom_id = item.prom_id; ob.name = prom.name; @@ -7033,11 +7140,9 @@ Page({ } else { var ob = {}; var prom = null; - - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; + if(th.data.yhcx_act_map[item.prom_id]){ + prom = th.data.yhcx_act_map[item.prom_id]; let min_value = 0 if (prom && prom.is_xz_yh) { let arr = prom.promGoodsList || [] @@ -7063,9 +7168,8 @@ Page({ } } } - }) - + if(!prom) return false; //优惠促销取价的优化 let f_price=item.goods_price; @@ -8068,8 +8172,8 @@ Page({ //有改,都强制把券选择清理一下 var pickup_id = this.data.cartlist[cart_index].pickup_id; - var txt='using_quan['+pickup_id+']'; - th.setData({[txt]:null}); + var txt1='using_quan['+pickup_id+']'; + th.setData({[txt1]:null}); //-- 如果是选中 -- if (e.selected) { @@ -8119,6 +8223,28 @@ Page({ } } + //promise_get. 看一下有没有指定门店的限制 + let gd=null + let gd_rs= await getApp().promiseGet('/api/weshop/goods/get/' + os.stoid + "/" + item.goods_id,{}) + if(gd_rs && gd_rs.data.code==0 && gd_rs.data.data){ + gd=gd_rs.data.data; + } + + if(gd.pick_group_ids){ + var idx0=gd.pick_up_lists.findIndex(function (e){ + return e.pickup_id==pickup_id; + }) + if(idx0<0){ + wx.showToast({ + title: item.goods_name+"的门店不可售", + icon: 'none', + duration: 2000 + }) + return false; + } + } + + var bn_coll = th.selectComponent("#col"+cart_index); //组件的id bn_coll.set_sele(index); @@ -8283,6 +8409,7 @@ Page({ pro_pop.set_init(1,cp_arr); }, + //--- 选择回来时候的选择 --- sure_cx_group:function(e){ var th=this; @@ -8291,8 +8418,10 @@ Page({ //-- 获取到当前的show_can_cx-- var idx=this.data.sele_cx_group_cidx; var gd_key= this.data.cx_group_gd_key; - var cx_prom_group=this.data.cartlist[idx].show_can_cx[gd_key].act_arr; var pk=this.data.cartlist[idx].pickup_id; + var cx_prom_group2= th.data.show_can_cx_map[pk][gd_key].act_arr; + + var cx_prom_group=this.data.cartlist[idx].show_can_cx[gd_key].act_arr; th.setData({ send_lb:{}, @@ -8311,12 +8440,18 @@ Page({ //如果活动不是选择的 if(cx_prom_group[dx].prom_type!=sele_prom_type) cx_prom_group[dx].sele=0; else cx_prom_group[dx].sele=1; + + if(cx_prom_group2[dx].prom_type!=sele_prom_type) cx_prom_group2[dx].sele=0; + else cx_prom_group2[dx].sele=1; } //选择后就要把活动确定下来 //确定一下活动,先看一下有没有选择的活动 var ck_prom_type=cx_prom_group.find(function (el){ return el.sele; }) + var ck_prom_type2=cx_prom_group2.find(function (el){ + return el.sele; + }) this.cx_check_ok2(function (ck_res){ @@ -8324,20 +8459,19 @@ Page({ th.data.cartlist[idx].show_can_cx[gd_key].sele_prom_type=ck_prom_type.prom_type; th.data.cartlist[idx].show_can_cx[gd_key].cur_act=ck_prom_type; - var goods0= JSON.parse(JSON.stringify(th.data.cartlist_y)); var goods=[]; for(var ik=0;ik-1 && g_item.pick_id==pk && g_item.is_gift==0; }) @@ -8352,10 +8486,10 @@ Page({ } for(var ik=0;ik< th.data.cartlist[idx].goods.length;ik++){ - if(th.data.cartlist[idx].goods[ik].id==goods[fg].id){ - th.data.cartlist[idx].goods[ik].prom_type= goods[fg].prom_type; - th.data.cartlist[idx].goods[ik].prom_id= goods[fg].prom_id; - } + if(th.data.cartlist[idx].goods[ik].id==goods[fg].id){ + th.data.cartlist[idx].goods[ik].prom_type= goods[fg].prom_type; + th.data.cartlist[idx].goods[ik].prom_id= goods[fg].prom_id; + } } //原始数据要有深拷贝不能有地址的牵连 @@ -8502,6 +8636,11 @@ Page({ //--- 不参与优惠促销的开关 --- no_cj_prom: function (e) { + //重新调用cart_next,进行下一步计算 + wx.showLoading({ + title: "处理中.", + }) + this.setData({ send_lb:{}, month_lb:{}, @@ -8518,6 +8657,9 @@ Page({ let item = this.data.cartlist[pidx].show_can_cx[can_cx_idx]; //促销内容 let pk=this.data.cartlist[pidx].pickup_id; //门店ID + //获取到后台计算多促销的数据 + var cx_prom_group2= this.data.show_can_cx_map[pk][can_cx_idx].act_arr; + //给no_cj_prom进行赋值 item.no_cj_prom = !item.no_cj_prom ? 1 : 0; var txt = 'cartlist[' + pidx + '].show_can_cx'; @@ -8525,7 +8667,16 @@ Page({ [txt]: this.data.cartlist[pidx].show_can_cx, }) - let ck_prom_type=item.cur_act; + //使用深拷贝,生成临时的变量 + let ck_prom_type= ut.deep_cp(item.cur_act); + var f_act=cx_prom_group2.find(function (ite){ + return ite.prom_type==ck_prom_type.prom_type + }) + if(!ck_prom_type || !f_act){ + ut.m_toast('未找到活动'); + } + ck_prom_type.goods=f_act.goods; + //处理一下商品 let goods0 = JSON.parse(JSON.stringify(th.data.cartlist_y)); let goods = []; @@ -8562,14 +8713,18 @@ Page({ } } + //清理下赠品 + let n_goods=[]; + for (let ig = 0; ig - + @@ -171,12 +171,14 @@ - - - - 参与优惠活动 + + + + + 参与优惠活动 + - + @@ -210,7 +212,7 @@ - + - + + 参与优惠活动 @@ -563,7 +566,6 @@ - diff --git a/packageF/pages/team/team_more/team_more.js b/packageF/pages/team/team_more/team_more.js index 7aa2725..863efed 100644 --- a/packageF/pages/team/team_more/team_more.js +++ b/packageF/pages/team/team_more/team_more.js @@ -193,7 +193,7 @@ Page({ //还未支付 if (odr.pt_status == 0 && odr.order_status == 1) { wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + url: "/packageG/pages/user/order_detail/order_detail?order_id=" + odr.order_id, }); }else if (odr.pt_status == 1 && odr.order_status == 1){ wx.navigateTo({ diff --git a/packageG/pages/team/team_show/team_show.js b/packageG/pages/team/team_show/team_show.js index 1ea4d5c..5100894 100644 --- a/packageG/pages/team/team_show/team_show.js +++ b/packageG/pages/team/team_show/team_show.js @@ -499,7 +499,7 @@ Page({ //还未支付 if (odr.pt_status == 0 && odr.order_status == 1) { wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + url: "/packageG/pages/user/order_detail/order_detail?order_id=" + odr.order_id, }); is_ok=0; }else if (odr.pt_status == 1 && odr.order_status == 1){ diff --git a/packageG/pages/user/order_detail/order_detail.js b/packageG/pages/user/order_detail/order_detail.js new file mode 100644 index 0000000..7616b41 --- /dev/null +++ b/packageG/pages/user/order_detail/order_detail.js @@ -0,0 +1,2462 @@ +var e = getApp(), r = e.request,rq=r,t = require("../../../../utils/util.js"), o = require("../../../../utils/common.js"),oo=e.globalData,os=oo.setting; +var regeneratorRuntime = require('../../../../utils/runtime.js'); +var ut= require('../../../../utils/util.js'); +var py = require("../../../../utils/pay.js"); + + +Page({ + data: { + url: os.url, + resourceUrl: os.imghost, + iurl: os.imghost, + order: null, + optionIsGoup: !1, + user_note: "", + conf:null, + }, + onLoad: function(e) { + + if(e.transfer){ + let obj=getApp().globalData.ts_trans_data; + e= JSON.parse(JSON.stringify(obj)); + getApp().globalData.ts_trans_data=null; + } + + //定义第一次进入 + this.data.fir_in=1; + + var th=this; + var r = void 0 !== e.isGoup && e.isGoup; + + getApp().getConfig2(function (e) { + + th.setData({conf: e,sales_rules:e.sales_rules, userInfo: getApp().globalData.userInfo}); + //--- 看后台是不是有开通等级卡 --- + if(e.switch_list){ + var s_list=JSON.parse(e.switch_list); + th.setData({sys_switch: s_list,appoint_pick_keyid:s_list.appoint_pick_keyid}); + var is_open_offline=s_list.is_pricing_open; + var user=getApp().globalData.userInfo; + //如果后台有开启等级价的功能 + if(parseInt(s_list.rank_switch)==2 && 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{ + //未购买 + if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ + is_open_offline=0; + }else{ + //已经过期 + var item=res.data.data.pageData[0]; + if(item.end_time{ + if(ut.ajax_ok(res)){ + var item=res.data.data.pageData[0]; + if(item.pay_status==1){ + //支付支付,返回首页 + ut.m_toast('支付成功'); + setTimeout(()=>{ + wx.navigateBack(); + },1000) + + }else{ + //支付支付,返回首页 + ut.m_toast('支付失败'); + setTimeout(()=>{ + wx.navigateBack(); + },1000) + } + } + }) + }); + } + + wx.getStorageSync("order:order_detail:update") && (wx.removeStorageSync("order:order_detail:update"), + this.requestOrderDetail(this.data.order.order_id)); + }, + requestOrderDetail: function(e) { + var o = this,oid=e,th=this; + r.get(o.data.url + "/api/weshop/order/get/"+os.stoid+"/"+e, { + success: async function(e) { + var r = e.data.data; + r.addTimeFormat = t.format(r.add_time); + if (r.order_status == 0 && r.pay_status==0 ){ + r.order_status_detail="待支付"; r.pay_btn=1; + } + if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status== 0) + //自提的话 + if (r.exp_type==1) + { + r.order_status_detail = "待自提"; + } + else + { + r.order_status_detail = "待发货"; + } + + if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 1){ + r.order_status_detail = "待收货";r.receive_btn=1; + if (r.exp_type == 0) r.shipping_btn=1; + } + if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 2){ + r.order_status_detail = "待收货"; r.receive_btn = 1; + if (r.exp_type == 0) r.shipping_btn = 1; + } + if (r.order_status == 2){ + r.order_status_detail = "待评价"; if (r.exp_type == 0) r.shipping_btn = 1; + } + if (r.order_status == 3) + r.order_status_detail = "已取消"; + if (r.order_status == 4){ + r.order_status_detail = "已完成"; if (r.exp_type == 0) r.shipping_btn = 1; + } + if (r.order_status == 5) + r.order_status_detail = "已作废"; + if (r.order_status == 6) + r.order_status_detail = "退款完成"; + if (r.pt_status == 1 && r.pt_prom_id>0) + r.order_status_detail = "组团中"; + + + r['is_all_return'] = 0; + + var discount_price=r['discount_amount']; + var dis_json=r['prom_pt_json']; + + if(dis_json && discount_price){ + var prom_pt_json=JSON.parse(dis_json); + var ladder_amount=0; + for (var ll_item of prom_pt_json) { + if(ll_item['ladder_prom_id']){ + ladder_amount += ll_item['dis']; + } + } + r['ladder_amount']=ladder_amount; + r['discount_amount']=Math.floor((discount_price-ladder_amount)*100)/100; + } + + + r.use_commission=0; + //-- 如果有数据的话 -- + await getApp().request.promiseGet("/api/weshop/orderMore/get/"+os.stoid + "/"+r.order_sn, { + + }).then(res=>{ + if(res.data.code == 0 && res.data.data){ + r.use_commission=res.data.data.use_commission; + r.pre_cut=res.data.data.pre_cut; //预存款 + r.pre_json=res.data.data.pre_json; //预存款 + r.is_user_no_yhcx = res.data.data.is_user_no_yhcx; //判断订单是不是优惠促销不参与 + } + }) + + + //------获取订单商品------- + rq.get("/api/weshop/ordergoods/list",{ + data: { store_id: os.stoid, order_id: oid,pageSize:600}, + success:async function (eb) { + r.order_goods=eb.data.data.pageData; + var glist = r.order_goods; + for(var i in glist){ + if(glist[i].is_gift){ + r.is_prom=1; + } + } + + //------------对比一下有没有退款记录------------ + await getApp().request.promiseGet("/api/weshop/order/returngoods/page",{ + data: { order_id: r.order_id, store_id: os.stoid, + user_id:oo.user_id, pageSize: 20 } + }).then(rs=>{ + var ttd=rs; + //--看一下订单的总数量-- + var gtype_num = r.order_goods.length; + if(ttd.data.data.pageData == undefined) return false; + var goodslist = r.order_goods; + + //----没有相关的退款记录---- + if (ttd.data.data.total==0){ + r['is_all_return'] = 0; + + goodslist.forEach(function (ee, ii) { + if (r['order_status'] == 1 && r['pay_status'] == 1 && gtype_num>1){ + //是不是可以单个商品退款 + if(th.check_for_return_btn(r) ) { + goodslist[ii]['return_btn']=1; + } + } + }); + }else{ + //--------整单退-------- + if (ttd.data.data.pageData[0]['goods_id_list'] != null + && ttd.data.data.pageData[0]['goods_id_list'] != ''){ + + + var eea = ttd.data.data.pageData[0]; + //1.退款正在进行中, + //2.退款被拒绝就要显示可以退款 + //3.退款已经完成 + r['is_all_return']=1; + r['is_all_return_status'] = ttd.data.data.pageData[0].status; + + if (r['order_status'] == 1 && r['pay_status'] == 1) { + switch (eea.status) { + case 0: + case 1: + r.order_status_detail="退款中"; + r['return_btn'] = 2; break; + case 2: + r.order_status_detail="退款完成"; + r['return_btn'] = 4; break; + case 3: + r['return_btn'] = 3; break; + default: + r['return_btn'] = 0; + } + } + }else{ + //1.退款正在进行中, + //2.退款被拒绝就要显示可以退款 + //3.退款已经完成 + r['is_all_return'] = 0; + var rt_ok_num=0; + + //if(r['order_status'] == 1 && r['pay_status'] == 1) { + goodslist.forEach(function (eeb, iii) { + if(r['order_status'] == 1 && r['pay_status'] == 1) + goodslist[iii]['return_btn'] = 1; //申请退款 + ttd.data.data.pageData.forEach(function (eea, ii) { + var st = eea.status; + if (eea.goods_id == eeb.goods_id){ + + switch (eea.status){ + case 0: + case 1://退款处理中 + r['has_rt'] = 1; //有部分退 + goodslist[iii]['return_btn'] = 2; break; + case 2://退款完成 + r['has_rt'] = 1; //有部分退 + goodslist[iii]['return_btn'] = 4;rt_ok_num++; break; + case 3://已拒绝,重新退款 + goodslist[iii]['return_btn'] = 3; break; + default: + if(r['order_status'] == 1 && r['pay_status'] == 1) + goodslist[iii]['return_btn'] = 1; //申请退款 + } + return; + } + }); + }); + //} + } + } + + //--如果是全部退款,也就可以删除-- + if(rt_ok_num==goodslist.length){ + r['is_all_return_status']=2; + } + r['order_goods'] = goodslist; + var g_num = 0; + goodslist.forEach(function (ee, ii) { + if(ee.return_btn!=4) + g_num += ee.goods_num; + }); + r['g_num'] = g_num; + }) + + + //--------获取门店----------- + rq.get("/api/weshop/pickup/get/" + os.stoid + "/" + r.pickup_id, { + success: function (ebb) { + r.pickname = ebb.data.data.pickup_name; + o.setData({ + order: r, + }); + } + }) + + + } + }) + } + }); + }, + /*-----联系客户------*/ + contactService: function() { + getApp().con_Service(); + }, + + //--------取消订单--------- + cancelOrder: function(e) { + var t = this,th=t, o = e.currentTarget.dataset.id,order=this.data.order; + var is_skill=0; + var order_goods=order.order_goods; + var is_zsorder=order.is_zsorder; + + //--判断是不是秒杀-- + order_goods.forEach(function (val,ind) { + if(val.prom_type==1){ + is_skill=1; return false; + } + }) + + wx.showModal({ + title: "是否取消订单?", + success: function(e) { + if(!e.confirm) return false; + //如果是秒杀和拼单的商品,取消订单要返回redis,并取消订单 + //if(is_skill==1 || is_zsorder>=2){ + getApp().request.post("/api/weshop/order/cancelOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{ + data:{}, + success: function(t) { + if(t.data.code==0) + th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0); + }, + }) + /*---- + }else{ + getApp().request.put("/api/weshop/order/updatebyId", { + data: {order_id: o, order_status: 3}, + success: function(e) { + th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0); + } + }); + }--*/ + } + }); + }, + + //--------确认收货--------- + confirmOrder: function(e) { + var th=this; + var t = this, o = this.data.order.order_id,order=this.data.order; + var is_zsorder=order.is_zsorder; + wx.showModal({ + title: "是否确认收货?", + success: function(t) { + t.confirm && rq.post("/api/weshop/order/confirmOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{ + success:function (e) { + if(e.data.code==0){ + th.requestOrderDetail(o) + } + } + }) + } + }); + }, + + //-- 预存款判断 -- + async vipadvancesum(keyid,pre_cut,pre_json){ + let pre=JSON.parse(pre_json) + let listform=[] + pre.map(item=>{ + let obj={ + advancesum: item.advancesum, + advanceitemid: item.advanceitemid + } + listform.push(obj) + }) + let res = await getApp().request.promisePost(`/api/weshop/delphiapi/saveErpApi`, { + data: { + accdb: getApp().globalData.config.erpid, + ApiName: 'api.pos.shop.vipadvancesum.list', + // usercode: "admin", + vipid: getApp().globalData.userInfo.erpvipid, + // oddsum: "0", + // advancesum: cartList.order_amount, + storageid: keyid, + listform + }, + is_json: 1 + }) + return res.data + }, + + //--------立即支付---------- + async jumpToCart4(e) { + + if(this.data.paying) return false; + this.setData({paying:1}); + + var th=this; + if(this.data.optionIsGoup) + wx.navigateTo({ + url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" + }) + var order=this.data.order; + + var order_goods=order.order_goods; + var user_id=order.user_id; + + + //如果使用预存的话,要重新效验下预存金额是否足够 + if(order.pre_cut && order.pre_json){ + let pickup_id=order.pickup_id + let res = await r.promiseGet('/api/weshop/pickup/get/' + os.stoid + '/' + pickup_id, {}) + let keyid = res.data.data.keyid + let resdata = await th.vipadvancesum(keyid,order.pre_cut,order.pre_json) + if(resdata.code !=0){ + let msg=resdata.msg || "预存金额不足" + getApp().confirmBox(msg); + th.setData({ paying: 0 }); + return false; + } + + var listform=[]; + var adv_num=0; + order_goods.map(ite => { + //-- 不是赠品的时候 -- + if(!ite.is_gift) { + let obj = { + wareno: ite.goods_sn, + price: ite.first_account, //account是平摊后的实收价格 + qty: ite.goods_num, + sumprice: parseFloat(ite.account * ite.goods_num - ite.account_yu-(ite.quan_num?ite.quan_num:0)).toFixed(2) + } + + adv_num+=ite.account * ite.goods_num - ite.account_yu-(ite.quan_num?ite.quan_num:0); + listform.push(obj) + } + }) + + adv_num=parseFloat(adv_num).toFixed(2); + let res1 = await getApp().request.promisePost(`/api/weshop/delphiapi/saveErpApi`, { + data: { + accdb: getApp().globalData.config.erpid, + ApiName: 'api.pos.shop.advancesum.seek', + usercode: "admin", + vipid: getApp().globalData.userInfo.erpvipid, + oddsum: "0", + advancesum: adv_num, + storageid: keyid, + listform + }, + is_json: 1 + }) + if(!res1 && res1.data.code!=0 ){ + getApp().confirmBox("获取预存的金额失败"); + th.setData({ paying: 0 }); + return false; + } + + if(res1.data.data.length<=0){ + getApp().confirmBox("每天每人仅能使用1次预存抵扣"); + th.setData({ paying: 0 }); + return false; + } + + var yck=0 + let resData = res1.data.data + resData.map(ite => { + yck += ite.advancesum*1 + }) + if(yck<=0){ + getApp().confirmBox("每天每人仅能使用1次预存抵扣"); + th.setData({ paying: 0 }); + return false; + } + + if(order.pre_cut && yck!=order.pre_cut){ + getApp().confirmBox("获取预存的金额不对"); + th.setData({ paying: 0 }); + return false; + } + + + } + // 幸运购检查库存量 api/weshop/activitylist/getActLen/{store_id}/{prom_type}/{prom_id} + if (parseInt(order_goods['0']['prom_type']) == 9) { + var aid = order_goods['0']['prom_id']; + var knum = 0; + await r.promiseGet('/api/weshop/activitylist/getActLen/' + os.stoid + '/9/' + aid, { + }).then(res => { + if (res.data.code == 0) { + knum = res.data.data; + } + }); + + if (knum <= 0) { + getApp().confirmBox("库存为0,支付失败"); + th.setData({ paying: 0 }); + return false; + } + + + } + + var wlist = ""; + var the_yh_map={}; //判断那种商品的prom_type为0,正在做的活动是优惠促销 + + + var _pick=null; + //获取商品信息,包含线下商品ID,指定门店销售的信息 + var rh=await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+order.pickup_id, {}); + if(rh && rh.data.code==0){ + _pick=rh.data.data; + } + + for (var i in order_goods) { + var good = order_goods[i]; + + + //线下取价功能已经关闭或者过期 + if (!th.data.is_open_offline && good.offline_cut > 0) { + wx.showModal({ + title: '提示', + content: '线下取价功能已经关闭或者过期!' + }); + th.setData({ paying: 0 }); + return false; + } + + //要每件每件的商品进行检查,看有么有超出库存,超出限购 + var good = order_goods[i], goodsbuynum = 0, promgoodsbuynum = 0, gg = null, presellList = null; + + //获取单品的现在的活动状态 + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, {}).then(res => { + gg = res.data.data; + }) + + //-- 判断门店配送是不是匹配 -- + if(_pick && _pick.distr_type!=0 && gg.distr_type!=0 && _pick.distr_type!= gg.distr_type){ + getApp().confirmBox(gg.goods_name + "配送方式和门店不一致"); + th.setData({ paying: 0 }); + return false; + } + + //-- 要进行判断指定门店的判断优化,先做普通商品 -- + if([0,3,5,7,10].indexOf(parseInt(good.prom_type))>-1 && gg.pick_group_ids && !good.is_gift){ + var idx0=gg.pick_up_lists.findIndex(function (e){ + return e.pickup_id==order.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(gg.goods_name + "的门店不可售"); + th.setData({ paying: 0 }); + return false; + } + } + + var limit = gg.viplimited; + var store_count = gg.store_count; + good.erpwareid = gg.erpwareid; + + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: good.goods_id, + prom_type: good.prom_type, + prom_id: good.prom_id + }, + }).then(res => { + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + goodsbuynum = buy_num_data.goodsbuynum; + }) + + var buyed_mum2 = goodsbuynum + good.goods_num; + if (buyed_mum2 > limit && limit > 0) { + var content = gg.goods_name + '购买数量超出商品限购,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + //当是组合优惠的时候 + if (good.prom_type == 7) { + //如果有组合购 + var isok = 1; + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; + let zh_buy_info=null + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + zh_buy_info = res.data.data + if (res.data.data.is_show != 1) { + isok = 0; + } + //如果活动已经结束 + if (res.data.data.is_end == 1) { + isok = 0; + } + //已经结束 + if (ut.gettimestamp() > res.data.data.end_time) { + isok = 0; + } + //还未开始 + if (ut.gettimestamp() < res.data.data.start_time) { + isok = 0; + } + + + } else { + //未找到商品的活动 + isok = 0; + } + + }) + if (!isok) { + var content = gg.goods_name + '活动已经结束,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + //增加组合购次数判断 + let userbuynum = await th.getUserBuyPromNum(good.prom_id,1) + + if (zh_buy_info.buy_limit !=0 && zh_buy_info && userbuynum >= zh_buy_info.buy_limit) { + var content = gg.goods_name + '超出组合购限购次数,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + var url1 = "/api/weshop/prom/zhbuyGoods/page"; + var req_data = { + page: 1, + pageSize: 1, + store_id: os.stoid, + zh_id: good.prom_id, + goods_id: good.goods_id + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(res => { + if (ut.ajax_ok(res)) { + var gdlist = res.data.data.pageData[0]; + good.buyqty = gdlist.buyqty; + } + }) + + var num = good['buyqty']; + //---- 要计算商品的限购 ----- + if (good['buyqty'] > 0) { + if (good.goods_num + promgoodsbuynum > good['buyqty']) { + var content = good['goods_name'] + "超出活动限购\n"; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + } + } + //如果是预售的时候, + if (good.prom_type == 8) { + await getApp().request.promiseGet("/api/weshop/order/orderPresell/countBuyGoodsSum", { + data: { store_id: os.stoid, user_id: user_id, goods_id: good.goods_id, prom_id: good.prom_id }, + }).then(e => { + if (e.data.code == 0) { + promgoodsbuynum = e.data.data.sumgoodsnum; + } + }) + + var presell_id = good.prom_id; + var url = "/api/weshop/marketing/marketingPresellList/list" + var rd = { + store_id: os.stoid, + presell_id: presell_id, + goods_id: good.goods_id + } + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data[0]; + presellList = arr + } + }) + + if(!presellList){ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + if (presellList) { + if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { + var content = good.goods_name + '购买数量超出商品库存,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + var buyed_mum3 = promgoodsbuynum + good.goods_num; + if (buyed_mum3 > presellList.vip_butyqty && presellList.vip_butyqty > 0) { + var content = good.goods_name + '购买数量超出商品限购,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); + //接口调用成功的时候 + if(fres && fres.data.code==0 && fres.data.data){ + //如果有指定门店的时候 + if(fres.data.data.pick_up_lists){ + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ + return e.pickup_id==order.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); + th.setData({ paying: 0 }); + return false; + } + } + + }else{ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + } + } + + //如果优惠促销和搭配购的时候 + if ((good.prom_type == 3 || good.prom_type == 5 || good.prom_type == 10) && good.is_gift != 1 && good.is_collocation != 1) { + var p_ok = 1, is_g_prom = 0; + //只读优化促销和阶梯促销 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + good.goods_id+"/0/"+user_id, {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (!r_data.collocationPromList && good.prom_type == 5) { + var content = good.goods_name + '未找到活动,请取消订单重新购买'; + th.toast(content) + p_ok = 0; + } + if (!r_data.promGoodsLists && good.prom_type == 3) { + var content = good.goods_name + '未找到活动,请取消订单重新购买'; + th.toast(content); + p_ok = 0; + }else if(r_data.promGoodsLists && good.prom_type == 3){ + var fir_act = r_data.promGoodsLists[0]; + //如果是有限购的时候 + if (fir_act.gd_limit_num>0){ + if(promgoodsbuynum+good.goods_num > fir_act.gd_limit_num){ + var content = good.goods_name + '超出优惠促销活动商品限购,请取消订单重新购买'; + th.toast(content) + p_ok = 0; + } + } + + } + + if (!r_data.ladderLists && good.prom_type == 10) { + var content = good.goods_name + '未找到活动,请取消订单重新购买'; + th.toast(content); + p_ok = 0; + } + } else { + + var content = good.goods_name + '未找到活动,请取消订单重新购买' + th.toast(content); + p_ok = 0; + } + }) + if (!p_ok) { + th.setData({ paying: 0 }); + return false; + } + } + + //-- 商品的普通购买 ,不要进行判断 -- + if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8 || good.prom_type == 9) + && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) { + + } else { + + + if(good.is_pd_normal || good.is_integral_normal){ + gg.prom_type=good.prom_type; + gg.prom_id=good.prom_id; + }else { + + //因为商品的prom_type=0,所以商品的实际活动要重新获取 + var url = '/api/weshop/activitylist/listGoodActInfo2New'; + var req_d = { + "store_id": os.stoid, + "goods_id": good.goods_id, + "user_id": user_id, + } + await getApp().request.promiseGet(url, { + data: req_d + }).then(res => { + if (res.data.code == 0 && res.data.data) { + var arr = res.data.data; + //-- 预热也要计算 -- + var arr2 = arr.filter(function (e) { + return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) + }) + if (arr2.length == 1) { + gg.prom_type = arr2[0].prom_type; + gg.prom_id = arr2[0].act_id; + } else if (arr2.length > 1) { + //如果是多活动的时候,要看good参与的活动有没有结束,是不是有效 + var fd = arr2.find(function (e) { + return e.prom_type == good.prom_type && e.act_id == good.prom_id + }) + if (fd) { + gg.prom_type = good.prom_type; + gg.prom_id = good.prom_id; + } + } + } + }) + } + + if(gg.prom_type==3){ + var prom_pc=null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { prom_pc = res.data.data; } + }) + + if(prom_pc){ + gg.discount_field=prom_pc.discount_field; + } + } + + //阶梯促销获取取价规则 + if(gg.prom_type==10){ + var prom_ld=null; + //-- 获取阶梯规则 -- + var url1 = "/api/weshop/prom/ladderList/list"; + var req_data = { + store_id: os.stoid, + form_id: gg.prom_id, + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(rs1 => { + if (rs1.data.code == 0 && rs1.data.data && rs1.data.data.length ) { + prom_ld = rs1.data.data[0]; + } + }) + + if(prom_ld){ + gg.discount_field=prom_ld.discount_field; + } + } + + if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) + && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { + var prom = null; + //---如果是活动的时候--- + var prom = null, th = this; + if (gg.prom_type == 1) { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.user_price; + } + }) + } + if (gg.prom_type == 2) { + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gg.goods_id + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.price; + } + }) + } + if (gg.prom_type == 6) { + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }) + } + if (gg.prom_type == 4) { + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1&timetype=2", { + data: { store_id: os.stoid, goods_id: gg.goods_id,user_id: getApp().globalData.user_id, } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.pageData) { + prom = res.data.data.pageData[0]; + } + }) + } + if (prom) { + var t_now = ut.gettimestamp(); + if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now) { + + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + } + + //-- 幸运购的时候 -- + if(gg.prom_type==8 || gg.prom_type==9){ + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + } + else { + var t_ok = 1; + //-- 如果是普通购买的时候,此时计算的一定是商品的prom_type==0了, (组合购在普通购买的时候,就不判断了,因为组合购本身就可以普通购买)--- + if(!good.is_collocation && !good.is_gift && good.is_pd_normal!=2 && gg.prom_type!=7 ){ + + var promgoodsbuynum0=0; + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: good.goods_id, + prom_type: gg.prom_type, + prom_id: gg.prom_id + }, + }).then(res => { + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + }) + + + //商品的订单列表的活动类型,和gg参与的类型不一致 + if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){ + //如果商品有单独的活动的是偶 + switch (gg.prom_type){ + case 10: + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + t_ok = 0; + break; + //-- 优惠促销是有限购的 -- + case 3: + var prom=null; + var yh_check=1; + + + //如果有优惠促销的普通购买的时候 + if(order.is_user_no_yhcx && good.prom_type==0 && order.is_user_no_yhcx!='0' && order.is_user_no_yhcx!='null' ){ + let obj=JSON.parse(order.is_user_no_yhcx); + //obj数组使用find函数快速查找 + if(obj.find((item)=>{return item.prom_id==gg.prom_id && item.prom_type==3})){ + yh_check=0; + } + } + + //判断优惠促销活动的限购 + if(yh_check){ + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { prom = res.data.data; } + }) + if (prom && prom.limit_num) { + var limit_num = prom.limit_num; + var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id) + if (limit_num>0 && user_pre_buynum >= limit_num) { + yh_check=0; + } + } + } + + //--- 要判断一下优惠促销的商品的限购 --- + if(yh_check){ + var pro_gd_limit_num=0; + var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ + data:{ + store_id:os.stoid,goods_id:gg.goods_id,prom_id:gg.prom_id,prom_type:3 + } + }) + if(p_limit_rs && p_limit_rs.data.code==0){ + pro_gd_limit_num=p_limit_rs.data.data + } + //-- 如果有商品限购的时候 -- + if(pro_gd_limit_num>0){ + var pro_by_num=0; + var lrs= { + store_id: os.stoid,user_id: getApp().globalData.user_id, + goods_id: gg.goods_id, prom_type: 3, + prom_id: gg.prom_id, isnew:1 + }; + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); + if(gd_limit_rs && gd_limit_rs.data.code==0){ + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum + } + if(pro_gd_limit_num { + if (res.data.code == 0 && res.data.data) { + zh_buy_info = res.data.data + } + }) + //判断活动超出限购 + var is_act_ok=1; + let userbuynum = await th.getUserBuyPromNum(gg.prom_id) + if (zh_buy_info.buy_limit !=0 && zh_buy_info && userbuynum >= zh_buy_info.buy_limit) { + is_act_ok=0; + } + + //判断活动商品超出限购,在从表 + var url1 = "/api/weshop/prom/zhbuyGoods/page"; + var req_data = { + page: 1, + pageSize: 1, + store_id: os.stoid, + zh_id: gg.prom_id, + goods_id: gg.goods_id + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(res => { + if (ut.ajax_ok(res)) { + var gdlist = res.data.data.pageData[0]; + gg.buyqty = gdlist.buyqty; + } + }) + var num = gg['buyqty']; + //---- 要计算商品的限购 ----- + if (gg['buyqty'] > 0) { + if (gg.goods_num + promgoodsbuynum0 > gg['buyqty']) { + is_act_ok=0; + } + } + if(is_act_ok){ + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + t_ok = 0; + break; + } + } + } + } + + //如果有普通商品要判断能不到达到优惠促销的条件 + if(Object.keys(the_yh_map).length){ + for (let rkey in the_yh_map) { + var all_price=0; + var all_num=0; + + for(var ij=0;ij { + // if (res.data.code == 0) { + // var r_data = res.data.data; + // //-- 参加了全局的优惠活动 -- + // if (r_data.promGoodsLists) { + // var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + // th.toast(content); + // t_ok = 0; + // } + // } + // }) + // if (!t_ok) { + // th.setData({ paying: 0 }); return false; + // } + // } + //-- 如果有参加线下取价 -- + if (good.offline_cut > 0) wlist += encodeURIComponent(gg.erpwareid) + ","; + } + //赠品和搭配购不判断商品金额 + var isok = 1; + var card_field = th.data.card_field; + + //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- + if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { + + //-- 优惠促销的时候控制取价规则 -- + // gg.prom_type!=3 && gg.prom_type!=10 同时商品不是普通购买的时候,又参与优惠促销,阶梯促销 + if((gg.prom_type!=3 && gg.prom_type!=10) || gg.discount_field==undefined || gg.discount_field==0 ) { + if (card_field && gg[card_field] > 0) { + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + + } else { + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + } + }else{ + if(good.prom_type==3 && good.prom_type==10){ + switch (gg.discount_field){ + case 1: + if (good.goods_price != gg.shop_price) isok = 0; + break; + case 2: + if (good.goods_price != gg.market_price) isok = 0; + break; + } + } + } + + var is_h = 0; + if (!isok) { + var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + } + + //--如果是线下库存的时候-- + if (th.data.conf.sales_rules >= 2 && !gg.whsle_id && !good.is_gift) { + var ob = {}; + await th.check_down_line_next(gg, good.goods_num, order.pickup_id, function (obj) { + ob = obj; + }) + if (ob.code == -1) { + var content = gg.goods_name + '门店库存不足,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + } else { + if (!good.is_gift && good.goods_num > store_count) { + + var content = gg.goods_name + '商品的库存不足,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + } + } + + //---如果是活动的时候--- + var prom = null, goodsinfo = good, th = this; + if (goodsinfo.prom_type == 1) { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + goodsinfo.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.user_price; + } + }) + } + if (goodsinfo.prom_type == 2) { + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + goodsinfo.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.price; + } + }) + } + + if (goodsinfo.prom_type == 6 && !good.is_pd_normal) { + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }) + } + + if (goodsinfo.prom_type == 4 && !good.is_integral_normal) { + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1&timetype=2", { + data: { store_id: os.stoid, goods_id: goodsinfo.goods_id,user_id: getApp().globalData.user_id, } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.pageData) { + prom = res.data.data.pageData[0]; + } + }) + } + //----------如果有活动,并且在进行中,就不计算线下库存--------------- + if (prom) { + let c_type=parseInt(goodsinfo.prom_type+''); + var act_type=''; + switch (c_type){ + case 1:act_type='秒杀';break; + case 2:act_type='团购';break; + case 6:act_type='拼团';break; + } + //指定门店的控制 + if ([1,2,6].indexOf(c_type)>-1 && prom.pick_up_lists) { + var idx0=prom.pick_up_lists.findIndex(function (e){ + return e.pickup_id==order.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(goodsinfo.goods_name +act_type+"活动的门店不可售"); + th.setData({ paying: 0 }); + return false; + } + } + + var now = ut.gettimestamp(); + if (prom.is_end == 1 && prom.end_time < now) { + var content = goodsinfo.goods_name + '商品的活动已经结束,请取消订单' + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + buyed_mum2 = promgoodsbuynum + good.goods_num; + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { + + var content = goodsinfo.goods_name + '购买数量超出商品活动限购,请取消订单' + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + // --看一下会员的秒杀价格是不是发生了变化,因为会员的身份发生了变化 + if (goodsinfo.prom_type == 1 && goodsinfo.goods_price != prom.price) { + var content = goodsinfo.goods_name + '秒杀活动的价格发生了变化'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + // --看一下会员的团购价格是不是发生了变化 + if (goodsinfo.prom_type == 2 && goodsinfo.goods_price != prom.price) { + var content = goodsinfo.goods_name + '秒杀活动的价格发生了变化'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + if (goodsinfo.prom_type == 4) { + if (good.goods_num > prom.limitqty - prom.buy_num) { + + var content = goodsinfo.goods_name + '购买数量超出商品活动库存,请取消订单' + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + } else if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 2 || goodsinfo.prom_type == 6) { + if (order.add_time + 5 * 60 < ut.gettimestamp()) { + var content = gg.goods_name + '该订单已经超时无法支付,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + } + + } + + //-- 预售和幸运购要单独计算 -- + if (goodsinfo.prom_type == 8) { + var presell_id= goodsinfo.prom_id; + //------获取预售主表,判断预售活动是不是到期不可以使用了---------- + var res= await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}) + if (res.data.code == 0 && res.data.data) { + var act_data = res.data.data; + if (act_data.is_end) { + wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 }); + return false; + } + if (act_data.isuse == 0) { + wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 }); + return false; + } + + var err_txt = "活动定金时间已经结束"; + var end_time = act_data.end_time; + if (act_data.presell_type == 1) { + err_txt = "活动时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + return false; + } + + if (act_data.presell_type == 0) { + end_time = act_data.pay_enddate; + err_txt = "活动尾款时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + return false; + } + } + + var all_pre_goods=null; + var userInfo = getApp().globalData.userInfo; + var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: goodsinfo.goods_id }; + if (userInfo) { + pre_data.user_id = userInfo.user_id; + } + var rs_pre= await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", { + data: pre_data, + }) + if (rs_pre.data.code == 0 && rs_pre.data.data.pageData && rs_pre.data.data.pageData.length > 0) { + all_pre_goods = rs_pre.data.data.pageData; + } + + if(!all_pre_goods){ + wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); + return false; + } + var idx = all_pre_goods.findIndex(function (ele) { + return ele.goods_id == goodsinfo.goods_id; + }) + + if(idx==-1){ + wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); + return false; + } + var pre_arr = all_pre_goods[idx]; + var prom_buy_limit = pre_arr.vip_butyqty; + + if (goodsinfo.goods_num > pre_arr.presell_sumqty - pre_arr.buy_goodnum) { + wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 }); + return false; + } + //--判断商品是否超出活动限购-- + if (promgoodsbuynum0 && prom_buy_limit > 0) { + wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 }); + return false; + } + + } + //幸运购的时候 + if (goodsinfo.prom_type == 9 && !good.is_pt_normal) { + + var lk_act=null; + //获取单个活动成团信息 + var lk_rs= await getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', { + data: { + store_id: os.stoid, + is_end: 0, + timetype: 1, + id: goodsinfo.prom_id, + } + }); + + if(lk_rs && ut.ajax_ok(lk_rs)){ + lk_act= lk_rs.data.data.pageData[0]; + } + if(!lk_act){ + wx.showToast({ title: "未找到活动,或者活动已结束", icon: 'none', duration: 3000 }); + th.setData({ paying: 0 }); + return false; + } + // 检查幸运购活动商品库存 + var lk_redis=await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/9/" + goodsinfo.prom_id,{}); + if(!lk_redis || lk_redis 0) { + wlist = ut.sub_last(wlist); + var keyid = order.pickup_id; + var user_info = getApp().globalData.userInfo; + if (!keyid) { + th.setData({ paying: 0 }); return false; + } + var offarr = null; + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", { + data: { + VIPId: encodeURIComponent(user_info.erpvipid), + store_id: os.stoid, + PickupId: keyid, + WareIds: wlist + }, + }, + ).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + offarr = res.data.data; + } + }) + if (!offarr && offarr.length <= 0) { + th.toast('获取线下取价失败'); + } + var newarr = ut.convert_arr_key(offarr, 'WareId'); + //-- 循环判断线下的价格 -- + for (var k in order_goods) { + var good = order_goods[k]; + //判断线下取价是不是一样 + if (newarr[good.erpwareid] && + parseFloat(newarr[good.erpwareid].WarePrice) != parseFloat(good.goods_price)) { + + var content = good.goods_name + '商品的价格发生了变化,请取消订单重新购买'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + } + } + + + th.data.ok_order_sn=this.data.order.order_sn; + py.pay(this.data.order.order_sn, function() { + th.setData({paying:0}); + wx.showToast({title: '支付成功'}) + wx.navigateBack(); + },function () { + th.setData({paying:0}); + },os.stoid,1); + + }, + + + + checkTeam: function() { + wx.navigateTo({ + url: "/pages/team/team_detail/team_detail?foundId=" + this.data.order.orderTeamFound.found_id + }); + }, + + //------图片失败,默认图片--------- + bind_bnerr: function (e) { + var _errImg = e.target.dataset.errorimg; + var _errObj = {}; + _errObj[_errImg] = "public/images/default_goods_image_240.gif"; + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; + }, + + zfwk:function(){ + var url = "/packageE/pages/cart/cart_wk/cart_wk?order_id=" + this.data.order.order_id; + wx.redirectTo({ + url:url, + }) + }, + + //--------跳转到退款详情----------- + gotoreturn: function (t) { + var e = t.currentTarget.dataset.recid; + var oid = t.currentTarget.dataset.oid; + var wh = ""; + if (e != undefined && e != null && e != "") { + wh = "&goods_id=" + e; + } + wx.navigateTo({ + url: "/packageF/pages/user/return_goods_info/return_goods_info?order_id=" + oid + wh, + }); + }, + + //---判断是不是有退款----- + checkReturnGoodsStatus: function (t) { + var e = t.currentTarget.dataset.recid; + var oid = t.currentTarget.dataset.oid; + r.get("/api/weshop/order/returngoods/page", { + data: { + goods_id: e, + order_id: oid, + store_id: os.stoid + }, + success: function (t) { + if (t.data.code == 0) { + var r = t.data.data.total; + if (0 == r) return wx.navigateTo({ + url: "/packageF/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid, + }); + //--如果拒绝,就重新申请退款-- + if (t.data.data.pageData[0].status == 3) { + return wx.navigateTo({ + url: "/packageF/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid, + }); + } + + wx.navigateTo({ + url: "/packageF/pages/user/return_goods_info/return_goods_info?id=" + r + }); + } + } + }); + }, + + //-----删除订单----- + deleteOrderData: function(t) { + var th=this; + var order_id=t.currentTarget.dataset.order_id; + var up_data={ + order_id: order_id,isdel:1 + }; + if(th.data.order.order_status!=6){ + up_data.order_status=5; + } + wx.showModal({ + title: "是否删除订单?", + success: function(tt) { + tt.confirm && rq.put("/api/weshop/order/updatebyId", { + data: up_data, + success: function (t) { + getApp().my_warnning("删除成功",1,th); + setTimeout(function () { + getApp().goto("/pages/user/order_list/order_list"); + },1000); + } + }) + } + }); + }, + + //--判断是不是可以单个商品退-- + check_for_return_btn:function (item) { + if(item.coupon_no) return false; //有用优惠券 + if(item.order_prom_id) return false; //有订单优惠 + if(item.order_status>=2) return false; //订单状态>2 + var istrue=true; + //----判断是不是有优惠活动和赠送商品---- + for (var g in item.order_goods) { + var g_item=item.order_goods[g]; + if ((g_item.prom_type == 3 && g_item.discount_amount> 0) + || (g_item.prom_type== 3 && g_item.goods_price <= 0) + ) { + istrue=false; break + } + if (g_item.prom_type== 5) { + istrue=false; break + } + } + if(!istrue) return false; + var conf=this.data.conf; + //判断是不是原路退回 + if(conf.refund_type==1) return true; + else{ + if(item.order_amount==0 || item.user_money==0) return true; + } + return false; + }, + + + + //---检验线下库存的数量的子函数--- + async check_down_line_next(gg,num,pick_id,func){ + //如果默认是商品 + if(getApp().is_virtual(gg)){ + return func(100000); + } + + + var lock=0,pick_no,plist; + var lock_rq={store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id}; + if(this.data.sales_rules==3){ + log_rq.appoint_pick_keyid=this.data.appoint_pick_keyid; + delete log_rq.storageId + } + + //先读取门店的lock + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:lock_rq + }).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; + } + }) + + if(this.data.sales_rules==2) { + //先获取门店的编号 + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick_id, { + data: {storeId: os.stoid, goodsId: gg.goods_id, pickupId: pick_id} + }).then(res => { + if (res.data.code == 0) { + pick_no = res.data.data.pickup_no; + } + }) + } + + var sto_rq={storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid}; + if(this.data.sales_rules==3){ + sto_rq.storageIds=this.data.appoint_pick_keyid; + delete sto_rq.storageNos + } + + + //读取线下的门店库存 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:sto_rq + }).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ + plist=res.data.data.pageData[0]; + } + }) + var ob={}; ob.code=1; + if(!plist){ + ob.code=-1; ob.CanOutQty=0; + func(ob);return false; + } + + if(num>plist.CanOutQty-lock){ + ob.code=-1; + ob.CanOutQty=plist.CanOutQty-lock + if(ob.CanOutQty<0) ob.CanOutQty=0; + } + func(ob) + }, + //获取用户参与组合购的次数 + async getUserBuyPromNum(prom_id){ + var userInfo = getApp().globalData.userInfo; + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`; + let res = await getApp().request.promiseGet(url, { + data:{} + }); + let userbuynum=0 + if(res.data.code==0 && res.data.data){ + userbuynum=res.data.data.userbuynum + } + return userbuynum + }, + + //再来一单的功能的实现 + moreOrder:function(e){ + var th=this; + var item=th.data.order; + + if(this.data.moring) return false; + this.data.moring=1; + + th.check_more_order(item); + }, + + check_more_order:async function(item){ + var pickup=null,th=this; + var user_id=getApp().globalData.userInfo.user_id; + wx.showLoading(); + //--------获取门店----------- + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, { + + }).then(res=>{ + pickup = res.data.data; + }) + if(!pickup){ + wx.hideLoading(); + getApp().confirmBox("找不到门店"); + this.data.moring=0; + return false; + } + + if(pickup.isstop){ + wx.hideLoading(); + getApp().confirmBox("门店已停用"); + this.data.moring=0; + return false; + } + + if(!pickup.is_pos){ + wx.hideLoading(); + getApp().confirmBox("门店不允许销售"); + this.data.moring=0; + return false; + } + + //--------获取商品---------- + var goods_list=item.order_goods; + //--- 返回的内容 --- + var back_goods_arr=[]; + var err_text=""; + for(var i in goods_list){ + var g_item=goods_list[i]; + var b_item={}; + //--如果是赠品,不加入购物车-- + if(g_item['is_gift']) continue; + if(g_item['prom_type']==4 ){ + err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; + continue; + } + if(g_item['prom_type']==5){ + err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; + continue; + } + if(g_item['prom_type']==6 ){ + err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; + continue; + } + + //--获取商品-- + var good=null; + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + g_item.goods_id, { + + }).then(res=>{ + good=res.data.data; + }) + + //调用接口判断订单优惠, + const res = await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + g_item.goods_id + "/0"+"/"+getApp().globalData.user_id, {}) + if (res.data.code == 0 && res.data.data) { + var r_data = res.data.data; + if (r_data.ladderLists) { + var act_id = r_data.ladderLists[0].form_id; + //-- 判断会员能不能参与阶梯促销 -- + const data = await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}) + if (data.data.code == 0 && data.data.data && data.data.data.isuse && data.data.data.is_end == 0) { + b_item.prom_type = 10; + b_item.prom_id = data.data.data.id; + } + } + } + + if(!good){ + err_text+= g_item['goods_name']+"未找到商品\n"; + continue; + } + if (good.is_on_sale != 1) { + err_text+= g_item['goods_name']+"已经下架\n"; + continue; + } + + var timestamp = ut.gettimestamp(); + if (good.on_time > timestamp) { + err_text+= g_item['goods_name']+"还未上架\n"; + continue; + } + if (good.down_time > 0) { + if (good.down_time < timestamp) { + err_text+=g_item['goods_name']+"已经下架\n"; + continue; + } + } + + //如果商品的配送方式和门店不匹配 + if(good['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){ + err_text+= good['goods_name']+"配送方式不一致\n"; + continue; + } + + var prom=null; + let user_id = getApp().globalData.userInfo.user_id; + + b_item.goods_id=g_item.goods_id; + b_item.goods_name=g_item.goods_name; + b_item.goods_num=g_item.goods_num; + b_item.guide_id=g_item.guide_id; + b_item.guide_type=g_item.guide_type; + b_item.pickup_id=item.pickup_id; + b_item.price=good.shop_price; + b_item.goods_sn=good.goods_sn; + b_item.sku=good.sku; + b_item.is_integral_normal=g_item.is_integral_normal; + + //-- 如果会员是等级卡的时候,同时商品也有设置相应的卡价格 -- + var card_field=th.data.card_field; + if(card_field && good[card_field]>0){ + b_item.price=good[card_field]; + } + + var url = "/api/weshop/activitylist/listGoodActInfo2New"; + var req_data = { + store_id: g_item.store_id, goods_id: g_item.goods_id, user_id: user_id + }; + await getApp().request.promiseGet(url, { data: req_data }).then(res => { + if (res.data.code == 0) { + + var arr = res.data.data; + //-- 预热也要计算 -- + var arr2 = arr.filter(function (e) { + return e.s_time < ut.gettimestamp(); + }) + + if (arr2.length == 1) { + good.prom_type = 1; + good.prom_id = item.act_id; + + + + } + else if (arr2.length > 1) { + good.prom_type = g_item.prom_type; good.prom_id = g_item.prom_id; + } + } + }) + + //--判断商品当前的活动情况-- + switch (good.prom_type) { + case 1: + var flash = null; + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { + if (res.data.code == 0) { + flash = res.data.data; + } + }) + //----已经结束----- + if (flash && flash.is_end == 0) { + + if( flash.end_time > timestamp && flash.start_time < timestamp){ + prom = flash; + prom.price = prom.user_price; + b_item.price = prom.price; + good.prom_type = 1; + good.prom_id = prom.id; + }else{ + if(g_item.prom_type==0 && !flash.is_shop_buy ){ + err_text+=g_item['goods_name']+"秒杀活动不允许普通价\n"; + continue; + } + } + + } + break; + case 2: + var group = null; + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + good.prom_id, {}).then(res => { + if (res.data.code == 0) { + group = res.data.data; + } + }) + //----已经结束----- + if (group && group.is_end == 0 && group.end_time > timestamp && group.start_time < timestamp) { + prom = group; + prom.price = prom.price; + b_item.price = prom.price; + } + break; + case 6: + b_item.is_pd_normal = 1; + break; + case 7: + //如果有组合购 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + + var t_act=res.data.data; + if(!t_act.zh_num || t_act.zh_num>t_act.zh_buy_num) { + + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 + && ut.gettimestamp() < res.data.data.end_time + && ut.gettimestamp() > res.data.data.start_time + ) { + b_item.prom_type = 7; + b_item.prom_id = res.data.data.id; + good.prom_type = 7; + good.prom_id = res.data.data.id; + } + } + } + }) + break; + case 10: + + var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.isuse && res.data.data.is_end == 0) { + b_item.prom_type = 10; + b_item.prom_id = res.data.data.id; + } + }) + break; + } + + + //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 + if((g_item.prom_type==3 || good.prom_type==3) && good.whsle_id<=0){ + var is_g_prom=0; + //因为有全场优惠活动,商品参加的活动还未开始 + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:os.stoid,goodsidlist:good.goods_id,is_detail:1,user_id:user_id + }; + await getApp().request.promiseGet(url, {data:req_data}).then(async function (res) { + if(res.data.code==0 && res.data.data && res.data.data.length){ + for(let i in res.data.data){ + let item=res.data.data[i]; + if(item.prom_type==3) { + is_g_prom=1; break; + } + } + } + }) + if(is_g_prom) { + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/1"+"/"+getApp().globalData.user_id, {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (r_data.promGoodsLists) { + b_item.prom_type = 3; + b_item.prom_id = r_data.promGoodsLists[0].prom_id; + } + } + }) + }else{ + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + good.goods_id, {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (r_data.promGoodsLists) { + b_item.prom_type = 3; + b_item.prom_id = r_data.promGoodsLists[0].prom_id; + } + } + }) + } + } + + + //判断是不是线下库存的购买, 是不是秒杀活动 + if(th.data.sales_rules>=2 && !prom && !good.whsle_id){ + + //-- 看一下购物车上有多少商品 -- + var cart_num=0; + await getApp().request.promiseGet("/api/weshop/cart/page", { + data: { + store_id: os.stoid, + user_id: getApp().globalData.user_id, + state:0, is_gift:0, + goods_id:good.goods_id, + pick_id: b_item.pickup_id + } + }).then(res=>{ + var num = 0; + if(res.data.code==0 && res.data.data && res.data.data.pageData) { + for (var i = 0; i < res.data.data.pageData.length; i++) { + num += res.data.data.pageData[i].goods_num; + } + } + cart_num=num; + }) + + var lock=0,plist=null; + + if(b_item.prom_type!=7) { + + + var lock_rq={store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000}; + if(th.data.sales_rules==3){ + lock_rq.appoint_pick_keyid=th.data.appoint_pick_keyid; + delete lock_rq.storageId; + } + + //先读取门店的lock, + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data:lock_rq + }).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 + } + }) + + var sto_rq={storageNos: pickup.pickup_no,wareIds: encodeURIComponent(good.erpwareid),storeId: os.stoid }; + if(th.data.sales_rules==3){ + sto_rq.storageIds=th.data.appoint_pick_keyid; + delete sto_rq.storageNos; + } + + + + //---通过接口获取门店的线下库存信息-- + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: sto_rq + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; + } + }) + + if (!plist) { + err_text += good['goods_name'] + "库存不足\n"; + continue; + } + if (plist.CanOutQty - lock <= 0) { + err_text += good['goods_name'] + "库存不足\n"; + continue; + } + if (b_item.goods_num > (plist.CanOutQty - lock)) { + b_item.goods_num = plist.CanOutQty - lock; + } + } + var req_data={ + store_id: os.stoid, + user_id: getApp().globalData.user_id, + goods_id: good.goods_id, + }; + if(b_item.prom_type==7){ + req_data.prom_type=7; + req_data.prom_id=b_item.prom_id; + } + + var buynum=0; + var promnum=0; + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: req_data, + }).then(res => { + if(res.data.code==0){ + var buy_num_data = res.data.data; + buynum = buy_num_data.goodsbuynum; + if(buy_num_data.promgoodsbuynum){ + promnum=buy_num_data.promgoodsbuynum; + } + } + }) + + //---- 要计算商品的限购 ----- + if(good['viplimited']>0){ + if(cart_num+buynum>good['viplimited']){ + err_text+= good['goods_name']+"超出限购\n"; + continue; + } + good['viplimited']-=(cart_num+buynum); + if(b_item.goods_num>good['viplimited']){ + b_item.goods_num=good['viplimited']; + } + } + //不需要计算组合购的限购 + + back_goods_arr.push(b_item); //返回商品元素 + + }else{ + //-- 看一下购物车上有多少商品 -- + var cart_num=0; + await getApp().request.promiseGet("/api/weshop/cart/page", { + data: { + store_id: os.stoid, + user_id: getApp().globalData.user_id, + state:0, is_gift:0, + goods_id:good.goods_id + } + }).then(res=>{ + var num = 0; + if(res.data.code==0 && res.data.data && res.data.data.pageData) { + for (var i = 0; i < res.data.data.pageData.length; i++) { + num += res.data.data.pageData[i].goods_num; + } + } + cart_num=num; + }) + + if(good.store_count<=0){ + err_text+= good['goods_name']+"库存不足\n"; + continue; + } + if(b_item.goods_num>good.store_count) + b_item.goods_num=good.store_count; + + var buynum=0; //商品已经购买多少件 + var promgoodsbuynum=0; //活动已经购买多少件 + var redis_num = 0; //redis库存 + + var req_data={ + store_id: os.stoid, + user_id: getApp().globalData.user_id, + goods_id: good.goods_id, + }; + + if(prom){ + req_data.prom_type= good.prom_type; + req_data.prom_id= good.prom_id; + b_item.prom_type=good.prom_type; + b_item.prom_id=good.prom_id; + + //------判断活动是否抢光----- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + + os.stoid + "/" + good.prom_type + "/" + good.prom_id, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + if(redis_num<=0){ + //不允许商品普通价格修改 + if(!prom.is_shop_buy && prom.is_shop_buy!=undefined) { + err_text += good['goods_name'] + "活动不足\n"; + continue; + } + } + + } + + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: req_data, + }).then(res => { + if(res.data.code==0){ + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + buynum = buy_num_data.goodsbuynum; + } + }) + + //---- 要计算商品的限购 ----- + if(good['viplimited']>0){ + if(cart_num+buynum>good['viplimited']){ + err_text+= good['goods_name']+"超出限购\n"; + continue; + } + good['viplimited']-=(cart_num+buynum); + if(b_item.goods_num>good['viplimited']){ + b_item.goods_num=good['viplimited']; + } + + } + + //-- 判断活动的库存 -- + if(prom){ + if(prom['goods_num']<=prom['buy_num']){ + err_text+= good['goods_name']+"超出活动库存\n";continue; + } + + if(b_item.goods_num>prom['goods_num']-prom['buy_num']){ + b_item['goods_num']= b_item['goods_num']-b_item['buy_num']; + } + + if(b_item.goods_num>redis_num){ + b_item.goods_num=redis_num; + } + + if(prom['buy_limit']>0){ + if(cart_num+promgoodsbuynum>=prom['buy_limit'] ){ + err_text+= good['goods_name']+"超出活动限购\n";continue; + } + prom['buy_limit'] -= (cart_num+buynum); + if(b_item.goods_num>prom['buy_limit']){ + b_item.goods_num=prom['buy_limit']; + } + } + + + } + back_goods_arr.push(b_item); //返回商品元素 + } + } + + //有重新购买的数据是时候,就要重新生成订单 + if(back_goods_arr.length>0){ + th.setData({back_goods_arr:back_goods_arr}); + if(!err_text){ + th.more_add_cart(); + }else{ + wx.hideLoading(); + // 如果没有获取用户信息 + wx.showModal({ + title:'确定', + content: err_text+',确定要买其他商品码?', + success(res) { + if (res.confirm) { + //跳转到登录页 + th.more_add_cart(); + }else{ + th.data.moring=0; + wx.hideLoading(); + } + },fail(){ + th.data.moring=0; + wx.hideLoading(); + } + }); + + } + }else{ + th.data.moring=0; + wx.hideLoading(); + getApp().confirmBox(err_text); + } + }, + + more_add_cart:async function(){ + var back_goods_arr=this.data.back_goods_arr; + var err_text=""; + var ok_num=0; + + for(var i in back_goods_arr){ + //商品ID + var g_item=back_goods_arr[i]; + var newd = { + goods_id: g_item.goods_id, + goods_num: g_item.goods_num, + pick_id: g_item.pickup_id, + user_id: oo.user_id, + store_id: os.stoid, + goods_price: g_item.price, + member_goods_price: g_item.price, + goods_name: g_item.goods_name, + goods_sn: g_item.goods_sn, + sku: g_item.sku, + }; + + if(g_item.guide_id){ + newd['guide_id']=g_item.guide_id; + newd['guide_type']=g_item.guide_type; + } + + if(g_item.is_integral_normal){ + newd['is_integral_normal']=g_item.is_integral_normal; + } + if(g_item.is_pd_normal){ + newd['is_pd_normal']=g_item.is_pd_normal; + } + if(g_item.prom_type){ + //3,5,7,10加入购物车,统一prom_type为0 + if([3,5,7,10].indexOf(g_item.prom_type)>-1){ + g_item.prom_type=0; + g_item.prom_id=0; + } + newd['prom_type']=g_item.prom_type; + newd['prom_id']=g_item.prom_id; + } + + + var b_cart_goods=null; + await getApp().request.promiseGet("/api/weshop/cart/page", { + data: { + store_id: os.stoid, + user_id: oo.user_id, + goods_id: g_item.goods_id, + pick_id: g_item.pickup_id, + }, + }).then(res=>{ + //-------如果购物车中有相关的数据------- + if (res.data.data.total > 0) { + b_cart_goods= res.data.data.pageData; + } + }) + + + //-- 判断购物车是不是有重复 -- + var is_has=0; + if(b_cart_goods) { + for (let jr = 0; jr < b_cart_goods.length; jr++) { + var b_cart_item = b_cart_goods[jr]; + if (!g_item.prom_type || g_item.prom_type == 0) { + if ([0, 3, 5, 7, 10].indexOf(b_cart_item.prom_type) > -1) { + is_has = b_cart_item; + break + } + } else { + if (b_cart_goods.prom_type == g_item.prom_type && b_cart_goods.prom_id == g_item.prom_id) { + is_has = b_cart_item; + break + } + } + } + } + + + //-- 如果就加入过购物车 -- + if(is_has){ + var updata = { + id: is_has.id, + goods_num: newd.goods_num + is_has.goods_num, + goods_price: newd.goods_price, + member_goods_price:newd.goods_price, + store_id: os.stoid, + }; + if(newd.guide_id){ + updata.guide_id=newd.guide_id; + updata.guide_type=newd.guide_type; + } + await getApp().request.promisePut("/api/weshop/cart/update", { + data: updata + }).then(res=>{ + if(res.data.code==0) { + ok_num++; + }else{ + err_text+=newd.goods_name+"加入购物车失败\n"; + } + }) + + }else{ + await getApp().request.promisePost("/api/weshop/cart/save", { + data: newd + }).then(res=>{ + if(res.data.code==0) { + ok_num++; + }else{ + err_text+=newd.goods_name+"加入购物车失败\n"; + } + }) + } + } + + wx.hideLoading(); + this.data.moring=0; + if(ok_num==0){ + //-- 如果没有获取用户信息 -- + wx.showModal({ + title:'提示', + content: err_text, + success(res) {} + }); + }else{ + if(err_text==""){ + getApp().goto("/pages/cart/cart/cart"); + }else{ + // 如果没有获取用户信息 + wx.showModal({ + title:'提示', + content: err_text, + success(res) { + if (res.confirm) { + //跳转到登录页 + getApp().goto("/pages/cart/cart/cart"); + } + } + }); + + } + + } + }, + + toast(msg){ + wx.showToast({ + title: msg, + icon: 'none', + duration: 3000 + }) + }, + + con_weixin:function () { + getApp().con_wx(this); + }, + + //跳转到商品 + go_gd:function (e) { + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; + + var gd_item= e.currentTarget.dataset.gd; + var gd=gd_item.goods_id; + + if(gd_item.prom_type>0){ + good_url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd + "&prom_id=" + gd_item.prom_id + "&prom_type="+gd_item.prom_type; + getApp().goto(good_url); + return false; + } + + var good_url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd; + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:os.stoid,goodsidlist:gd,is_detail:1,user_id:user_id + }; + //获取秒杀的多规格 + getApp().request.promiseGet(url, {data:req_data}).then(res=>{ + if(res.data.code==0 && res.data.data){ + if(res.data.data.length==1){ + var item=res.data.data[0]; + switch (item.prom_type){ + case 9: + good_url= '/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=' + gd + '&group_id=' + item.act_id; + break; + case 8: + good_url="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+gd+"&prom_id="+item.act_id + break; + default: + good_url="/pages/goods/goodsInfo/goodsInfo?goods_id="+gd+"&prom_id="+item.act_id+"&prom_type="+item.prom_type; + break + } + } + getApp().goto(good_url); + + }else{ + getApp().goto(good_url); + } + }) + }, + + + + click_contact:function () { + getApp().globalData.no_clear=1; + }, + + + //-- 查看物流 -- + go_wuliu:function (e) { + getApp().go_wuliu(e); + }, + + //优惠促销用户参与次数,is_buy=1,表示只获取支付了的 + async getUserBuyPromNum_pre(prom_id,is_buy) { + var userInfo = getApp().globalData.userInfo; + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; + if(is_buy){ + url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; + } + let res = await getApp().request.promiseGet(url, { + data: {} + }); + let user_pre_buynum = 0 + if (res.data.code == 0 && res.data.data) { + user_pre_buynum = res.data.data.userbuynum + } + return user_pre_buynum + } + + + + + +}); \ No newline at end of file diff --git a/packageG/pages/user/order_detail/order_detail.json b/packageG/pages/user/order_detail/order_detail.json new file mode 100644 index 0000000..c9e22db --- /dev/null +++ b/packageG/pages/user/order_detail/order_detail.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "订单详情", + "enablePullDownRefresh": false, + "usingComponents": { + "warn": "/components/long_warn/long_warn" + } +} \ No newline at end of file diff --git a/packageG/pages/user/order_detail/order_detail.wxml b/packageG/pages/user/order_detail/order_detail.wxml new file mode 100644 index 0000000..db86c44 --- /dev/null +++ b/packageG/pages/user/order_detail/order_detail.wxml @@ -0,0 +1,210 @@ + + + + + {{order.consignee}}{{'  '}}{{order.mobile}} + + + {{order.more_address}} {{order.address}} + + + + + + + + + + 门店:{{order.pickname}} + {{order.order_status_detail}} + + + + + + + + + {{item.goods_name}} + + {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} + + + + ¥{{item.member_goods_price}}({{item.ladder_discount}}折) + ×{{item.goods_num}} + + + + 申请退款 + 退款中 + 重新退款 + 退款完成 + + + + + + + 查看拼团详情 + + + + + 联系客服 + 联系客服 + + + + + + + 基本信息 + + 订单编号 + {{order.order_sn}} + + + 下单时间 + {{order.addTimeFormat}} + + + + 配送方式 + + -- + + + 同城配送 + 自提 + 物流({{order.shipping_name}}) + + + 买家留言 + {{order.user_note!=''?order.user_note:'无'}} + + + + 价格信息 + + 商品总价 + ¥ {{filters.toFix(order.order_goods[0].member_goods_price*order.order_goods[0].goods_num,2)}}元 + + + 商品总价 + ¥ {{order.goods_price}}元 + + + + 定金金额 + ¥ {{filters.toFix(order.order_amount+order.user_money,2)}}元 + + + 尾款金额 + ¥ {{filters.toFix(order.pt_tail_money-order.shipping_price,2)}}元 + + + + 配送费用 + ¥ {{order.shipping_price}}元 + + + 优惠券 + ¥ {{order.coupon_price}}元 + + + 使用预存 + ¥ {{order.pre_cut}}元 + + + 积分 + {{order.integral}}积分 + + + + 优惠活动 + ¥ {{filters.toFix(order.discount_amount,2)}}元 + + + + 阶梯优惠活动 + ¥ {{filters.toFix(order.ladder_amount,2)}}元 + + + + 订单优惠 + ¥ {{order.order_prom_amount}}元 + + + + 订单总价 + ¥ {{filters.toFix(order.order_amount+order.user_money+order.pt_tail_money+order.use_commission+order.pre_cut,2)}}元 + + + + + + 使用佣金 + ¥ {{filters.toFix(order.use_commission,2)}}元 + + + + 使用余额 + ¥ {{filters.toFix(order.user_money+order.pt_tail_money,2)}}元 + ¥ {{filters.toFix(order.user_money,2)}}元 + + + + + + + 支付尾款 + + + + + + + 删除订单 + + + + + + + 申请退款 + 申请退款 + + + 删除订单 + 重新退款 + 退款详情 + + + + + 评价 + 去评价 + + + + 再来一单 + + + + + diff --git a/packageG/pages/user/order_detail/order_detail.wxss b/packageG/pages/user/order_detail/order_detail.wxss new file mode 100644 index 0000000..9dbaf3a --- /dev/null +++ b/packageG/pages/user/order_detail/order_detail.wxss @@ -0,0 +1,179 @@ +.user-mes { + background-color: #fff; + font-size: 32rpx; + color: #333; +} + +.user-contact { + padding: 24rpx 80rpx; +} + +.location { + position: relative; + padding: 0 80rpx 24rpx; +} + +.pos-icon { + position: absolute; + left: 30rpx; + top: 0; + width: 32rpx; + height: 32.5rpx; +} + +.border-img { + width: 100%; + height: 16rpx; +} + +.order-meg { + margin-bottom: 20rpx; + font-size: 30rpx; + margin-top: 20rpx; +} + +.order-state { + height: 100rpx; + line-height: 100rpx; + padding-right: 40rpx; + padding-left: 40rpx; + background-color: #fff; + color: #f23030; + justify-content: space-between; + display: flex; +} +.shop_name{color: #333} +.order-detail { + padding: 30rpx 0; + border-bottom: 1px solid #ddd; + color: #666; + min-height: 115rpx; +} +.goods-img { + float: left; + width: 100rpx; + height: 100rpx; + margin: 0 30rpx; +} + +.order-cont { + float: left; + width: 410rpx; +} + +.goods-name { + height: 60rpx; + line-height: 30rpx; + overflow: hidden; + margin-bottom: 16rpx; +} + +.goods-color { + font-size: 24rpx; +} + +.order-num { + float: right; + font-size: 24rpx; + margin-top: 10rpx; + margin-right: 20rpx; + text-align: right; + line-height: 42rpx; +} + +.order-operate { + height: 100rpx; + padding-right: 20rpx; + background-color: #fff; + display: flex; + align-items: center; + justify-content: flex-end; +} + +.check-btn { + width: 180rpx; + height: 60rpx; + line-height: 60rpx; + text-align: center; + margin-right: 10rpx; + border: 1px solid #eee; +} + +.goods-btn { + width: 150rpx; + height: 60rpx; + line-height: 60rpx; + text-align: center; + border: 1px solid #eee; +} + +.cancel-order { + margin-left: 20rpx; +} + +.information { + padding: 0 20rpx; + background-color: #fff; + margin-bottom: 20rpx; +} + +.information .title { + height: 70rpx; + line-height: 70rpx; + border-bottom: 1rpx solid #ddd; + font-size: 34rpx; + color: #333; +} + +.information .item { + display: flex; + justify-content: space-between; + height: 60rpx; + line-height: 60rpx; + font-size: 30rpx; + color: #333; +} + +.information .item.pnew{ + height: 50rpx; + line-height: 50rpx; + color: #999; +} +.item-line{ margin: 5rpx 0; height: 1rpx; border-bottom:1rpx solid #ddd } + +.delivery-address,.leave-word { + width: 500rpx; + text-align: right; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.pay-amount { + color: #f23030; +} + +.btn-wrap { + height: 100rpx; + background-color: #fff; + text-align: right; + position: fixed; width: 100%; bottom: 0; border-top: 1rpx solid #ddd +} + +.tips-btn { + display: inline-block; + width: 200rpx; + height: 100rpx; + line-height: 100rpx; + text-align: center; + font-size: 30rpx; + color: #fff; + background-color: #f23030; + /* margin-left: 2rpx; */ + margin-right: 8rpx +} + + +.contact-us.goods-btn::after { + content: none; +} \ No newline at end of file diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 593eeb8..6495c93 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -59,57 +59,17 @@ Page({ is_cart:1, //标记是购物车计算的时候 + //送赠品的优化 + cart_zp:{}, + //-- dp_cart深拷贝的缓存 -- + dp_cart:null, + + //优惠促销活动的集合 + yhcx_act_map: {}, + //-- 活动的购买数量的map -- + act_buy_map:{} }, - //-- 立即购买的时候,获取商品优惠活动,is_state判断是不是单个商品购买, - // 很多活动需要判断会员的plus等级, 权益登陆,user_id调用接口是必须的 -- - //先用着,后面会用接口来代替 - async buy_pro_group(item1, is_state) { - //-- 代发商品不参与任何活动 -- - if (item1.whsle_id) return false; - if (item1.is_gift) return false; - - var th = this; - var req_d = { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: item1.goods_id, - goods_num: item1.goods_num, - goods_price: item1.goods_price, - } - //--- 调用接口获取活动 --- - await getApp().promiseGet('/api/weshop/goods/getGoodsPromInfo', { - data: req_d - }).then(res => { - if (res.data.code == 0) { - - var more_cx = res.data.data.more_cx; - for (var i = 0; i < more_cx.length; i++) { - if (more_cx[i].prom_type == 5) { - more_cx[i].main_gid = more_cx[i].collocation.main_goods_id; - var min = more_cx[i].collocation_main_price + more_cx[i].collocation_min_price; - var max = more_cx[i].collocation_main_price + more_cx[i].collocation_max_price; - more_cx[i].show_price = "¥" + min + "-" + max; - } - } - item1.more_cx = more_cx - if (res.data.data.zh_pro) { - th.data.zuhe_map[res.data.data.zh_pro.id] = res.data.data.zh_pro; - } - if (res.data.data.ladder_pro) { - var ladder_pro = res.data.data.ladder_pro; - th.data.ladder_map[ladder_pro.id] = ladder_pro; - var fd = res.data.data.more_cx.find(function (e) { - return e.prom_type == 10; - }) - if (fd) { - th.data.ladder_map[ladder_pro.id].ladder_list = fd.ladder_list; - } - } - } - }) - - }, onLoad: function () { var a = this, @@ -118,6 +78,7 @@ Page({ wx.setNavigationBarTitle({ title: "购物车", }) + //判断是否有登录 t.auth.hadAuth() && t.getUserInfo(function () { //a.getCardList(); @@ -126,6 +87,9 @@ Page({ }, onShow: function () { + //-- 清空 checkouting 结算的标记 -- + this.data.checkouting=0; + if(getApp().globalData.from_act_link){ this.data.from_act_link= ut.deep_cp(getApp().globalData.from_act_link); getApp().globalData.from_act_link=null; @@ -140,7 +104,8 @@ Page({ //每次显示都清空 this.data.in_zhact_gdmap = {}; this.setData({ - invalidList: [] + invalidList: [], + cart_zp:{} //-- 赠品也要清理显示 -- }); if (typeof this.getTabBar === 'function' && this.getTabBar()) { @@ -290,7 +255,6 @@ Page({ var user = getApp().globalData.userInfo; //如果后台有开启等级价的功能 if (user && parseInt(s_list.rank_switch) == 2 && user['card_expiredate']) { - var str = user['card_expiredate'].replace(/-/g, '/'); var end = new Date(str); end = Date.parse(end) / 1000; @@ -517,7 +481,18 @@ Page({ wx.showLoading(); - getApp().request.get("/api/weshop/cart/list", { + //一次性把购物车selected状态变成0 + var url = '/api/weshop/cart/updateUserCart'; + getApp().request.put(url, { + data: { + user_id: app.globalData.user_id, + store_id: oo.stoid, + selected: 0, + state:0 + } + }); + + getApp().request.get("/api/weshop/cart/listNew1", { data: { user_id: app.globalData.user_id, rd: rd, @@ -534,65 +509,87 @@ Page({ if (carr && carr.length > 0) { var g_arr = []; + var by_map = null; + for (var i = 0; i < carr.length; i++) { - //-- 清理购物车的选中状态 -- - var url = '/api/weshop/cart/update'; - getApp().request.put(url, { - data: { - id: carr[i].id, - store_id: oo.stoid, - selected: 0, - } - }); + //填充一下已经买了多少件,只有在商品是有限购条件的时候才进行计算good.viplimited>0 + if(carr[i].viplimited>0){ + if(!by_map) by_map={}; + by_map[carr[i].goods_id] = carr[i].goodsbuynum?carr[i].goodsbuynum:0; + } + + //如果不是活动的时候,不是代发商品的时候,不是赠品的时候 + if([1, 2, 4, 6, 8, 9].indexOf(carr[i].prom_type)== -1 && !carr[i].whsle_id && !carr[i].is_gift ){ - if (g_arr.length == 0) g_arr.push(carr[i].goods_id); - else { - var ind = g_arr.findIndex(function (ele) { + //快速查找 + let f_idx=g_arr.findIndex(function (ele) { return ele.goods_id == carr[i].goods_id - }) - if (ind > -1) continue; - g_arr.push(carr[i].goods_id) + }); + if(f_idx>-1) continue; + + let gd_ite={ + goods_id:carr[i].goods_id, + goods_num:1, + is_limit_show:1, + is_state:0 + } + g_arr.push(gd_ite); } } - var by_map = null; - - // //--要获得商品,该用户买了多少件,同步应用-- - // await getApp().request.promiseGet("/api/weshop/ordergoods/listUserBuyGoodsNum", { - // data: { - // store_id: oo.stoid, - // user_id: user_id, - // goods_ids: g_arr.join(','), - // - // }, - // }).then(res => { - // if (ut.ajax_ok2(res)) { - // by_map = {}; - // for (let i in res.data.data) { - // let item = res.data.data[i]; - // by_map[item.goods_id] = item; - // } - // } - // }) - - for (let ir = 0; ir < g_arr.length; ir++) { - let gg_it=g_arr[ir]; - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: oo.stoid, - user_id: user_id, - goods_id: gg_it, - isnew:1 - }, - }).then(tt => { - if (tt.data.code == 0) { - if(!by_map) by_map={}; - by_map[gg_it] = tt.data.data; + //获取商品参与的促销活,优惠促,搭配促,组合促,阶梯促销 + let cx_rs= await getApp().request.promisePost("/api/weshop/cart/listGoodsPromInfo",{ + is_json:1, + data:{ + user_id:app.globalData.user_id, + store_id:oo.stoid, + goods:g_arr, + } + }); + //-- 判断返回结果有没有正确,有促销活动就要进行赋值 -- + if(cx_rs && cx_rs.data.code==0 && cx_rs.data.data && cx_rs.data.data.goods) { + let g_list=cx_rs.data.data.goods; + for (var ia = 0; ia < carr.length; ia++) { + if (carr[ia].whsle_id) continue; //代发商品不进行赋值 + if (carr[ia].is_gift) continue; //赠品不进行赋值 + //有参与秒,团购之类的活动不进行赋值 + if([1, 2, 4, 6, 8, 9].indexOf(carr[ia].prom_type)> -1 ) continue; + //再g_list中快速查找 + let i_fd=g_list.find(function (ele) { + return ele.goods_id == carr[ia].goods_id + }); + if(i_fd.goodsPromInfoRespDto){ + //-- 多促销活动的优化 -- + i_fd=i_fd.goodsPromInfoRespDto; + //-- 赋值多促销活动的优化-- + carr[ia].more_cx=i_fd.more_cx; + //商品优惠促销的缓存 + if (i_fd.yhcx_pro) { + th.data.yhcx_act_map[i_fd.yhcx_pro.id] = i_fd.yhcx_pro; + } + //商品组合促销的缓存 + if (i_fd.zh_pro) { + th.data.zuhe_map[i_fd.zh_pro.id] = i_fd.zh_pro; + } + //商品阶梯促销的缓存 + if (i_fd.ladder_pro) { + var ladder_pro = i_fd.ladder_pro; + th.data.ladder_map[ladder_pro.id] = ladder_pro; + var fd_ite = i_fd.more_cx.find(function (e) { + return e.prom_type == 10; + }) + if (fd_ite) { + th.data.ladder_map[ladder_pro.id].ladder_list = fd_ite.ladder_list; } - }) + } + } + + } } + + let cart_up_data=[]; for (var i = 0; i < carr.length; i++) { var item = carr[i]; var good = item; @@ -622,7 +619,7 @@ Page({ promgoodsbuynum = 0, limit = 0; if (by_map && by_map[good.goods_id]) { - goodsbuynum = by_map[good.goods_id].goodsbuynum; + goodsbuynum = by_map[good.goods_id]; //promgoodsbuynum = by_map[good.goods_id].promgoodsbuynum; } @@ -650,7 +647,7 @@ Page({ } //-- 如果有优惠促销,和阶梯促销,要看下有没有组合购,搭配购,看一下优惠促销和阶梯促销谁是指定商品参与的 -- - if (item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7 || item.prom_type == 10) { + if (item.prom_type == 0 || item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7 || item.prom_type == 10) { var c_prom_type = 0; var c_prom_id = 0; @@ -662,19 +659,19 @@ Page({ } else { item.goods_price = good.shop_price; } - //-- 购物车更新 -- var updata1 = { - id: item.id, - prom_type: c_prom_type, - prom_id: c_prom_id, - store_id: os.stoid, - user_id: getApp().globalData.userInfo.user_id + id: item.id, + prom_type: c_prom_type, + prom_id: c_prom_id, + store_id: os.stoid, + user_id: getApp().globalData.userInfo.user_id, + goods_price:item.goods_price }; - getApp().request.put("/api/weshop/cart/update", { - data: updata1, - }) - + // getApp().request.put("/api/weshop/cart/update", { + // data: updata1, + // }) + cart_up_data.push(updata1); } //判断如果是普通商品,后面参加活动了,变成失效商品 @@ -682,24 +679,16 @@ Page({ var prom = null; var now = ut.gettimestamp(); - await getApp().request.promiseGet(`/api/weshop/activitylist/listGoodActInfo2New`, { - data: { - "store_id": oo.stoid, - "goods_id": item.goods_id, - "user_id": user_id, - } - }).then(res => { - if (res.data.code == 0) { - //开始时间已经开始的情况 - for (var i = 0; i < res.data.data.length; i++) { - var a_item = res.data.data[i]; - if (a_item.s_time < now) { - if (!prom) prom = []; - prom.push(a_item); - } + let prom_arr = item.goodsActinfo; + if(prom_arr && prom_arr.length){ + for (var im = 0; im -1 && !item.is_integral_normal && !item.is_pd_normal) { @@ -720,41 +709,23 @@ Page({ th.disInvalid(item); continue; } - } } - //优化获取商品的活动购买了几件 if (item.prom_type == 1 || item.prom_type == 2) { - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyPromNum", { - data: { - store_id: oo.stoid, - user_id: user_id, - goods_id: item.goods_id, - prom_type: item.prom_type, - prom_id: item.prom_id - }, - }).then(res => { - if (res.data.code == 0) { - promgoodsbuynum = res.data.data.userbuynum; - } - }) + if(item.promgoodsbuynum){ + promgoodsbuynum=item.promgoodsbuynum; + } } - //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 if (item.prom_type == 1) { - var prom = null; + var prom = item.cartActinfo; var now = ut.gettimestamp(); - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + '/' + user_id + "/" + item.prom_id, {}).then(res => { - console.log('活动情况----------------') - console.log(res) - if (res.data.code == 0 && res.data.data) { - prom = res.data.data; - prom.price = prom.user_price; - } - }) + if(prom){ + prom.price = prom.user_price; + } //---如果互动都已经过期,或者还未开始,或者无活动 if (!prom || prom.is_end == 1 || prom.end_time < now || prom.start_time > now) { // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; @@ -807,14 +778,12 @@ Page({ } // 判断团购活动都去掉了,或者结束了,那么这个商品也没有必要留着 else if (item.prom_type == 2) { - var prom = null; + var prom = item.cartActinfo; var now = ut.gettimestamp(); - await getApp().request.promiseGet('/api/weshop/goods/groupBuy/getActInfo/' + oo.stoid + '/' + item.goods_id + '/' + item.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.user_price; - } - }); + if(prom){ + prom.price = prom.user_price; + } + //---如果互动都已经过期,或者还未开始,或者无活动 if (!prom || prom.is_end == 1 || prom.end_time < now || prom.start_time > now) { // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; @@ -863,8 +832,7 @@ Page({ item.init_goods_price=good.goods_price; //-- 读出每一种商品的所有的活动,方便后面的活动切换使用 -- - if (item.prom_type == 0) - th.buy_pro_group(item, 0); + //if (item.prom_type == 0) th.buy_pro_group(item, 0); var pcid = item.pick_id; var find = 0; @@ -900,8 +868,15 @@ Page({ arr.push(ie); } } - } + //更新一下购物车商品的活动信息 + if(cart_up_data.length>0){ + getApp().request.promisePost('/api/weshop/cart/updateCartPromInfo',{ + is_json:1, + data:cart_up_data + }) + } + } if (th.data.is_open_offline && th.data.is_open_offline > 0 && th.data.sales_rules == 2) { //-- 此时要实时更新线下取价价格 -- for (var i = 0; i < arr.length; i++) { @@ -920,11 +895,14 @@ Page({ } } + //-- 2024-2-3 深拷贝数据缓存 -- + th.data.dp_car=ut.deep_cp(arr); th.setData({ requestData: arr, all_num: all_num, is_load: 1, - is_edit: 0 + is_edit: 0, + checkAllToggle:0 }), th.doCheckAll(), wx.stopPullDownRefresh(); @@ -1214,37 +1192,40 @@ Page({ // if (this.data.btn_click) { // return false; // } - this.data.btn_click = 1; - - var a = t.currentTarget.dataset.item; - var b = t.currentTarget.dataset.pitems; - a = this.data.requestData[b].goods[a]; - var e = a; - var th = this; - - if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { - //this.clear_req(); + setTimeout(() => { + if (this.data.up_dating == 1) return false; + this.data.up_dating=1 + + this.data.btn_click = 1; + var a = t.currentTarget.dataset.item; + var b = t.currentTarget.dataset.pitems; + a = this.data.requestData[b].goods[a]; + var e = a; + var th = this; - var s = { - goods_num: a, - goods_id: e.goods_id, - id: e.id, - store_id: oo.stoid - }; - th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); - } + if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) { + //this.clear_req(); + var s = { + goods_num: a, + goods_id: e.goods_id, + id: e.id, + store_id: oo.stoid + }; + th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); + } + },200) }, //-------------加减数量的时候,要把show_can_cx清理掉, // 同时应该记录一下当前是什么活动那个,如果切换后的活动有跟切换前的活动一样是,就要让切换后的活动的值匹配选中------------- - clear_req: function () { var carr = this.data.requestData; for (var i = 0; i < carr.length; i++) { - var txt = 'requestData[' + i + '].show_can_cx' - this.setData({ - [txt]: null - }); + var txt = 'requestData[' + i + '].show_can_cx1' + this.setData({ + [txt]: null + }); + this.data.requestData[i].show_can_cx=null; } }, @@ -1282,7 +1263,7 @@ Page({ var add_num = 1; //调用接口判断是不是促销活动的商品 if ([0, 3, 5, 7, 10].indexOf(a.prom_type) > -1) { - var cx_arr = await getApp().get_has_cx_act(a.goods_id); + var cx_arr = getApp().get_has_cx_act2(a.goodsActinfo); var steep = getApp().get_limit_qty(a, cx_arr.length, 1); if (steep > 1) { add_num = steep; @@ -1321,7 +1302,7 @@ Page({ //this.clear_req(); var add_num = 1; if ([0, 3, 5, 7, 10].indexOf(a.prom_type) > -1) { - var cx_arr = await getApp().get_has_cx_act(a.goods_id); + var cx_arr = getApp().get_has_cx_act2(a.goodsActinfo); var steep = getApp().get_limit_qty(a, cx_arr.length, 1); if (steep > 1) { add_num = steep; @@ -1477,36 +1458,44 @@ Page({ } }, - //---------------全选,全选的时候要判断是否门店的匹配方式一致-------------- checkAll: async function () { + + console.log('1111'); + console.log(this.data.clicking); + + //防止重复点击,弹出加载动画,转圈圈 + if(this.data.clicking) return false; + this.data.clicking=1; + this.set_clicking(); + var e = this, - th = this, - dda = e.data.requestData, - sdda = e.data.service_data, - tfeel = 0, - t_num = 0, - text_arr = ""; + th = this, + dda = e.data.requestData, + sdda = e.data.service_data, + tfeel = 0, + t_num = 0, + text_arr = ""; if(this.data.is_edit){ let val=!e.data.checkAllToggle; if (dda && dda.length > 0) { - for (var i = 0; i < dda.length; i++) { - var item = dda[i].goods; + for (var i = 0; i < dda.length; i++) { + var item = dda[i].goods; - var txt0 = "requestData[" + i + "].selected"; - this.setData({ - [txt0]: val, - }); + var txt0 = "requestData[" + i + "].selected"; + this.setData({ + [txt0]: val, + }); - for (var j = 0; j < item.length; j++) { - let txt = "requestData[" + i + "].goods[" + j + "].selected"; - e.setData({ - [txt]: val, - }); - } + for (var j = 0; j < item.length; j++) { + let txt = "requestData[" + i + "].goods[" + j + "].selected"; + e.setData({ + [txt]: val, + }); } + } } if (sdda && sdda.length > 0) { for (i = 0; i < sdda.length; i++) { @@ -1529,15 +1518,18 @@ Page({ e.setData({ checkAllToggle: val, }) + + th.clear_clicking(); return false; } if (e.data.requestData && e.data.requestData.length > 0 && - e.data.service_data && e.data.service_data.length > 0) { + e.data.service_data && e.data.service_data.length > 0) { wx.showModal({ title: '提示', content: '服务卡项目不能和商品一起选择' }); + th.clear_clicking(); return false; } @@ -1550,10 +1542,11 @@ Page({ if (dda && dda.length > 0) { for (var i = 0; i < dda.length; i++) { var item = dda[i].goods; - var txt0 = "requestData[" + i + "].show_can_cx"; + var txt0 = "requestData[" + i + "].show_can_cx1"; e.setData({ [txt0]: {}, }); + th.data.requestData[i].show_can_cx=null; //清空需要的 if (e.data.checkAllToggle) { var txt = "requestData[" + i + "].selected"; @@ -1579,43 +1572,44 @@ Page({ }); if (ob.code == -1) { - wx.showToast({ title: gd_info.goods_name+'购买数量超出商品库存', icon: 'none', }); + th.clear_clicking(); return false; - } else { - if (th.data.sales_rules == 3) { - var goods_id = gd_info.goods_id; - var num = 0; - - for (let ii = 0; ii< th.data.requestData.length; ii++) { - if (i == ii) continue; - var it = th.data.requestData[ii].goods.find((e) => { - return e.goods_id == goods_id; - }) - if (it && it.selected) num += it.goods_num - } + } - if (num > ob.CanOutQty) { - wx.showToast({ - title: gd_info.goods_name+'购买数量超出商品库存', - icon: 'none', - }); - return false; - } + if (th.data.sales_rules == 3) { + var goods_id = gd_info.goods_id; + var num = 0; + + for (let ii = 0; ii< th.data.requestData.length; ii++) { + if (i == ii) continue; + var it = th.data.requestData[ii].goods.find((e) => { + return e.goods_id == goods_id; + }) + if (it && it.selected) num += it.goods_num + } + + if (num > ob.CanOutQty) { + wx.showToast({ + title: gd_info.goods_name+'购买数量超出商品库存', + icon: 'none', + }); + th.clear_clicking(); + return false; } } - } + } //-- 判断起购数量 -- if (!e.data.checkAllToggle) { //判断是不是有促销活动 - var act = await getApp().get_has_cx_act(obj.goods_id); + var act = getApp().get_has_cx_act2(obj.goodsActinfo); th.click_set_limit(obj, i, j, act); } @@ -1652,34 +1646,29 @@ Page({ // if (obj.prom_type == 10) ladder_calc.add_ladder_prom(dda, i, obj); //多门店,多优惠次数控制 - let pro_off1 = false - if (!e.data.checkAllToggle) { - //判断多店优惠促销次数控制 - if (th.data.requestData.length > 1) { - if (obj.prom_type == 3) { - - pro_off1 = await th.multiple_stores_pro(i, j) - } - } - } - - if (pro_off1) { - pro_off = true - let txt1 = "requestData[" + i + "].pro_off"; - e.setData({ - [txt1]: true, - [txt]: 0, - }); - - wx.showToast({ - title: '已超出优惠促销次数', - icon: 'none', - }); + // let pro_off1 = false + // if (!e.data.checkAllToggle) { + // //判断多店优惠促销次数控制 + // if (th.data.requestData.length > 1) { + // if (obj.prom_type == 3) { + // pro_off1 = await th.multiple_stores_pro(i, j) + // } + // } + // } + // if (pro_off1) { + // pro_off = true + // let txt1 = "requestData[" + i + "].pro_off"; + // e.setData({ + // [txt1]: true, + // [txt]: 0, + // }); + // + // wx.showToast({ + // title: '已超出优惠促销次数', + // icon: 'none', + // }); - } else { - e.setData({ - [txt]: !e.data.checkAllToggle, - }) + // } else { if (!e.data.checkAllToggle) { //组合购的金额要另外算 @@ -1693,10 +1682,16 @@ Page({ offline_price += (item[j].goods_price - item[j].offline_price) * item[j].goods_num; offline_num += item[j].goods_num; } - } - e.setData({ - [txt]: !e.data.checkAllToggle, - }) + + e.setData({ + [txt]: !e.data.checkAllToggle, + }) + + //} + + + + // if (!e.data.checkAllToggle) { // //组合购的金额要另外算 // if (item[j].prom_type != 7 && item[j].prom_type != 10) @@ -1720,79 +1715,79 @@ Page({ title: '提示', content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致' }); + th.clear_clicking(); return false; - } else { + } - for (var i = 0; i < dda.length; i++) { - // if (!e.data.checkAllToggle) { - //多门店优惠促销次数控制 - if (dda[i].pro_off || e.data.checkAllToggle) { - var txt = "requestData[" + i + "].selected"; - e.setData({ - [txt]: 0, - }); - } else { - var txt = "requestData[" + i + "].selected"; - e.setData({ - [txt]: 1, - }); - } - // } + for (var i = 0; i < dda.length; i++) { - //总的价格,把组合商品的价格拿出来 - // var zh_calc_res = zh_calc.calculate_zh(dda, i, this); - // tfeel += zh_calc_res.tfeel; - // offline_price += zh_calc_res.offline_price; - // offline_num += zh_calc_res.offline_num; - // - // //总的价格,把阶梯促销的商品的价格拿出来 - // var ladder_calc_res = ladder_calc.calculate_ladder(dda, i, this); - // tfeel += ladder_calc_res.tfeel; - // offline_price += ladder_calc_res.offline_price; - // offline_num += ladder_calc_res.offline_num; - // - // //当有线下取价的时候 - // if (offline_price) { - // var txt1 = "requestData[" + i + "].offline_price"; - // var txt2 = "requestData[" + i + "].offline_num"; - // th.setData({ - // [txt1]: offline_price.toFixed(2), - // [txt2]: offline_num, - // }); - // } else { - // if (dda[i].offline_price > 0) { - // var txt1 = "requestData[" + i + "].offline_price"; - // var txt2 = "requestData[" + i + "].offline_num"; - // th.setData({ - // [txt1]: 0, - // [txt2]: 0 - // }); - // } - // } - } - //多门店优惠次数控制 - if (pro_off) { + // if (!e.data.checkAllToggle) { + //多门店优惠促销次数控制 + if (dda[i].pro_off || e.data.checkAllToggle) { + var txt = "requestData[" + i + "].selected"; e.setData({ - checkAllToggle: false, + [txt]: 0, }); } else { + var txt = "requestData[" + i + "].selected"; e.setData({ - checkAllToggle: !e.data.checkAllToggle, + [txt]: 1, }); } - e.setData({ - checkAllToggle: !e.data.checkAllToggle, - // total_fee: tfeel.toFixed(2), - // total_num: t_num, + // } - }); + //总的价格,把组合商品的价格拿出来 + // var zh_calc_res = zh_calc.calculate_zh(dda, i, this); + // tfeel += zh_calc_res.tfeel; + // offline_price += zh_calc_res.offline_price; + // offline_num += zh_calc_res.offline_num; + // + // //总的价格,把阶梯促销的商品的价格拿出来 + // var ladder_calc_res = ladder_calc.calculate_ladder(dda, i, this); + // tfeel += ladder_calc_res.tfeel; + // offline_price += ladder_calc_res.offline_price; + // offline_num += ladder_calc_res.offline_num; + // + // //当有线下取价的时候 + // if (offline_price) { + // var txt1 = "requestData[" + i + "].offline_price"; + // var txt2 = "requestData[" + i + "].offline_num"; + // th.setData({ + // [txt1]: offline_price.toFixed(2), + // [txt2]: offline_num, + // }); + // } else { + // if (dda[i].offline_price > 0) { + // var txt1 = "requestData[" + i + "].offline_price"; + // var txt2 = "requestData[" + i + "].offline_num"; + // th.setData({ + // [txt1]: 0, + // [txt2]: 0 + // }); + // } + // } + } - this.doCheckAll(function () { - e.all_check_prom_activity(); - }); + //e.setData({ + //checkAllToggle: !e.data.checkAllToggle, + // total_fee: tfeel.toFixed(2), + // total_num: t_num, + //}); + + this.doCheckAll(async function () { + await e.all_check_prom_activity(); + + //多门店优惠次数控制 + if (pro_off) { + e.setData({ + checkAllToggle: false, + }); + } + th.clear_clicking(); + + }); - } } if (sdda && sdda.length > 0) { @@ -1822,28 +1817,40 @@ Page({ total_fee: tfeel.toFixed(2), total_num: t_num, }); - } + th.clear_clicking(); + + } }, + + //------门店全选按钮,要判断是否门店的匹配方式一致--------- check_th_all_item: async function (ele) { + + //防止重复点击 + if(this.data.clicking) return false; + this.data.clicking=1; + //加载动画 + this.set_clicking(); + var e = this, - th = this, - pitems = ele.currentTarget.dataset.pitems, - item = this.data.requestData[pitems].goods, - sele = this.data.requestData[pitems].selected; + th = this, + pitems = ele.currentTarget.dataset.pitems, + item = this.data.requestData[pitems].goods, + sele = this.data.requestData[pitems].selected; this.data.btn_click = 1; var garr = e.data.service_data; var isok = 1, - fir = 0, - iarr = item; + fir = 0, + iarr = item; //清空-- 多个促销的切换 -- - var txt0 = "requestData[" + pitems + "].show_can_cx"; + var txt0 = "requestData[" + pitems + "].show_can_cx1"; e.setData({ [txt0]: {}, }); + th.data.requestData[pitems].show_can_cx=null; //清空需要的 if (!sele) { @@ -1857,6 +1864,8 @@ Page({ var txt0 = "requestData[" + pitems + "].selected"; this.setData({[txt0]:1}) + + th.clear_clicking(); return false; } @@ -1875,6 +1884,7 @@ Page({ title: '提示', content: '服务卡项目不能和商品一起选择' }); + th.clear_clicking(); return false; } } @@ -1900,6 +1910,7 @@ Page({ title: '提示', content: '同一门店自提和物流的商品不能同时结算' }); + th.clear_clicking(); return false; } @@ -1910,7 +1921,7 @@ Page({ var gd_info = item[i]; if (!sele) { - var act = await getApp().get_has_cx_act(gd_info.goods_id); + var act =getApp().get_has_cx_act2(gd_info.goodsActinfo); th.click_set_limit(gd_info, pitems, i, act) } @@ -1927,62 +1938,73 @@ Page({ icon: 'none', }); + th.clear_clicking(); return false; - } else { - if (th.data.sales_rules == 3) { - var goods_id = gd_info.goods_id; - var num = 0; - - for (let i = 0; i < th.data.requestData.length; i++) { - if (pitems == i) continue; - var it = th.data.requestData[i].goods.find((e) => { - return e.goods_id == goods_id; - }) - if (it && it.selected) num += it.goods_num - } + } - if (num > ob.CanOutQty) { - wx.showToast({ - title: gd_info.goods_name+'购买数量超出商品库存', - icon: 'none', - }); - return false; - } + if (th.data.sales_rules == 3) { + var goods_id = gd_info.goods_id; + var num = 0; + + for (let i = 0; i < th.data.requestData.length; i++) { + if (pitems == i) continue; + var it = th.data.requestData[i].goods.find((e) => { + return e.goods_id == goods_id; + }) + if (it && it.selected) num += it.goods_num + } + + if (num > ob.CanOutQty) { + wx.showToast({ + title: gd_info.goods_name+'购买数量超出商品库存', + icon: 'none', + }); + th.clear_clicking(); + return false; } } + } //判断多店优惠促销次数控制 - if (th.data.requestData.length > 1) { - if (gd_info.prom_type == 3) { - pro_off1 = await th.multiple_stores_pro(pitems, i) - } - } - if (pro_off1) { - pro_off = true - e.setData({ - [txt]: 0, - }); - } else { - e.setData({ - [txt]: Number(!sele), - }); - } - } - var txt = "requestData[" + pitems + "].selected"; - if (pro_off) { - wx.showToast({ - title: '已超出优惠促销次数', - icon: 'none', - }); - e.setData({ - [txt]: 0, - }); - } else { + // if (th.data.requestData.length > 1) { + // if (gd_info.prom_type == 3) { + // pro_off1 = await th.multiple_stores_pro(pitems, i) + // } + // } + // if (pro_off1) { + // pro_off = true + // e.setData({ + // [txt]: 0, + // }); + // } else { + // e.setData({ + // [txt]: Number(!sele), + // }); + // } e.setData({ [txt]: Number(!sele), }); + } + var txt = "requestData[" + pitems + "].selected"; + // if (pro_off) { + // wx.showToast({ + // title: '已超出优惠促销次数', + // icon: 'none', + // }); + // e.setData({ + // [txt]: 0, + // }); + // } else { + // e.setData({ + // [txt]: Number(!sele), + // }); + // } + + e.setData({ + [txt]: Number(!sele), + }); //-- 选择了什么商品,就用什么商品来判断 -- var sele_arr = {}; @@ -2023,12 +2045,17 @@ Page({ if (sele && i == pitems) continue; await e.check_prom_activity(i); } + + th.clear_clicking(); + }); } else { + th.clear_clicking(); wx.showToast({ title: the_res.msg, icon: 'none', }); + } }) @@ -2036,6 +2063,7 @@ Page({ //判断多门店,优惠促销次数的控制 async multiple_stores_pro(pitems, item) { + let a = this.data.requestData[pitems].goods[item]; let th = this let arr_pro = [] @@ -2045,21 +2073,31 @@ Page({ } }) let prom = null - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + a.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) - let user_pre_buynum = await this.getUserBuyPromNum_pre(a.prom_id) + //使用缓存,不在调用接口 + if(!prom && th.data.yhcx_act_map && th.data.yhcx_act_map[a.prom_id] ){ + prom=th.data.yhcx_act_map[a.prom_id]; + } + if(!prom) { + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + a.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }) + } + let user_pre_buynum = await this.getUserBuyPromNum_pre(a.prom_id); if (user_pre_buynum >= prom.limit_num) { return false } else { + let action_num = user_pre_buynum + 1; arr_pro.map(item => { + let found = false; item.goods.map(ite => { + if(found) return; if (ite.prom_type == 3 && ite.prom_id == a.prom_id && !ite.is_gift && ite.selected) { action_num += 1; + found=true; } }) }) @@ -2074,16 +2112,35 @@ Page({ }, - + //清理防止重复点击的状态函数---2024-2-1 + set_clicking(){ + wx.showLoading({ + mark:true + }); + }, + //清理防止重复点击的状态函数---2024-2-1 + clear_clicking(){ + var th=this; + wx.hideLoading({ + complete:function (){ + th.data.clicking=0; + } + }); + }, //---------------单选,也要判断门店的配送方式是否一致-------------- check_th_item: async function (t) { + + //防止重复点击 + if(this.data.clicking) return false; + this.data.clicking=1; + var e = this, - th = this, - item = t.currentTarget.dataset.item, - pitems = t.currentTarget.dataset.pitems; + th = this, + item = t.currentTarget.dataset.item, + pitems = t.currentTarget.dataset.pitems; a = this.data.requestData[pitems].goods[item]; var isok = 1, - fir = 0; + fir = 0; var iarr = e.data.requestData[pitems].goods; this.data.btn_click = 1; var garr = e.data.service_data; @@ -2093,9 +2150,10 @@ Page({ //如果是标记的时候 if(this.data.is_edit){ - var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; - this.setData({[txt]:1}) - return false; + var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; + this.setData({[txt]:1}); + th.clear_clicking(); + return false; } @@ -2113,6 +2171,7 @@ Page({ title: '提示', content: '服务卡项目不能和商品一起选择' }); + th.clear_clicking(); return false; } } @@ -2142,113 +2201,120 @@ Page({ title: '提示', content: '同一门店自提和物流的商品不能同时结算' }); - } else { - var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; - var gd_info = a; + th.clear_clicking(); + return false; + } + - var erpwareid = gd_info.erpwareid; + var txt = "requestData[" + pitems + "].goods[" + item + "].selected"; + var gd_info = a; - //-- 如果是选中的时候 -- - if (!a.selected) { + var erpwareid = gd_info.erpwareid; - th.data.pitems=pitems; + //-- 如果是选中的时候 -- + if (!a.selected) { - //判断是不是有促销活动 - var act = await getApp().get_has_cx_act(gd_info.goods_id); - //-- 专门来设置商品订购数量 -- - th.click_set_limit(gd_info, pitems, item, act) - if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1) { + th.data.pitems=pitems; - var ob = {}; - await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { - ob = res; + //判断是不是有促销活动 + var act = getApp().get_has_cx_act2(gd_info.goodsActinfo); + //-- 专门来设置商品订购数量 -- + th.click_set_limit(gd_info, pitems, item, act) + if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1, 2, 4, 6, 8, 9].indexOf(gd_info.prom_type) == -1) { + + var ob = {}; + await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { + ob = res; + }); + if (ob.code == -1) { + wx.showToast({ + title: '购买数量超出商品库存', + icon: 'none', }); - if (ob.code == -1) { + th.clear_clicking(); + return false; + } + + if (th.data.sales_rules == 3) { + var goods_id = gd_info.goods_id; + var num = 0; + + for (let i = 0; i < th.data.requestData.length; i++) { + if (pitems == i) continue; + var it = th.data.requestData[i].goods.find((e) => { + return e.goods_id == goods_id; + }) + if (it && it.selected) num += it.goods_num + } + if (num > ob.CanOutQty) { wx.showToast({ title: '购买数量超出商品库存', icon: 'none', }); - + th.clear_clicking(); return false; - } else { - if (th.data.sales_rules == 3) { - var goods_id = gd_info.goods_id; - var num = 0; - - for (let i = 0; i < th.data.requestData.length; i++) { - if (pitems == i) continue; - var it = th.data.requestData[i].goods.find((e) => { - return e.goods_id == goods_id; - }) - if (it && it.selected) num += it.goods_num - } - - if (num > ob.CanOutQty) { - wx.showToast({ - title: '购买数量超出商品库存', - icon: 'none', - }); - - return false; - } - } } - } + } + } + + // let pro_off = false + // //判断多店优惠促销次数控制 + // if (th.data.requestData.length > 1) { + // if (a.prom_type == 3 && !a.selected) { + // pro_off = await th.multiple_stores_pro(pitems, item) + // } + // } + // + // if (pro_off) { + // wx.showToast({ + // title: '已超出优惠促销次数', + // icon: 'none', + // }); + // th.clear_clicking(); + // return false; + // } + var txt0 = "requestData[" + pitems + "].show_can_cx"; + e.setData({ + [txt0]: {}, + }); + th.data.requestData[pitems].show_can_cx=null; - let pro_off = false - //判断多店优惠促销次数控制 - if (th.data.requestData.length > 1) { - if (a.prom_type == 3 && !a.selected) { - //pro_off = await th.multiple_stores_pro(pitems, item) - } - } + //-- 选择了什么商品,就用什么商品来判断 -- + var sele_arr = {}; + sele_arr[item] = !a.selected; + //回调判断活动有没有冲突 + this.cx_check_ok(pitems, sele_arr, function (the_res) { + if (the_res.code == 0) { + th.setData({ + [txt]: Number(!a.selected), + }); + //要先处理了,再来判断要不要显示凑单 + th.doCheckAll(async function () { + th.data.duo_zp_num_arr={}; + //判断商品是不是优惠活动 + for (var i in e.data.requestData) { + await e.check_prom_activity(i); + } + //清理一下点击防止重复点击 + th.clear_clicking(); - if (pro_off) { + }); + } else { wx.showToast({ - title: '已超出优惠促销次数', + title: the_res.msg, icon: 'none', }); - return false; } + }) - var txt0 = "requestData[" + pitems + "].show_can_cx"; - e.setData({ - [txt0]: {}, - }); - - //-- 选择了什么商品,就用什么商品来判断 -- - var sele_arr = {}; - sele_arr[item] = !a.selected; - //回调判断活动有没有冲突 - this.cx_check_ok(pitems, sele_arr, function (the_res) { - if (the_res.code == 0) { - th.setData({ - [txt]: Number(!a.selected), - }); - //要先处理了,再来判断要不要显示凑单 - th.doCheckAll(async function () { - th.data.duo_zp_num_arr={}; - //判断商品是不是优惠活动 - for (var i in e.data.requestData) { - await e.check_prom_activity(i); - } - - }); - } else { - wx.showToast({ - title: the_res.msg, - icon: 'none', - }); - } - }) - - } }, + + //------门店全选按钮,要判断是否门店的匹配方式一致--------- check_th_all_item_ser: async function (ele) { var e = this, @@ -2386,6 +2452,9 @@ Page({ th.data.pitems=-1; } + + + var cur_car_cp=ut.deep_cp(car); for (var a = 0; a < car.length; a++) { var ite1 = car[a].goods; if(car.length>1 && c_ind>-1 && a==c_ind ){ @@ -2410,6 +2479,29 @@ Page({ for (var a = 0; a < car.length; a++) { //-- 把活动组装进去 --- var show_can_cx = rd_arr[a]; + //-- 把活动组装进去 --- + let show_can_cx1 = ut.deep_cp(rd_arr[a]); + //前端处理渲染的时,要处理一些不需要的字段属性 + if(show_can_cx1){ + for (const key in show_can_cx1) { + let element = show_can_cx1[key]; + if(element.cur_act ){ + delete element.cur_act; + } + if(element.ch_map){ + delete element.ch_map; + } + if(element.act_arr && element.act_arr.length>0){ + for (var ij = 0; ij < element.act_arr.length; ij++) { + var act_ite = element.act_arr[ij]; + delete act_ite.goods; + delete act_ite.act; + delete act_ite.key; + } + } + } + } + car[a].zh_map = null; car[a].ladder_map = null; @@ -2433,6 +2525,9 @@ Page({ //-- 先批量判断一下活动的类型,同时要同步跟新 -- var offline_price = 0; var offline_num = 0; + + //-- 优惠促销活动限购次数的优化 -- + var ch_yc_map={}; for (var c = 0; c < item.length; c++) { //清理一下赠品 if (item[c].is_gift) { @@ -2445,6 +2540,20 @@ Page({ continue; } + let pro_off1 = false; + //-- 判断活动超出限购,要有选中的情况 -- + if (item[c].prom_type == 3 && item[c].selected && !ch_yc_map[a.prom_id]) { + //一个门店一个优惠促销就判断一次 + ch_yc_map[a.prom_id]=1; + pro_off1 = await th.multiple_stores_pro(a, c) + } + if (pro_off1) { + wx.showToast({ + title: '已超出优惠促销次数', + icon: 'none', + }); + } + all_num += item[c].goods_num; if (item[c].prom_type == 7) { @@ -2487,6 +2596,7 @@ Page({ zh_calc.remove_zhprom(car, a, obj); ladder_calc.remove_ladder_prom(car, a, obj); + //-- 如果是未选中的时候 -- if (item[c].selected == 0) { ischeck = 0; is_s_sele = 0; @@ -2500,9 +2610,18 @@ Page({ ladder_calc.add_ladder_prom(car, a, obj); } + if( cur_car_cp[a].goods[c].goods_price!=th.data.dp_car[a].goods[c].goods_price) { + //-- 如果价格有发生变动,要更新界面中的价格显示,还原价格 -- + let txt = 'requestData[' + a + '].goods[' + c + '].goods_price'; + th.setData({ + [txt]: th.data.dp_car[a].goods[c].goods_price + }) + } + } else { + //-- 如果是选中的时候 -- if (item[c].prom_type == 7) { //先把商品放入组合计算的专用的区域 console.log('是组合商品---') @@ -2514,11 +2633,26 @@ Page({ } else if (item[c].prom_type == 10) { ladder_calc.add_ladder_prom(car, a, obj); } else { + //console.log("索引:"+c+",数量:"+item[c].goods_num+",单价:"+item[c].goods_price+",合计:"+item[c].goods_num * item[c].goods_price+",商品:"+item[c].goods_name); tfeel += item[c].goods_num * item[c].goods_price; + //console.log("累计:"+tfeel); + + //-- 如果价格有发生变动,要更新界面中的价格显示 -- + if(th.data.dp_car && th.data.dp_car[a] && th.data.dp_car[a].goods) { + if (item[c].goods_price != th.data.dp_car[a].goods[c].goods_price) { + let txt = 'requestData[' + a + '].goods[' + c + '].goods_price'; + th.setData({ + [txt]: item[c].goods_price + }) + } + } + } t_num += item[c].goods_num; } + + //-- 如果这个商品是线下取价的时候 -- if (item[c].is_offline && item[c].prom_type != 7) { offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num; @@ -2526,6 +2660,13 @@ Page({ } } + + + + + + + //总的价格,把组合商品的价格拿出来 var zh_calc_res = zh_calc.calculate_zh(car, a, th); console.log('.组合价-----------') @@ -2546,11 +2687,11 @@ Page({ [txt]: Number(is_s_sele) }); - var txt1 = "requestData[" + a + "].show_can_cx"; - var txt_g = "requestData[" + a + "].goods"; + var txt1 = "requestData[" + a + "].show_can_cx1"; + //-- 赋值不渲染 ,只后台计算 -- + th.data.requestData[a].show_can_cx=show_can_cx; th.setData({ - [txt1]: show_can_cx, - [txt_g]:item + [txt1]: show_can_cx1, }); //-- var et={show_can_cx:show_can_cx}; @@ -2859,7 +3000,7 @@ Page({ //-- 这个函数在计算的时候,要包含限购的那一部分 -- async normal_check(t, item, pitem, store_count, limit, goodsinfo, wareIds) { - var cx_arr = await getApp().get_has_cx_act(goodsinfo.goods_id); + var cx_arr = getApp().get_has_cx_act2(goodsinfo.goodsActinfo); var th = this; // getApp().my_warnning('购买数量超出商品库存', 0, th); @@ -3386,6 +3527,12 @@ Page({ this.getCardList(); }, + + clear_checkouting(){ + wx.hideLoading(); + this.data.checkouting=0; + }, + //--------------去结算------------ async checkout() { if (getApp().is_sp_hao()) { @@ -3397,13 +3544,24 @@ Page({ return false; } - if (!this.data.total_num || this.data.total_num <= 0) return false; + if (!this.data.total_num || this.data.total_num <= 0) { + wx.showToast({ + title: "请选择商品", + icon: 'none', + duration: 2000 + }); + return false; + } if (!this.data.is_load) return false; if (this.data.up_dating) { wx.showLoading({ title: "计算中" }) } + //--- 避免重复点击 --- + if(this.data.checkouting) return false; + this.data.checkouting=1; + var garr = this.data.requestData; var check_is_goods_selected = 0; @@ -3422,7 +3580,8 @@ Page({ //-- 如果是商品的结算 -- if (check_is_goods_selected) { var glist = []; //商品数组 - var map = new Map(); //使用map值键进行运算 + var map = new Map(); //使用map值键进行运算 + this.data.act_buy_map={}; //使用map值键进行运算活动商品的购买数量 var g_arr = new Array(); //已选的商品列表 var user_id = getApp().globalData.user_id; @@ -3445,14 +3604,14 @@ Page({ var pid=this.data.requestData[i].pid; var _pick=null; - //获取商品信息,包含线下商品ID,指定门店销售的信息 - var rh=await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pid, {}); - if(rh && rh.data.code==0){ - _pick=rh.data.data; - } - var i_arr = this.data.requestData[i].goods; + //-- 优化不用调用接口 -- + _pick={ + pickup_id:pid, + distr_type:i_arr[0].pickup_distr_type + }; + //判断一下商品能不能满足优惠促销的条件 await th.check_can_yh_pro(i_arr); @@ -3462,7 +3621,7 @@ Page({ //-- 判断门店配送是不是匹配 -- if(_pick && _pick.distr_type!=0 && i_arr[j].distr_type!=0 && _pick.distr_type!= i_arr[j].distr_type){ getApp().confirmBox(i_arr[j].goods_name + "配送方式和门店不一致"); - wx.hideLoading(); + th.clear_checkouting(); return false; } @@ -3498,15 +3657,14 @@ Page({ if(yh_by_map[ky]){ ky_n+=yh_by_map[ky]; } - //-- 判断优惠促销活动的商品的限购,can_yh 表示商品满足优惠促销的条件 -- if(i_arr[j].prom_type==3 && fd1.act.goodslimit>0 && i_arr[j].can_yh ){ - var p_can_by=fd1.act.goodslimit-fd1.act.goodslimited; - if(i_arr[j].goods_num+ky_n>p_can_by){ - getApp().confirmBox(i_arr[j].goods_name + "超出活动限购数量"+fd1.act.goodslimit+"件"); - wx.hideLoading(); - return false; - } + var p_can_by=fd1.act.goodslimit-fd1.act.goodslimited; + if(i_arr[j].goods_num+ky_n>p_can_by){ + getApp().confirmBox(i_arr[j].goods_name + "超出活动限购数量"+fd1.act.goodslimit+"件"); + th.clear_checkouting(); + return false; + } } //-- 把购物数量记录到map表中 -- if(!yh_by_map[ky]) yh_by_map[ky]=0; @@ -3516,10 +3674,8 @@ Page({ } - - - if (i_arr[j].prom_type == 7 && i_arr[j].act && (i_arr[j].act.buy_limit>0 || i_arr[j].act.zh_num>0) ) { + let userbuynum = await this.getUserBuyPromNum(i_arr[j].prom_id); if(!zh_buyed_m[i_arr[j].prom_id]) zh_buyed_m[i_arr[j].prom_id]=userbuynum; @@ -3537,10 +3693,10 @@ Page({ checkArr7.push(i_arr[j]) }else{ if (zh_all_ck[i_arr[j].prom_id]) { - //相同门店只记录一单 + //相同门店只记录一单 if(zh_all_ck[i_arr[j].prom_id].indexOf(i)==-1) zh_all_ck[i_arr[j].prom_id].push(i); } else { - zh_all_ck[i_arr[j].prom_id] = [i]; + zh_all_ck[i_arr[j].prom_id] = [i]; } } @@ -3548,7 +3704,7 @@ Page({ //-- 优惠活动次数限制,相同门店的相同prom_id只能算一次 -- if (i_arr[j].prom_type == 3) { if (checkObj3[i_arr[j].prom_id]) { - if(checkObj3[i_arr[j].prom_id].indexOf(i)==-1) checkObj3[i_arr[j].prom_id].push(i); + if(checkObj3[i_arr[j].prom_id].indexOf(i)==-1) checkObj3[i_arr[j].prom_id].push(i); } else { checkObj3[i_arr[j].prom_id] = [i]; } @@ -3556,11 +3712,11 @@ Page({ //如果是普通购买的时候。 if(i_arr[j].is_integral_normal || i_arr[j].is_pd_normal ){ - //-- 四大促销 -- - if([3,5,7,10].indexOf(i_arr[j].prom_tyoe)==-1){ - i_arr[j].prom_id=0; - i_arr[j].prom_type=0; - } + //-- 四大促销 -- + if([3,5,7,10].indexOf(i_arr[j].prom_tyoe)==-1){ + i_arr[j].prom_id=0; + i_arr[j].prom_type=0; + } } //map 的key是不会重复,会覆盖,, @@ -3570,6 +3726,7 @@ Page({ goods_price: i_arr[j].goods_price, prom_id: i_arr[j].prom_id, prom_type: i_arr[j].prom_type, + g_num:i_arr[j].goods_num //新增 }; //判断是不是线下取价 if (i_arr[j].is_offline) { @@ -3579,35 +3736,42 @@ Page({ } g_arr.push(ie); - if (map.has(i_arr[j].goods_id + "")) { - var num11 = map.get(i_arr[j].goods_id + ""); - var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11); - map.set(i_arr[j].goods_id + "", num22); - } else { - map.set(i_arr[j].goods_id + "", i_arr[j].goods_num); + //赠品不拿来计算库存 + if(!i_arr[j].is_gift) { + if (map.has(i_arr[j].goods_id + "")) { + var num11 = map.get(i_arr[j].goods_id + ""); + var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11); + map.set(i_arr[j].goods_id + "", num22); + } else { + map.set(i_arr[j].goods_id + "", i_arr[j].goods_num); + } + + var ky_0=i_arr[j].prom_type + "-"+i_arr[j].prom_id; + if(th.data.act_buy_map[ky_0]){ + var n11 = th.data.act_buy_map[ky_0]; + var n22 = parseInt(i_arr[j].goods_num) + parseInt(num11); + th.data.act_buy_map[ky_0]=n22 + }else{ + th.data.act_buy_map[ky_0]=i_arr[j].goods_num + } + } //glist += i_arr[j].goods_id + ","; - if(!i_arr[j].is_gift){ - var et= {"prom_type":i_arr[j].prom_type,"prom_id":i_arr[j].prom_id,"goods_id":i_arr[j].goods_id}; - glist.push(et); + var et= {"prom_type":i_arr[j].prom_type,"prom_id":i_arr[j].prom_id,"goods_id":i_arr[j].goods_id}; + glist.push(et); } ab = 1; //-- 获取促销活动是不是有参与 -- - var act = await getApp().get_has_cx_act(i_arr[j].goods_id); + var act = getApp().get_has_cx_act2(i_arr[j].goodsActinfo); //-- 判断商品的起订数量 -- var mo_num = getApp().get_limit_qty(i_arr[j], act.length); var steep = getApp().get_limit_qty(i_arr[j], act.length, 1); var py_type = parseInt(i_arr[j].prom_type + ''); - //商品只查一次。看一下有没有 - var gd = null; - //获取商品信息,包含线下商品ID,指定门店销售的信息 - await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => { - if (res.data.code == 0) gd = res.data.data; - }) - + //-- 商品只查一次。看一下有没有,门店之前第一次就赋值了 -- + var gd = i_arr[j]; //判断秒杀的指定门店和团购的指定门店 if([1,2].indexOf(py_type)>-1 && i_arr[j].prom && i_arr[j].prom.pick_up_lists){ var idx0=i_arr[j].prom.pick_up_lists.findIndex(function (e){ @@ -3620,7 +3784,7 @@ Page({ if(py_type==2) act_type='团购'; getApp().confirmBox(i_arr[j].goods_name + act_type+"活动的门店不可售"); - wx.hideLoading(); + th.clear_checkouting(); return false; } } @@ -3628,19 +3792,19 @@ Page({ if ([0, 3, 5, 7, 10].indexOf(py_type) > -1) { //如果是指定门店,就要判断 if(gd.pick_group_ids){ - var idx0=gd.pick_up_lists.findIndex(function (e){ - return e.pickup_id==i_arr[j].pick_id; - }) - if(idx0<0){ - getApp().confirmBox(i_arr[j].goods_name + "的门店不可售"); - wx.hideLoading(); - return false; - } + var idx0=gd.pick_up_lists.findIndex(function (e){ + return e.pickup_id==i_arr[j].pick_id; + }) + if(idx0<0){ + getApp().confirmBox(i_arr[j].goods_name + "的门店不可售"); + th.clear_checkouting(); + return false; + } } if (mo_num > i_arr[j].goods_num) { getApp().confirmBox(i_arr[j].goods_name + "的未达到起订数量"); - wx.hideLoading(); + th.clear_checkouting(); return false; } if (steep > 1 && (i_arr[j].goods_num - mo_num) % steep != 0) { @@ -3655,7 +3819,7 @@ Page({ th.postCardList(e, j, i); - wx.hideLoading(); + th.clear_checkouting(); return false; } @@ -3672,7 +3836,7 @@ Page({ }); if (ob.code == -1) { t.my_warnning(gd.goods_name + "门店库存不足", 0, th); - wx.hideLoading(); + th.clear_checkouting(); return false; } @@ -3685,7 +3849,7 @@ Page({ if (res.data.code == 0) { if (!res.data.data.promGoodsLists) { t.my_warnning(i_arr[j].goods_name + "优惠活动已经过期", 0, th); - wx.hideLoading(); + th.clear_checkouting(); is_ok = 0; } } @@ -3698,20 +3862,21 @@ Page({ } else { if (i_arr[j].is_gift == 1) continue; - rq.put("/api/weshop/cart/update", { - data: { - id: i_arr[j].id, - selected: 0, - store_id: oo.stoid - }, - success: function (ee) { - console.log(ee); - } - }); + // rq.put("/api/weshop/cart/update", { + // data: { + // id: i_arr[j].id, + // selected: 0, + // store_id: oo.stoid + // }, + // success: function (ee) { + // console.log(ee); + // } + // }); } } } + console.log(checkObj3); let checkObj3_off = false @@ -3761,7 +3926,7 @@ Page({ if (checkObj3_off) { t.my_warnning("已超出优惠促销次数", 0, th); - wx.hideLoading(); + th.clear_checkouting(); return false } @@ -3770,23 +3935,23 @@ Page({ let zh_ck_arr = Object.keys(zh_limit_m); if(zh_ck_arr && zh_ck_arr.length ){ for (let xg = 0; xg < zh_ck_arr.length; xg++) { - var ky=zh_ck_arr[xg]; - var zh_buyed=zh_buyed_m[ky]?zh_buyed_m[ky]:0; - var zh_limit=zh_limit_m[ky]?zh_limit_m[ky]:0; - var zh_all=zh_all_ck[ky]?zh_all_ck[ky].length:0; - if(zh_limit<=0) continue; - - if(zh_all+zh_buyed>zh_limit){ - zh_off=true; - break; - } + var ky=zh_ck_arr[xg]; + var zh_buyed=zh_buyed_m[ky]?zh_buyed_m[ky]:0; + var zh_limit=zh_limit_m[ky]?zh_limit_m[ky]:0; + var zh_all=zh_all_ck[ky]?zh_all_ck[ky].length:0; + if(zh_limit<=0) continue; + + if(zh_all+zh_buyed>zh_limit){ + zh_off=true; + break; + } } } if (zh_off) { - t.my_warnning("已超出组合购优惠次数", 0, th); - wx.hideLoading(); - return false + t.my_warnning("已超出组合购优惠次数", 0, th); + th.clear_checkouting(); + return false } @@ -3839,16 +4004,15 @@ Page({ }) if (ab == 0) { t.my_warnning("未选择商品", 0, th); - wx.hideLoading(); + th.clear_checkouting(); return false; } //进行到下一步 th.cart_buy_next(glist,map,g_arr,checkArr7) - } else if (res.cancel) { - wx.hideLoading(); + th.clear_checkouting(); console.log('用户点击取消') } } @@ -3871,7 +4035,7 @@ Page({ }) if (ab == 0) { t.my_warnning("未选择商品", 0, th); - wx.hideLoading(); + th.clear_checkouting(); return false; } @@ -3903,7 +4067,7 @@ Page({ }) if(idx0<0){ getApp().confirmBox(i_arr[j].service_name + "秒杀活动的门店不可售"); - wx.hideLoading(); + th.clear_checkouting(); return false; } } @@ -3923,8 +4087,6 @@ Page({ } }) - - wx.hideLoading(); getApp().goto("/packageA/pages/cart2_ser/cart2_ser?is_cart=1"); } }, @@ -3932,191 +4094,199 @@ Page({ cart_buy_next(glist,map,g_arr,checkArr7){ var th=this; - var map_limit = new Map(); //使用map值键进行存储限购 + var map_limit = new Map(); //使用map值键进行存储限购,这里存的是活动的 + var act_buyed_map={}; //活动当前购买数量的map + var up_cart_data=[]; + + //获取活动的购买的数量 + for (let ig = 0; ig { - if (ee.data.code == 0) { - var ddata = ee.data.data, - isok = 1, - gname = "", - err = ""; - //--组装-- - for (var ij = 0; ij < ddata.length; ij++) { - var val = ddata[ij]; - - var ky=val.goods_id + "-"+val.prom_type + "-"+val.prom_id; - var obj = map_limit.get(ky); - if (obj) continue; - - var promgoodsbuynum = 0; - var goodsbuynum = 0; - - //--要获得商品,该用户买了多少件,同步应用-- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: oo.stoid, - user_id:getApp().globalData.user_id, - goods_id: val.goods_id, - prom_type: val.prom_type, - prom_id: val.prom_id, - isnew:1 - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - goodsbuynum = buy_num_data.goodsbuynum; - }) - var ie = { - promgoodsbuynum: promgoodsbuynum, - goodsbuynum: goodsbuynum - }; - map_limit.set(ky, ie); + if (ee.data.code == 0 && ee.data.data && ee.data.data.length) { + var ddata = ee.data.data, + isok = 1, + gname = "", + err = ""; + + //--组装活动购买的限购-- + for (var ij = 0; ij < ddata.length; ij++) { + var val = ddata[ij]; + var ky=val.goods_id + "-"+val.prom_type + "-"+val.prom_id; + var obj = map_limit.get(ky); + if (obj){ + obj.g_num+=val.goods_num; + continue; } + var promgoodsbuynum =val.promgoodsbuynum || 0; + var goodsbuynum =val.goodsbuynum || 0; + var ie = { + promgoodsbuynum: promgoodsbuynum, + goodsbuynum:goodsbuynum + }; + map_limit.set(ky, ie); + } - //try { - for (var ind in ddata) { - var val = ddata[ind]; - var num = map.get(val.goods_id + ""); + //try { + for (var ind in ddata) { + var val = ddata[ind]; + var num = map.get(val.goods_id + ""); - var ky=val.goods_id + "-"+val.prom_type + "-"+val.prom_id; - var buyed = map_limit.get(ky); + var ky=val.goods_id + "-"+val.prom_type + "-"+val.prom_id; + var ky2=val.prom_type + "-"+val.prom_id; - if (num <= 0) { - isok = 0; - gname = val.goods_name; - throw "购买数量不能为0"; - return false; - } + var num = map.get(val.goods_id + ""); + var num2 = th.data.act_buy_map[ky2]; - if (val.prom_type == 1 || val.prom_type == 2) { + var buyed = map_limit.get(ky); + var cur_buyed=act_buyed_map[ky] - var s_num=num; - if(th.data.sales_rules> 1) s_num=buyed; - if (s_num > val.store_count) { - isok = 0; - gname = val.goods_name; - throw "超出库存"; - return false; - } + if (num <= 0) { + isok = 0; + gname = val.goods_name; + err= "购买数量不能为0"; + return false; + } - if (buyed > val.redisnum && val.redisnum) { - isok = 0; - gname = val.goods_name; - err="超出活动库存"; - break; - } - if (buyed > val.goods_num - val.buy_num && val.goods_num) { - isok = 0; - gname = val.goods_name; - err="超出活动库存"; - break; - } + if (val.prom_type == 1 || val.prom_type == 2) { + var s_num=num; + if(th.data.sales_rules> 1) s_num=buyed; + if (s_num > val.store_count) { + isok = 0; + gname = val.goods_name; + err="超出库存"; + return false; + } - } + if(cur_buyed && cur_buyed.g_num > val.redisnum && val.redisnum) { + isok = 0; + gname = val.goods_name; + err="超出活动库存"; + break; + } + + if(cur_buyed && buyed.g_num > val.goods_num - val.buy_num && val.goods_num) { + isok = 0; + gname = val.goods_name; + err="超出活动库存"; + break; + } + } + + if (th.data.sales_rules == 1 || val.prom_type == 1 || val.prom_type == 2) { + if (num > val.store_count) { + isok = 0; + gname = val.goods_name; + err="超出库存"; + break; + } + } + + if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) { + isok = 0; + gname = val.goods_name; + err="超出商品限购"; + break; + } + + if (num2 + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0) { + isok = 0; + gname = val.goods_name; + err="超出活动限购"; + break; + } - if (th.data.sales_rules == 1) { - if (num > val.store_count) { + var card_field = th.data.card_field; + for (var i = 0; i < g_arr.length; i++) { + if (g_arr[i].goods_id == val.goods_id) { + + //如果会员是等级会员,商品有等级价,且不是活动商品 + if (card_field && val[card_field] > 0 && + ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) { + if (g_arr[i].goods_price != val[card_field]) { isok = 0; gname = val.goods_name; - err="超出库存"; + err="商品价格已经变化"; + break; + } + } else { + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price && val.prom_price > 0 && (g_arr[i].prom_type==1 && g_arr[i].prom_type==2) ) { + isok = 0; + gname = val.goods_name; + err="商品价格已经变化"; break; } } + //-- 数据的更新 -- + var data = { + id: g_arr[i].id, + selected: 1, + store_id: oo.stoid, + prom_type: g_arr[i].prom_type, + prom_id: g_arr[i].prom_id, + }; + // let gitem = checkArr7.find(item => item.goods_id == g_arr[i].goods_id) + // if (gitem) { + // data.prom_type = 0 + // data.prom_id = 0 + // } - if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) { - isok = 0; - gname = val.goods_name; - err="超出商品限购"; - break; - } - - if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0) { - isok = 0; - gname = val.goods_name; - err="超出活动限购"; - break; - } - - var card_field = th.data.card_field; - for (var i = 0; i < g_arr.length; i++) { - if (g_arr[i].goods_id == val.goods_id) { - - //如果会员是等级会员,商品有等级价,且不是活动商品 - if (card_field && val[card_field] > 0 && - ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) { - if (g_arr[i].goods_price != val[card_field]) { - isok = 0; - gname = val.goods_name; - err="商品价格已经变化"; - break; - } - } else { - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price && val.prom_price > 0) { - isok = 0; - gname = val.goods_name; - err="商品价格已经变化"; - break; - } - } - - //-- 数据的更新 -- - var data = { - id: g_arr[i].id, - selected: 1, - store_id: oo.stoid, - prom_type: g_arr[i].prom_type, - prom_id: g_arr[i].prom_id, - }; - - // let gitem = checkArr7.find(item => item.goods_id == g_arr[i].goods_id) - // if (gitem) { - // data.prom_type = 0 - // data.prom_id = 0 - // } - - //-- 如果有线下取价的时候 -- - if (g_arr[i].is_offline) { - data.pricing_type = g_arr[i].pricing_type; - data.offline_price = g_arr[i].offline_price; - } - rq.put("/api/weshop/cart/update", { - data: data, - success: function (ee) { - console.log(ee); - } - }); - } + //-- 如果有线下取价的时候 -- + if (g_arr[i].is_offline) { + data.pricing_type = g_arr[i].pricing_type; + data.offline_price = g_arr[i].offline_price; } - - if(!isok) break; + //把更新数组存起来 + up_cart_data.push(data); } - // } catch (e) { - // err = e; - // } - if (isok == 0) { - t.confirmBox(gname + ":" + err); - wx.hideLoading(); - return false; } + if(!isok) break; - wx.hideLoading(); - wx.navigateTo({ - url: "/packageE/pages/cart/cart2/cart2" - }); } + // } catch (e) { + // err = e; + // } + if (isok == 0) { + t.confirmBox(gname + ":" + err); + th.clear_checkouting(); + return false; + } + + getApp().request.promisePost("/api/weshop/cart/updateCartPromInfo", { + is_json: 1, + data: up_cart_data, + }); + + wx.navigateTo({ + url: "/packageE/pages/cart/cart2/cart2" + }); + } }) }, + + //结算到最后一个商品 set_last: function (ab, isok, gname) { if (isok == 0) { @@ -4312,10 +4482,20 @@ Page({ //-- 所有的购物车的数据,要用拷贝的赖进行计算 -- var alllist = JSON.parse(JSON.stringify(this.data.requestData)); - var list2 = alllist[cindex]; + //var list2 = alllist[cindex]; var no_gift_arr = []; + //用来存销赠品的--2024-2-1 + let cart_zp=this.data.cart_zp; + //要清空一下门店下的赠品 + if(cart_zp[list.pid] && cart_zp[list.pid].goods && cart_zp[list.pid].goods.length){ + let ids = cart_zp[list.pid].goods.map(obj => obj.id); + //-- 批量把赠品删掉 -- + var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' +getApp().globalData.user_id + '/' + ids.join(','); + getApp().request.delete(url, {}); + cart_zp[list.pid]={}; + } //主要判断有没有促销活动 var is_sele_prom = 0; var is_gift_del = 0; @@ -4343,17 +4523,24 @@ Page({ map.set(item.prom_id + "", ob); } } - if (item.is_gift == 1) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - //getApp().request.delete(url, {}); - await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 - list2.goods.splice(i, 1); - list.goods.splice(i--, 1); - is_gift_del = 1; - } + //-- list中不再添加和删除赠品,优化list不再添加赠品,2024-02-01 -- + // if (item.is_gift == 1) { + // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + // //getApp().request.delete(url, {}); + // await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 + // list2.goods.splice(i, 1); + // list.goods.splice(i--, 1); + // is_gift_del = 1; + // } } //--如果没有选中的促销活动的,直接退出 -- if (!is_sele_prom) { + + //--- 设置单赠品的显示---2024-2-1 + this.setData({ + cart_zp + }) + //如果有赠品,要重新更新购物车的前台渲染-- if (is_gift_del) { var rq_text = "requestData[" + cindex + "]"; @@ -4374,6 +4561,10 @@ Page({ return false; } + + + //用来判断有没有list大小发生变化 + let is_change_list=0; //-- 循环判断活动 -- for (let p_item of map.entries()) { var prom = null; @@ -4398,12 +4589,15 @@ Page({ //如果活动已经结束 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { for (var ii in list.goods) { - var item = list.goods[ii]; - list.goods.splice(ii, 1); + if (item.prom_id == p_item[0] && item.prom_type == 3) { // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; // getApp().request.delete(url, {}); th.disInvalid(item); + + var item = list.goods[ii]; + list.goods.splice(ii, 1); + is_change_list=1; } } continue; @@ -4479,7 +4673,7 @@ Page({ if (discount) { if (!discount.zp_num || parseInt(discount.zp_num) == 0) discount.zp_num = 1; - //判断一下赠品的模式 + //判断一下赠品的模式,如果是多赠品的时候 if (parseInt(discount.zp_mode) == 1) { var can_zp_num = 0; @@ -4514,7 +4708,7 @@ Page({ } else { //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量--- if (discount && discount['goods_id'] && (!discount.limit_num || discount.limit_num >= discount.bs * discount.zp_num) && - discount.gift_storecount >= 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; @@ -4541,7 +4735,7 @@ Page({ original_img: th.data.imgUrl + o.original_img }; - list2.goods.push(newd); + //list2.goods.push(newd); var all_num = 0; var all_limit_num = 0; @@ -4568,7 +4762,7 @@ Page({ } 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 + 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; @@ -4581,18 +4775,30 @@ Page({ }) if (add_data) { newd.id = add_data.id; - list.goods.push(newd); + //list.goods.push(newd); + if(!cart_zp[list.pid]) cart_zp[list.pid]={}; + if(!cart_zp[list.pid].goods) cart_zp[list.pid].goods=[]; + cart_zp[list.pid].goods.push(newd); } } } } } - //--更新购物车的前台渲染-- - var rq_text = "requestData[" + cindex + "]"; + + //--- 设置单赠品的显示---2024-2-1 this.setData({ - [rq_text]: list - }); + cart_zp + }) + + //list大小有变换,才会渲染list + if(is_change_list) { + //--更新购物车的前台渲染-- + var rq_text = "requestData[" + cindex + "]"; + this.setData({ + [rq_text]: list + }); + } var diff_text = "requestData[" + cindex + "].make_up_arr"; //-- 如果有凑单的话 -- @@ -4620,6 +4826,8 @@ Page({ }, + + //优惠促销用户参与次数 async getUserBuyPromNum_pre(prom_id) { var userInfo = getApp().globalData.userInfo; @@ -4634,8 +4842,30 @@ Page({ return user_pre_buynum }, + async all_check_prom_activity() { this.data.duo_zp_num_arr = {}; + //用来存销赠品的--2024-2-1 + let cart_zp=this.data.cart_zp; + + if(cart_zp){ + let ids=[]; + for (const Ky in cart_zp) { + if(cart_zp[Ky].goods && cart_zp[Ky].goods.length) { + let ids0 = cart_zp[Ky].goods.map(obj => obj.id); + ids = [...ids, ...ids0]; + } + } + //调用接口把赠品删除 + if(ids.length>0){ + //-- 批量把赠品删掉 -- + var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + getApp().globalData.user_id + '/' + ids.join(','); + getApp().request.delete(url, {}); + } + } + //要清空一下赠品数组 + cart_zp={}; + for (var i in this.data.requestData) { var cindex = i; var make_up_arr = new Array(); @@ -4647,9 +4877,9 @@ Page({ //-- 所有的购物车的数据,要用拷贝的赖进行计算 -- var alllist = JSON.parse(JSON.stringify(this.data.requestData)); - var list2 = alllist[cindex]; - var no_gift_arr = []; + //var list2 = alllist[cindex]; + var no_gift_arr = []; //主要判断有没有促销活动 var is_sele_prom = 0; @@ -4677,25 +4907,30 @@ Page({ map.set(item.prom_id + "", ob); } } - if (item.is_gift == 1) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - //getApp().request.delete(url, {}); - await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 - list2.goods.splice(i, 1); - list.goods.splice(i--, 1); - is_gift_del = 1; - } + + //-- list中不再添加和删除赠品,优化list不再添加赠品,2024-02-01 -- + // if (item.is_gift == 1) { + // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + // //getApp().request.delete(url, {}); + // await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 + // list2.goods.splice(i, 1); + // list.goods.splice(i--, 1); + // is_gift_del = 1; + // } } //--如果没有选中的促销活动的,直接退出 -- if (!is_sele_prom) { - //如果有赠品,要重新更新购物车的前台渲染-- - if (is_gift_del) { - var rq_text = "requestData[" + cindex + "]"; - this.setData({ - [rq_text]: list - }); - } - + //如果有赠品,要重新更新购物车的前台渲,list中不再显示-- + // if (is_gift_del) { + // var rq_text = "requestData[" + cindex + "]"; + // this.setData({ + // [rq_text]: list + // }); + // } + //--- 设置单赠品的显示---2024-2-1 + this.setData({ + cart_zp + }) var rq_text2 = "requestData[" + cindex + "].make_up_arr"; this.setData({ [rq_text2]: null, @@ -4707,6 +4942,9 @@ Page({ }) continue; } + + //用来判断有没有list大小发生变化 + let is_change_list=0; //-- 循环判断活动 -- for (let p_item of map.entries()) { var prom = null; @@ -4714,11 +4952,20 @@ Page({ if (th.data.promgoods_map[p_item[0]]) { prom = th.data.promgoods_map[p_item[0]]; } else { - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) + + //使用缓存,不在调用接口 + if(!prom && th.data.yhcx_act_map && th.data.yhcx_act_map[p_item[0]] ){ + prom=th.data.yhcx_act_map[p_item[0]]; + } + if(!prom){ + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }) + } + + } let limit_num = 0 let user_pre_buynum = 0 @@ -4728,13 +4975,17 @@ Page({ } //如果活动已经结束 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { + for (var ii in list.goods) { - var item = list.goods[ii]; - list.goods.splice(ii, 1); + if (item.prom_id == p_item[0] && item.prom_type == 3) { // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; // getApp().request.delete(url, {}); th.disInvalid(item); + + var item = list.goods[ii]; + list.goods.splice(ii, 1); + is_change_list=1; } } continue; @@ -4763,6 +5014,7 @@ Page({ if (!promgoods_list) continue; th.data.promgoods_list[p_item[0]] = promgoods_list; } + if (!limit_num || user_pre_buynum < limit_num) { for (var i in promgoods_list) { var item = promgoods_list[i]; @@ -4792,8 +5044,6 @@ Page({ } } - - //-- 只有在单赠品的时候,才要进行计算 -- await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { @@ -4810,7 +5060,7 @@ Page({ if (discount) { if (!discount.zp_num || parseInt(discount.zp_num) == 0) discount.zp_num = 1; - //判断一下赠品的模式 + //-- 判断一下赠品的模式,如果是多赠品的模式 -- if (parseInt(discount.zp_mode) == 1) { var can_zp_num = 0; @@ -4843,7 +5093,7 @@ Page({ } else { //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量,因为增加了限购数量不限的情况--- if (discount && discount['goods_id'] && (!discount.limit_num || discount.limit_num >= discount.bs * discount.zp_num) && - discount.gift_storecount >= 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; @@ -4870,7 +5120,7 @@ Page({ original_img: th.data.imgUrl + o.original_img }; - list2.goods.push(newd); + //list2.goods.push(newd); var all_num = 0; var all_limit_num = 0; @@ -4888,7 +5138,6 @@ Page({ } } - //-- 赠品的数量超出库存数量和会员的限制,这里是保证所有的赠品部会超出 -- if (discount.gift_storecount < all_num + newd.goods_num || (discount.limit_num && discount.limit_num < all_limit_num + newd.goods_num)) { no_gift_arr.push(discount.gift_id); @@ -4898,7 +5147,7 @@ Page({ 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 + 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; @@ -4911,18 +5160,29 @@ Page({ }) if (add_data) { newd.id = add_data.id; - list.goods.push(newd); + //list.goods.push(newd); + if(!cart_zp[list.pid]) cart_zp[list.pid]={}; + if(!cart_zp[list.pid].goods) cart_zp[list.pid].goods=[]; + cart_zp[list.pid].goods.push(newd); } } } } - } - //--更新购物车的前台渲染-- - var rq_text = "requestData[" + cindex + "]"; + + //--- 设置单赠品的显示---2024-2-1 this.setData({ - [rq_text]: list - }); + cart_zp + }) + + //list大小有变换,才会渲染list + if(is_change_list) { + //--更新购物车的前台渲染-- + var rq_text = "requestData[" + cindex + "]"; + this.setData({ + [rq_text]: list + }); + } var diff_text = "requestData[" + cindex + "].make_up_arr"; //-- 如果有凑单的话 -- @@ -4952,6 +5212,8 @@ Page({ } }, + + //去凑单 go_cou_dang: function (e) { var prom_id = e.currentTarget.dataset.prom_id; diff --git a/pages/cart/cart/cart.wxml b/pages/cart/cart/cart.wxml index d043fd7..7161f9a 100644 --- a/pages/cart/cart/cart.wxml +++ b/pages/cart/cart/cart.wxml @@ -60,7 +60,7 @@ - + @@ -134,7 +134,7 @@ - + 可参促销 - + 优惠促销 搭配促销 组合购 @@ -159,11 +159,35 @@ + + + + + + + + 赠品 + + + + {{items.goods_name}} + + + + {{items.goods_color}}{{items.goods_color?"/":''}}{{items.goods_spec}} + 规格1 + + {{items.goods_num}}件 + + + + + - - + + 0) { @@ -300,17 +306,159 @@ Page({ }, + + //---------------自定义分类请求接口,数据进行拼装------------------ + requestFirstCategoris_diy: function () { + var t = this; + let that=this; + e.get("/api/weshop/customizeCategory/page", { + data: { store_id: oo.stoid, pageSize: 6600, is_show: 1 }, + success: function (e) { + + if (e.data.code !=0) { + that.requestFirstCategoris(); + return + } + var arr = new Array(); + var dda = e.data.data.pageData; + if (dda != null && dda != "" && dda != undefined) { + t.setData({ is_pl_time: 1 }); + } + + if (t.data.is_used_share == 0) {//is_used_share控制新旧版本 + for (var i = 0; i < dda.length; i++) { + if (parseInt(dda[i].level) == 1) { + var item = { items: dda[i], array: new Array(),diy_class:1 } //增加一个diy_class 标识表示为自定义分类 + arr.push(item); + } else if (parseInt(dda[i].level) == 2) { + for (var j = 0; j < arr.length; j++) { + if (parseInt(dda[i].parent_id) == parseInt(arr[j].items.id)) { + arr[j].array.push(dda[i]); break; + } + } + } else { + continue; + } + } + t.setData({ catelist: arr }); + } else if (t.data.is_used_share == 1 || t.data.is_used_share == 2) { + + //---------新的版本---------------- + for (var i = 0; i < dda.length; i++) { + //--要排队的元素--- + var need_to_insert = dda[i]; + if (parseInt(need_to_insert.level) == 1) { + //判断数组的长度看看有没有2级菜单 + var item = { items: need_to_insert, array: new Array(),diy_class:1 } //增加一个diy_class 标识表示为自定义分类 + arr.push(item); + } else if (parseInt(need_to_insert.level) == 2) { + + for (var j = 0; j < arr.length; j++) { + + + if (parseInt(need_to_insert.parent_id) == parseInt(arr[j].items.id)) { + + var ishaf_two = { items: need_to_insert, arrays: new Array(),diy_class:1 }; + arr[j].array.push(ishaf_two); arr.ishaf_two = 0; + } + } + } else if (parseInt(need_to_insert.level) == 3) {//判断有3级的时候在二级里添加一个数组 + + for (var dd = 0; dd < arr.length; dd++) { + for (var pp = 0; pp < arr[dd].array.length; pp++) { + //--判断二级-- + var two_item = arr[dd].array; + + if (two_item && two_item.length > 0) { + + if (parseInt(need_to_insert.parent_id) == parseInt(two_item[pp].items.id)) { + + arr[dd].array[pp].arrays.push(need_to_insert); arr.ishaf_three = 0; break; + } + } + } + } + } + } + for (var i = 0; i < arr.length; i++) { + arr[i]['items']['is_show_class'] = false; + var mobile_name = arr[i]['items']['name'] + //if(mobile_name.length > 4){ + //arr[i]['items']['name'] = mobile_name.substring(0, 4) + //} + } + if (t.data.is_show_pl == 1 && t.data.is_show_pp != 1 && t.data.is_show_gb != 1) { + arr[0]['items']['is_show_class'] = true; + } + //console.log(arr) + t.setData({ one_level_classify: arr }); + //---有勾品类--- + // if (that.data.is_show_pl) { + that.requestFirstCategoris(); + // } + if (t.data.select_classify_on == 0) { + var item = arr[0]; + + var name = item.items.name; + var cid = item.items.id; + var arr = item.array; + + console.log("11111", item); + console.log(arr.length); + + if (arr.length == 0) { + t.setData({ + select_classify_on: 0, index: 0, classify_name: name, cat_id: cid, + goodslist: null, is_level_three: 0 + }); + + if (t.data.is_used_share == 2) + t.style(t.data.stylePage, cid) + + return false; + } + if (arr.length != 0) { + var is_lev_thr = 0 + for (var i = 0; i < arr.length; i++) { + if (arr[i].arrays.length > 0) { is_lev_thr = 1; break; } + } + t.setData({ is_level_three: is_lev_thr ,cat_id:cid}); + + if (this.data.is_level_three != 1) { + t.setData({ index: 0, classify_name: name, goodslist: arr }); + // t.setData({ index: 0, classify_name: name }); + } else { + // t.setData({ index: 0}); + t.setData({ index: 0, goodslist: arr }); + } + } + + if (t.data.is_used_share == 2){ + t.style(t.data.stylePage, cid) + } + + } + + } + } + }); + }, + //---------------分类请求接口,数据进行拼装------------------ requestFirstCategoris: function () { + var t = this; e.get("/api/weshop/goodscategory/page", { data: { store_id: oo.stoid, pageSize: 6600, is_show: 1 }, success: function (e) { + if (e.data.code !=0) { + return + } var arr = new Array(); var dda = e.data.data.pageData; if (dda != null && dda != "" && dda != undefined) { t.setData({ is_pl_time: 1 }); - } + } if (t.data.is_used_share == 0) {//is_used_share控制新旧版本 for (var i = 0; i < dda.length; i++) { @@ -377,46 +525,53 @@ Page({ arr[0]['items']['is_show_class'] = true; } //console.log(arr) - t.setData({ one_level_classify: arr }); - if (t.data.select_classify_on == 0) { - var item = arr[0]; - - var name = item.items.name; - var cid = item.items.id; - var arr = item.array; - - console.log("11111", item); - console.log(arr.length); - - if (arr.length == 0) { - t.setData({ - select_classify_on: 0, index: 0, classify_name: name, cat_id: cid, - goodslist: null, is_level_three: 0 - }); - - if (t.data.is_used_share == 2) - t.style(t.data.stylePage, cid) - - return false; - } - if (arr.length != 0) { - var is_lev_thr = 0 - for (var i = 0; i < arr.length; i++) { - if (arr[i].arrays.length > 0) { is_lev_thr = 1; break; } + if (t.data.one_level_classify.length>0) { + let one_level_classify = t.data.one_level_classify; + one_level_classify.push(...arr) + t.setData({ one_level_classify: one_level_classify }); + }else{ + t.setData({ one_level_classify: arr }); + if (t.data.select_classify_on == 0) { + var item = arr[0]; + + var name = item.items.name; + var cid = item.items.id; + var arr = item.array; + + console.log("11111", item); + console.log(arr.length); + + if (arr.length == 0) { + t.setData({ + select_classify_on: 0, index: 0, classify_name: name, cat_id: cid, + goodslist: null, is_level_three: 0 + }); + + if (t.data.is_used_share == 2) + t.style(t.data.stylePage, cid) + + return false; + } + if (arr.length != 0) { + var is_lev_thr = 0 + for (var i = 0; i < arr.length; i++) { + if (arr[i].arrays.length > 0) { is_lev_thr = 1; break; } + } + t.setData({ is_level_three: is_lev_thr ,cat_id:cid}); + + if (this.data.is_level_three != 1) { + t.setData({ index: 0, classify_name: name, goodslist: arr }); + } else { + t.setData({ index: 0, goodslist: arr }); + } } - t.setData({ is_level_three: is_lev_thr ,cat_id:cid}); + if (t.data.is_used_share == 2){ - if (this.data.is_level_three != 1) { - t.setData({ index: 0, classify_name: name, goodslist: arr }); - } else { - t.setData({ index: 0, goodslist: arr }); + t.style(t.data.stylePage, cid) } + } - - t.style(t.data.stylePage, cid) - } - } } }); @@ -842,6 +997,14 @@ Page({ } this.setData({ select_classify_on: indexs, index: indexs, classify_name: name, cat_id: cid, stylePage: 1, lastMsg: false, }); } + //==1的时候,样式2的时候分类广告切换 + if (this.data.is_used_share==1) { + let banner=null; + + this.setData({ + banner + }) + } }, @@ -906,6 +1069,7 @@ Page({ requestGoodsList: function (t) { var that = this; that.data.requestUrl = t; + console.error(666666); e.get("/api/weshop/goods/page?1=1", { data: { page: that.data.stylePage, cat_id: that.data.cat_id, parent_id: 0, orderField: 'sort', orderType: 'asc', is_mainshow: 1, isonsale: 1, store_id: oo.stoid, is_recommend: 1 }, success: function (data) { @@ -1202,7 +1366,12 @@ Page({ resetData: function () { a.resetConfig(), this.data.requestData = null, this.data.currentPage = 1; }, - + go_ad: function (e) { + var url = e.currentTarget.dataset.url; + if (!url || url == '') return; + if (url[0] != '/') url = '/' + url; + getApp().goto(url); + }, //---回复最初的设置--- restoreData: function () { this.setData({ diff --git a/pages/goods/categoryList/categoryList.wxml b/pages/goods/categoryList/categoryList.wxml index 5c9ea8e..843abfc 100644 --- a/pages/goods/categoryList/categoryList.wxml +++ b/pages/goods/categoryList/categoryList.wxml @@ -296,11 +296,19 @@ - + + + + + + + + + - + {{classify_name}} - + 更多 @@ -332,10 +340,10 @@ - + {{goods.items.name}} - + 更多 @@ -343,7 +351,7 @@ - + {{item.name}} @@ -357,7 +365,7 @@ - + {{item.items.name}} diff --git a/pages/goods/categoryList/categoryList.wxss b/pages/goods/categoryList/categoryList.wxss index b18a19c..50f938d 100644 --- a/pages/goods/categoryList/categoryList.wxss +++ b/pages/goods/categoryList/categoryList.wxss @@ -194,7 +194,7 @@ line-height: 50rpx; z-index: 10; background: #fff; /* border-top: 4rpx solid #eee; */ - border-bottom: 1rpx solid #f4f4f4; + /* border-bottom: 1rpx solid #f4f4f4; */ padding: 20rpx; } diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 17ebafa..07fdcc1 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -2899,7 +2899,7 @@ Page({ duration: 2000 }) setTimeout(function () { - getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id, ) + getApp().goto("/packageG/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id, ) }, 1000) } //未找到相关记录 @@ -5575,7 +5575,7 @@ Page({ success: function (a) { if (a.confirm) { wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + url: "/packageG/pages/user/order_detail/order_detail?order_id=" + odr.order_id, }); } } @@ -6077,7 +6077,7 @@ Page({ success: function (a) { if (a.confirm) { wx.navigateTo({ - url: "/pages/user/order_detail/order_detail?order_id=" + odr.order_id, + url: "/packageG/pages/user/order_detail/order_detail?order_id=" + odr.order_id, }); } } diff --git a/pages/goods/goodsInfo/goodsInfo.wxss b/pages/goods/goodsInfo/goodsInfo.wxss index e9b9a8a..ace520e 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxss +++ b/pages/goods/goodsInfo/goodsInfo.wxss @@ -73,11 +73,8 @@ image { position: fixed; top: 0; z-index: 999; - /* height: 80rpx; */ - /* margin-bottom: 20rpx; */ background-color: #fff; border-top: 2rpx solid #ebedf0; - /* border-bottom: 1rpx #fafafa solid; */ } .type-box { @@ -92,7 +89,6 @@ image { } .type-navbar-item { - /* border-bottom: 4rpx solid #fff; */ display: flex; justify-content: center; width: 100%; @@ -102,7 +98,6 @@ image { .type-item-on { color: #F95D74; font-weight: bold; - /* border-bottom: 4rpx solid #F95D74; */ position: relative; font-size: 30rpx; } @@ -129,18 +124,12 @@ image { justify-content: space-between; align-items: center; vertical-align: middle; - /* overflow: hidden; */ - /* height: 108rpx; */ } .goods-name { - /* width: 560rpx; */ - /* line-height: 46rpx; */ font-size: 32rpx; font-weight: bold; color: #333; - /* margin-top: 30rpx; - margin-bottom:30rpx; */ flex: 1; text-align: justify; margin: 10rpx 0 20rpx; @@ -166,14 +155,8 @@ image { .goods-price { font-size: 60rpx; - /* padding: 20rpx 34rpx; */ - /* padding:0rpx 34rpx; */ - /* line-height: 60rpx; */ color: #999; padding: 20rpx; - /* margin-top: 46rpx; */ - /* margin-top:26rpx; - padding-bottom:20rpx; */ } .prom-info { @@ -190,12 +173,9 @@ image { } .market-price { - /* display: flex; - margin-left: -5rpx; */ } .market-price .yuan { - /* top:24rpx; */ font-size: 30rpx } @@ -206,7 +186,6 @@ image { .market-price>.yj { color: #999999; font-size: 24rpx; - /* margin-left: 16rpx;position: relative;top:30rpx; */ display: inline-block; } @@ -248,7 +227,6 @@ image { justify-content: space-between; align-items: center; height: 90rpx; - /*border-bottom: 1px solid #f5f5f5;*/ font-size: 32rpx; color: #666; } @@ -663,11 +641,9 @@ view.cart-btn-lg { z-index: 20; background: white; width: 100%; - /* padding: 0 30rpx; */ font-size: 32rpx; box-sizing: border-box; border-radius: 20rpx 20rpx 0 0; - /* height: 72%; */ } .spec-model .pding { @@ -676,9 +652,7 @@ view.cart-btn-lg { .spec-goods { padding: 30rpx 0 20rpx; - /* float: left; */ width: 100%; - /* border-bottom:2rpx solid #eee; */ } .spec-img { @@ -708,7 +682,6 @@ view.cart-btn-lg { color: #d60021; font-size: 33rpx; font-weight: bold; - /* display: flex; */ } .spec-goods-stock { @@ -785,13 +758,11 @@ view.cart-btn-lg { .sub, .add, .count>input { - /* border-right: 1px solid #000; */ background-color: #f8f8f8; border-radius: 8rpx; } .sub.active { - /* background-color: #ddd; */ color: #ccc; } @@ -800,8 +771,6 @@ view.cart-btn-lg { } .add { - /* background-color: #f8f8f8; */ - /* border-left: 1px solid #000; */ } .spec-btn { @@ -823,14 +792,7 @@ view.cart-btn-lg { } .spec-cart-btns { - /* width: 92%; */ line-height: 70rpx; - /* margin: 0rpx auto; - margin-top: 160rpx; */ - /* border-radius: 20rpx; */ - /* position: fixed; */ - /* bottom: 50rpx; */ - /* left: 4%; */ padding: 20rpx; } @@ -853,7 +815,6 @@ view.cart-btn-lg { .spec-buy { background-color: #f23030; - /* margin-left: 34rpx; */ } .spec-cart-disable { @@ -1031,9 +992,7 @@ view.cart-btn-lg { } .prom_show .timeac.right view .tui-conutdown-box { - /* background: #6b6b6b; */ width: auto; - /* min-width: 45rpx; */ height: 45rpx; color: #c4182e; font-size: 27rpx; @@ -1066,13 +1025,11 @@ view.cart-btn-lg { .pt_fir { background: #fff; - /* margin-bottom: 10rpx; */ } .pt_fir .pt_fir_title { display: flex; align-items: center; - /* margin-left: 10rpx; margin-top: 20rpx; */ font-size: 28rpx; position: relative; } @@ -1187,7 +1144,6 @@ view.cart-btn-lg { .pt_fir.se2 { height: auto; margin: 0; - /* border-top:6rpx solid #eeeeee;border-bottom:2rpx solid #eeeeee; */ } .pt_hb { @@ -1282,7 +1238,6 @@ view.cart-btn-lg { } .jie_price { - /* padding: 10rpx 30rpx; */ } .jie_price_title { @@ -1303,19 +1258,14 @@ view.cart-btn-lg { } .pt_fir.se2 .zzk-1 { - /* margin-top: 23rpx; */ font-size: 30rpx; position: relative; - /* margin-bottom: 30rpx; */ border-left: 4rpx solid red; - /* margin-left:14rpx; */ height: 30rpx; line-height: 30rpx; - /* padding-left:5rpx; */ } .ckgd { - /* position: absolute;top:0;right:57rpx; */ color: #d70025; font-size: 26rpx; } @@ -1324,7 +1274,6 @@ view.cart-btn-lg { width: 14rpx; height: 14rpx; border-color: #da0b31; - /* margin-top:5rpx; */ margin: auto; } @@ -1377,7 +1326,6 @@ view.cart-btn-lg { } .pt_qd { - /* margin-top: 40rpx; height: auto; */ padding: 20rpx; } @@ -1405,7 +1353,6 @@ view.cart-btn-lg { padding-top: 20rpx; padding-bottom: 20rpx; width: 100%; - /* min-height: 92rpx; */ border-bottom: 2rpx solid #ebedf0; } @@ -1414,20 +1361,11 @@ view.cart-btn-lg { display: flex; align-items: center; justify-content: space-around; - /* height: 90rpx; */ - /* padding: 0 130rpx 0 100rpx; */ - /* width: 470rpx; - - position: absolute; */ } .group .group-list .gtou { width: 70rpx; height: 70rpx; - /* float: left; - position: relative; - top: 6rpx; - left: -96rpx; */ } .group .group-list .gtou image { @@ -1441,32 +1379,18 @@ view.cart-btn-lg { .group .group-list .gdn { width: 140rpx; text-align: center; - /* float: left; */ font-size: 26rpx; - /* padding-left: 20rpx; */ - /* line-height: 48rpx; - height: 48rpx; - width: 168rpx; - position: relative; - left: -80rpx; - top:20rpx; */ font-weight: bold; } .group .group-list .ghaicha { - /* width:300rpx; */ font-size: 27rpx; - /* margin-left:180rpx; - top:13rpx; - left:-3rpx; */ font-weight: bold; } .group .group-list .ghaicha .gred { - /* height: 48rpx; - width: 300rpx; */ } .gsj { @@ -1477,9 +1401,6 @@ view.cart-btn-lg { .group .group-list .cjt { height: 42rpx; width: 137rpx; - /* position: absolute; - right: 4rpx; - top:25rpx; */ line-height: 42rpx; font-size: 24rpx; color: #fff; @@ -1494,11 +1415,8 @@ view.cart-btn-lg { } .t_show { - /* overflow: hidden; */ display: flex; - /* width: 300rpx; */ color: #292929; - /* line-height: 36rpx; */ font-size: 26rpx; } @@ -1531,9 +1449,7 @@ view.cart-btn-lg { } .tuwen_title { - /* height: 86rpx; */ background-color: #eeeeee; - /* margin-bottom: 32rpx; */ position: relative; display: flex; justify-content: center; @@ -1566,7 +1482,6 @@ view.cart-btn-lg { } .t_g_info { - /* margin: 0 34rpx;margin-bottom: 20rpx; */ display: flex; align-items: center; padding: 20rpx; @@ -1580,7 +1495,6 @@ view.cart-btn-lg { } .tb-l { - /* line-height: 96rpx; */ } .table_s { @@ -1591,7 +1505,6 @@ view.cart-btn-lg { .tb_item { display: flex; - /* height: 96rpx; */ border-bottom: 1rpx solid #e4e4e4 } @@ -1606,7 +1519,6 @@ view.cart-btn-lg { } .item_left text { - /* margin-left: 44rpx; */ } .item_right { @@ -1619,7 +1531,6 @@ view.cart-btn-lg { } .item_right text { - /* margin-left: 66rpx; */ } .table_s .tb-l:last-child { @@ -1629,23 +1540,17 @@ view.cart-btn-lg { .bzfu_img { width: 164rpx; height: 34rpx; - /* margin-right: 18rpx; margin-left: 12rpx */ } .bz_view { - /* height:100rpx; padding: 0 34rpx 0 13rpx; */ color: #333; font-size: 28rpx; padding: 20rpx 20rpx 20rpx 10rpx; - /* border-bottom: 3rpx solid #eee; */ - /* border-top: 3rpx solid #eee; */ } .bz_view view { width: 520rpx; word-break: break-all; - /* max-height: 70rpx; */ - /* overflow: hidden; */ } .bb_view { @@ -1654,13 +1559,11 @@ view.cart-btn-lg { justify-content: space-between; padding: 20rpx; color: #333; - font-size: 30rpx; - /* height: 104rpx; line-height: 104rpx; overflow: hidden; padding-right:26rpx */ + font-size: 30rpx; } .red_bb { color: #d70026; - /* min-width:158rpx;width: auto; */ } .bg_jj { diff --git a/pages/template/index.js b/pages/template/index.js index b59c8de..0e3929d 100644 --- a/pages/template/index.js +++ b/pages/template/index.js @@ -27,6 +27,7 @@ Page({ // nav_bg_color:'#e823e8', //导航按钮颜色 //---------------- is_show_top: 0, //是否置顶显示 + is_fixed_nav:0,//是否显示固定底部导航 }, onLoad: function (e) { @@ -192,7 +193,8 @@ Page({ share_title: temp_data.page_title, template_arr: t_arr, isTemplate: 1, - bgcolor_t: temp_data.bkcolor + bgcolor_t: temp_data.bkcolor, + is_fixed_nav:temp_data.is_fixed_nav }); setTimeout(() => { th.newGoodsGroup() diff --git a/pages/template/index.json b/pages/template/index.json index 1ff9072..531a4b1 100644 --- a/pages/template/index.json +++ b/pages/template/index.json @@ -26,6 +26,7 @@ "scan": "/components/diy_scan/diy_scan", "floatingWindow": "/components/diy_floatingWindow/diy_floatingWindow", "floatingBox": "/components/diy_floatingBox/diy_floatingBox", + "div_tab_bar": "/custom-tab-bar/index", "presell": "/components/diy_pregoods/diy_pregoods" }, "enablePullDownRefresh": false, diff --git a/pages/template/index.wxml b/pages/template/index.wxml index ae345ff..1dc39a4 100644 --- a/pages/template/index.wxml +++ b/pages/template/index.wxml @@ -1,4 +1,4 @@ - + @@ -178,8 +178,16 @@ + + + + + 提供技术支持 + + + diff --git a/pages/template/index.wxss b/pages/template/index.wxss index 9365ea8..830e6f9 100644 --- a/pages/template/index.wxss +++ b/pages/template/index.wxss @@ -916,4 +916,14 @@ height: 250rpx; padding-bottom:30rpx; } -.container{ overflow: hidden;} \ No newline at end of file +.container{ overflow: hidden;} +.logo-container { + -webkit-filter: brightness(80%); + filter: brightness(80%); +} + +.logo { + width: 132rpx; + height: 37rpx; + margin-right: 10rpx; +} diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js index cef6aa4..aa60118 100644 --- a/pages/user/order_detail/order_detail.js +++ b/pages/user/order_detail/order_detail.js @@ -1,2456 +1,10 @@ -var e = getApp(), r = e.request,rq=r,t = require("../../../utils/util.js"), o = require("../../../utils/common.js"),oo=e.globalData,os=oo.setting; -var regeneratorRuntime = require('../../../utils/runtime.js'); -var ut= require('../../../utils/util.js'); -var py = require("../../../utils/pay.js"); - - Page({ - data: { - url: os.url, - resourceUrl: os.imghost, - iurl: os.imghost, - order: null, - optionIsGoup: !1, - user_note: "", - conf:null, - }, - onLoad: function(e) { - - //定义第一次进入 - this.data.fir_in=1; - - var th=this; - var r = void 0 !== e.isGoup && e.isGoup; - - getApp().getConfig2(function (e) { - - th.setData({conf: e,sales_rules:e.sales_rules, userInfo: getApp().globalData.userInfo}); - //--- 看后台是不是有开通等级卡 --- - if(e.switch_list){ - var s_list=JSON.parse(e.switch_list); - th.setData({sys_switch: s_list,appoint_pick_keyid:s_list.appoint_pick_keyid}); - var is_open_offline=s_list.is_pricing_open; - var user=getApp().globalData.userInfo; - //如果后台有开启等级价的功能 - if(parseInt(s_list.rank_switch)==2 && 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{ - //未购买 - if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ - is_open_offline=0; - }else{ - //已经过期 - var item=res.data.data.pageData[0]; - if(item.end_time{ - if(ut.ajax_ok(res)){ - var item=res.data.data.pageData[0]; - if(item.pay_status==1){ - //支付支付,返回首页 - ut.m_toast('支付成功'); - setTimeout(()=>{ - wx.navigateBack(); - },1000) - - }else{ - //支付支付,返回首页 - ut.m_toast('支付失败'); - setTimeout(()=>{ - wx.navigateBack(); - },1000) - } - } - }) - }); - } - - wx.getStorageSync("order:order_detail:update") && (wx.removeStorageSync("order:order_detail:update"), - this.requestOrderDetail(this.data.order.order_id)); - }, - requestOrderDetail: function(e) { - var o = this,oid=e,th=this; - r.get(o.data.url + "/api/weshop/order/get/"+os.stoid+"/"+e, { - success: async function(e) { - var r = e.data.data; - r.addTimeFormat = t.format(r.add_time); - if (r.order_status == 0 && r.pay_status==0 ){ - r.order_status_detail="待支付"; r.pay_btn=1; - } - if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status== 0) - //自提的话 - if (r.exp_type==1) - { - r.order_status_detail = "待自提"; - } - else - { - r.order_status_detail = "待发货"; - } - - if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 1){ - r.order_status_detail = "待收货";r.receive_btn=1; - if (r.exp_type == 0) r.shipping_btn=1; - } - if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 2){ - r.order_status_detail = "待收货"; r.receive_btn = 1; - if (r.exp_type == 0) r.shipping_btn = 1; - } - if (r.order_status == 2){ - r.order_status_detail = "待评价"; if (r.exp_type == 0) r.shipping_btn = 1; - } - if (r.order_status == 3) - r.order_status_detail = "已取消"; - if (r.order_status == 4){ - r.order_status_detail = "已完成"; if (r.exp_type == 0) r.shipping_btn = 1; - } - if (r.order_status == 5) - r.order_status_detail = "已作废"; - if (r.order_status == 6) - r.order_status_detail = "退款完成"; - if (r.pt_status == 1 && r.pt_prom_id>0) - r.order_status_detail = "组团中"; - - - r['is_all_return'] = 0; - - var discount_price=r['discount_amount']; - var dis_json=r['prom_pt_json']; - - if(dis_json && discount_price){ - var prom_pt_json=JSON.parse(dis_json); - var ladder_amount=0; - for (var ll_item of prom_pt_json) { - if(ll_item['ladder_prom_id']){ - ladder_amount += ll_item['dis']; - } - } - r['ladder_amount']=ladder_amount; - r['discount_amount']=Math.floor((discount_price-ladder_amount)*100)/100; - } - - - r.use_commission=0; - //-- 如果有数据的话 -- - await getApp().request.promiseGet("/api/weshop/orderMore/get/"+os.stoid + "/"+r.order_sn, { - - }).then(res=>{ - if(res.data.code == 0 && res.data.data){ - r.use_commission=res.data.data.use_commission; - r.pre_cut=res.data.data.pre_cut; //预存款 - r.pre_json=res.data.data.pre_json; //预存款 - r.is_user_no_yhcx = res.data.data.is_user_no_yhcx; //判断订单是不是优惠促销不参与 - } - }) - - - //------获取订单商品------- - rq.get("/api/weshop/ordergoods/list",{ - data: { store_id: os.stoid, order_id: oid,pageSize:600}, - success:async function (eb) { - r.order_goods=eb.data.data.pageData; - var glist = r.order_goods; - for(var i in glist){ - if(glist[i].is_gift){ - r.is_prom=1; - } - } - - //------------对比一下有没有退款记录------------ - await getApp().request.promiseGet("/api/weshop/order/returngoods/page",{ - data: { order_id: r.order_id, store_id: os.stoid, - user_id:oo.user_id, pageSize: 20 } - }).then(rs=>{ - var ttd=rs; - //--看一下订单的总数量-- - var gtype_num = r.order_goods.length; - if(ttd.data.data.pageData == undefined) return false; - var goodslist = r.order_goods; - - //----没有相关的退款记录---- - if (ttd.data.data.total==0){ - r['is_all_return'] = 0; - - goodslist.forEach(function (ee, ii) { - if (r['order_status'] == 1 && r['pay_status'] == 1 && gtype_num>1){ - //是不是可以单个商品退款 - if(th.check_for_return_btn(r) ) { - goodslist[ii]['return_btn']=1; - } - } - }); - }else{ - //--------整单退-------- - if (ttd.data.data.pageData[0]['goods_id_list'] != null - && ttd.data.data.pageData[0]['goods_id_list'] != ''){ - - - var eea = ttd.data.data.pageData[0]; - //1.退款正在进行中, - //2.退款被拒绝就要显示可以退款 - //3.退款已经完成 - r['is_all_return']=1; - r['is_all_return_status'] = ttd.data.data.pageData[0].status; - - if (r['order_status'] == 1 && r['pay_status'] == 1) { - switch (eea.status) { - case 0: - case 1: - r.order_status_detail="退款中"; - r['return_btn'] = 2; break; - case 2: - r.order_status_detail="退款完成"; - r['return_btn'] = 4; break; - case 3: - r['return_btn'] = 3; break; - default: - r['return_btn'] = 0; - } - } - }else{ - //1.退款正在进行中, - //2.退款被拒绝就要显示可以退款 - //3.退款已经完成 - r['is_all_return'] = 0; - var rt_ok_num=0; - - //if(r['order_status'] == 1 && r['pay_status'] == 1) { - goodslist.forEach(function (eeb, iii) { - if(r['order_status'] == 1 && r['pay_status'] == 1) - goodslist[iii]['return_btn'] = 1; //申请退款 - ttd.data.data.pageData.forEach(function (eea, ii) { - var st = eea.status; - if (eea.goods_id == eeb.goods_id){ - - switch (eea.status){ - case 0: - case 1://退款处理中 - r['has_rt'] = 1; //有部分退 - goodslist[iii]['return_btn'] = 2; break; - case 2://退款完成 - r['has_rt'] = 1; //有部分退 - goodslist[iii]['return_btn'] = 4;rt_ok_num++; break; - case 3://已拒绝,重新退款 - goodslist[iii]['return_btn'] = 3; break; - default: - if(r['order_status'] == 1 && r['pay_status'] == 1) - goodslist[iii]['return_btn'] = 1; //申请退款 - } - return; - } - }); - }); - //} - } - } - - //--如果是全部退款,也就可以删除-- - if(rt_ok_num==goodslist.length){ - r['is_all_return_status']=2; - } - r['order_goods'] = goodslist; - var g_num = 0; - goodslist.forEach(function (ee, ii) { - if(ee.return_btn!=4) - g_num += ee.goods_num; - }); - r['g_num'] = g_num; - }) - - - //--------获取门店----------- - rq.get("/api/weshop/pickup/get/" + os.stoid + "/" + r.pickup_id, { - success: function (ebb) { - r.pickname = ebb.data.data.pickup_name; - o.setData({ - order: r, - }); - } - }) - - - } - }) - } - }); - }, - /*-----联系客户------*/ - contactService: function() { - getApp().con_Service(); - }, - - //--------取消订单--------- - cancelOrder: function(e) { - var t = this,th=t, o = e.currentTarget.dataset.id,order=this.data.order; - var is_skill=0; - var order_goods=order.order_goods; - var is_zsorder=order.is_zsorder; - - //--判断是不是秒杀-- - order_goods.forEach(function (val,ind) { - if(val.prom_type==1){ - is_skill=1; return false; - } - }) - - wx.showModal({ - title: "是否取消订单?", - success: function(e) { - if(!e.confirm) return false; - //如果是秒杀和拼单的商品,取消订单要返回redis,并取消订单 - //if(is_skill==1 || is_zsorder>=2){ - getApp().request.post("/api/weshop/order/cancelOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{ - data:{}, - success: function(t) { - if(t.data.code==0) - th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0); - }, - }) - /*---- - }else{ - getApp().request.put("/api/weshop/order/updatebyId", { - data: {order_id: o, order_status: 3}, - success: function(e) { - th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0); - } - }); - }--*/ - } - }); - }, - - //--------确认收货--------- - confirmOrder: function(e) { - var th=this; - var t = this, o = this.data.order.order_id,order=this.data.order; - var is_zsorder=order.is_zsorder; - wx.showModal({ - title: "是否确认收货?", - success: function(t) { - t.confirm && rq.post("/api/weshop/order/confirmOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{ - success:function (e) { - if(e.data.code==0){ - th.requestOrderDetail(o) - } - } - }) - } - }); - }, - - //-- 预存款判断 -- - async vipadvancesum(keyid,pre_cut,pre_json){ - let pre=JSON.parse(pre_json) - let listform=[] - pre.map(item=>{ - let obj={ - advancesum: item.advancesum, - advanceitemid: item.advanceitemid - } - listform.push(obj) - }) - let res = await getApp().request.promisePost(`/api/weshop/delphiapi/saveErpApi`, { - data: { - accdb: getApp().globalData.config.erpid, - ApiName: 'api.pos.shop.vipadvancesum.list', - // usercode: "admin", - vipid: getApp().globalData.userInfo.erpvipid, - // oddsum: "0", - // advancesum: cartList.order_amount, - storageid: keyid, - listform - }, - is_json: 1 - }) - return res.data - }, - - //--------立即支付---------- - async jumpToCart4(e) { - - if(this.data.paying) return false; - this.setData({paying:1}); - - var th=this; - if(this.data.optionIsGoup) - wx.navigateTo({ - url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" - }) - var order=this.data.order; - - var order_goods=order.order_goods; - var user_id=order.user_id; - - - //如果使用预存的话,要重新效验下预存金额是否足够 - if(order.pre_cut && order.pre_json){ - let pickup_id=order.pickup_id - let res = await r.promiseGet('/api/weshop/pickup/get/' + os.stoid + '/' + pickup_id, {}) - let keyid = res.data.data.keyid - let resdata = await th.vipadvancesum(keyid,order.pre_cut,order.pre_json) - if(resdata.code !=0){ - let msg=resdata.msg || "预存金额不足" - getApp().confirmBox(msg); - th.setData({ paying: 0 }); - return false; - } - - var listform=[]; - var adv_num=0; - order_goods.map(ite => { - //-- 不是赠品的时候 -- - if(!ite.is_gift) { - let obj = { - wareno: ite.goods_sn, - price: ite.first_account, //account是平摊后的实收价格 - qty: ite.goods_num, - sumprice: parseFloat(ite.account * ite.goods_num - ite.account_yu-(ite.quan_num?ite.quan_num:0)).toFixed(2) - } - - adv_num+=ite.account * ite.goods_num - ite.account_yu-(ite.quan_num?ite.quan_num:0); - listform.push(obj) - } - }) - - adv_num=parseFloat(adv_num).toFixed(2); - let res1 = await getApp().request.promisePost(`/api/weshop/delphiapi/saveErpApi`, { - data: { - accdb: getApp().globalData.config.erpid, - ApiName: 'api.pos.shop.advancesum.seek', - usercode: "admin", - vipid: getApp().globalData.userInfo.erpvipid, - oddsum: "0", - advancesum: adv_num, - storageid: keyid, - listform - }, - is_json: 1 - }) - if(!res1 && res1.data.code!=0 ){ - getApp().confirmBox("获取预存的金额失败"); - th.setData({ paying: 0 }); - return false; - } - - if(res1.data.data.length<=0){ - getApp().confirmBox("每天每人仅能使用1次预存抵扣"); - th.setData({ paying: 0 }); - return false; - } - - var yck=0 - let resData = res1.data.data - resData.map(ite => { - yck += ite.advancesum*1 - }) - if(yck<=0){ - getApp().confirmBox("每天每人仅能使用1次预存抵扣"); - th.setData({ paying: 0 }); - return false; - } - - if(order.pre_cut && yck!=order.pre_cut){ - getApp().confirmBox("获取预存的金额不对"); - th.setData({ paying: 0 }); - return false; - } - - - } - // 幸运购检查库存量 api/weshop/activitylist/getActLen/{store_id}/{prom_type}/{prom_id} - if (parseInt(order_goods['0']['prom_type']) == 9) { - var aid = order_goods['0']['prom_id']; - var knum = 0; - await r.promiseGet('/api/weshop/activitylist/getActLen/' + os.stoid + '/9/' + aid, { - }).then(res => { - if (res.data.code == 0) { - knum = res.data.data; - } - }); - - if (knum <= 0) { - getApp().confirmBox("库存为0,支付失败"); - th.setData({ paying: 0 }); - return false; - } - - - } - - var wlist = ""; - var the_yh_map={}; //判断那种商品的prom_type为0,正在做的活动是优惠促销 - - - var _pick=null; - //获取商品信息,包含线下商品ID,指定门店销售的信息 - var rh=await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+order.pickup_id, {}); - if(rh && rh.data.code==0){ - _pick=rh.data.data; - } - - for (var i in order_goods) { - var good = order_goods[i]; - - - //线下取价功能已经关闭或者过期 - if (!th.data.is_open_offline && good.offline_cut > 0) { - wx.showModal({ - title: '提示', - content: '线下取价功能已经关闭或者过期!' - }); - th.setData({ paying: 0 }); - return false; - } - - //要每件每件的商品进行检查,看有么有超出库存,超出限购 - var good = order_goods[i], goodsbuynum = 0, promgoodsbuynum = 0, gg = null, presellList = null; - - //获取单品的现在的活动状态 - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, {}).then(res => { - gg = res.data.data; - }) - - //-- 判断门店配送是不是匹配 -- - if(_pick && _pick.distr_type!=0 && gg.distr_type!=0 && _pick.distr_type!= gg.distr_type){ - getApp().confirmBox(gg.goods_name + "配送方式和门店不一致"); - th.setData({ paying: 0 }); - return false; - } - - //-- 要进行判断指定门店的判断优化,先做普通商品 -- - if([0,3,5,7,10].indexOf(parseInt(good.prom_type))>-1 && gg.pick_group_ids && !good.is_gift){ - var idx0=gg.pick_up_lists.findIndex(function (e){ - return e.pickup_id==order.pickup_id; - }) - if(idx0<0){ - getApp().confirmBox(gg.goods_name + "的门店不可售"); - th.setData({ paying: 0 }); - return false; - } - } - - var limit = gg.viplimited; - var store_count = gg.store_count; - good.erpwareid = gg.erpwareid; - - //---要获得商品,该用户买了多少件,同步应用--- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: user_id, - goods_id: good.goods_id, - prom_type: good.prom_type, - prom_id: good.prom_id - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - goodsbuynum = buy_num_data.goodsbuynum; - }) - - var buyed_mum2 = goodsbuynum + good.goods_num; - if (buyed_mum2 > limit && limit > 0) { - var content = gg.goods_name + '购买数量超出商品限购,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - //当是组合优惠的时候 - if (good.prom_type == 7) { - //如果有组合购 - var isok = 1; - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; - let zh_buy_info=null - await getApp().request.promiseGet(url, {}).then(res => { - if (res.data.code == 0 && res.data.data) { - zh_buy_info = res.data.data - if (res.data.data.is_show != 1) { - isok = 0; - } - //如果活动已经结束 - if (res.data.data.is_end == 1) { - isok = 0; - } - //已经结束 - if (ut.gettimestamp() > res.data.data.end_time) { - isok = 0; - } - //还未开始 - if (ut.gettimestamp() < res.data.data.start_time) { - isok = 0; - } - - - } else { - //未找到商品的活动 - isok = 0; - } - - }) - if (!isok) { - var content = gg.goods_name + '活动已经结束,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - //增加组合购次数判断 - let userbuynum = await th.getUserBuyPromNum(good.prom_id,1) - - if (zh_buy_info.buy_limit !=0 && zh_buy_info && userbuynum >= zh_buy_info.buy_limit) { - var content = gg.goods_name + '超出组合购限购次数,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - var url1 = "/api/weshop/prom/zhbuyGoods/page"; - var req_data = { - page: 1, - pageSize: 1, - store_id: os.stoid, - zh_id: good.prom_id, - goods_id: good.goods_id - } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(res => { - if (ut.ajax_ok(res)) { - var gdlist = res.data.data.pageData[0]; - good.buyqty = gdlist.buyqty; - } - }) - - var num = good['buyqty']; - //---- 要计算商品的限购 ----- - if (good['buyqty'] > 0) { - if (good.goods_num + promgoodsbuynum > good['buyqty']) { - var content = good['goods_name'] + "超出活动限购\n"; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - } - } - //如果是预售的时候, - if (good.prom_type == 8) { - await getApp().request.promiseGet("/api/weshop/order/orderPresell/countBuyGoodsSum", { - data: { store_id: os.stoid, user_id: user_id, goods_id: good.goods_id, prom_id: good.prom_id }, - }).then(e => { - if (e.data.code == 0) { - promgoodsbuynum = e.data.data.sumgoodsnum; - } - }) - - var presell_id = good.prom_id; - var url = "/api/weshop/marketing/marketingPresellList/list" - var rd = { - store_id: os.stoid, - presell_id: presell_id, - goods_id: good.goods_id - } - //------获取预售从表---------- - await getApp().request.promiseGet(url, { - data: rd - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { - var arr = res.data.data[0]; - presellList = arr - } - }) - - if(!presellList){ - var content = good.goods_name + '未找到预售活动,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - if (presellList) { - if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { - var content = good.goods_name + '购买数量超出商品库存,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - var buyed_mum3 = promgoodsbuynum + good.goods_num; - if (buyed_mum3 > presellList.vip_butyqty && presellList.vip_butyqty > 0) { - var content = good.goods_name + '购买数量超出商品限购,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); - //接口调用成功的时候 - if(fres && fres.data.code==0 && fres.data.data){ - //如果有指定门店的时候 - if(fres.data.data.pick_up_lists){ - var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ - return e.pickup_id==order.pickup_id; - }) - if(idx0<0){ - getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); - th.setData({ paying: 0 }); - return false; - } - } - - }else{ - var content = good.goods_name + '未找到预售活动,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - } - } - - //如果优惠促销和搭配购的时候 - if ((good.prom_type == 3 || good.prom_type == 5 || good.prom_type == 10) && good.is_gift != 1 && good.is_collocation != 1) { - var p_ok = 1, is_g_prom = 0; - //只读优化促销和阶梯促销 - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + good.goods_id+"/0/"+user_id, {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - if (!r_data.collocationPromList && good.prom_type == 5) { - var content = good.goods_name + '未找到活动,请取消订单重新购买'; - th.toast(content) - p_ok = 0; - } - if (!r_data.promGoodsLists && good.prom_type == 3) { - var content = good.goods_name + '未找到活动,请取消订单重新购买'; - th.toast(content); - p_ok = 0; - }else if(r_data.promGoodsLists && good.prom_type == 3){ - var fir_act = r_data.promGoodsLists[0]; - //如果是有限购的时候 - if (fir_act.gd_limit_num>0){ - if(promgoodsbuynum+good.goods_num > fir_act.gd_limit_num){ - var content = good.goods_name + '超出优惠促销活动商品限购,请取消订单重新购买'; - th.toast(content) - p_ok = 0; - } - } - - } - - if (!r_data.ladderLists && good.prom_type == 10) { - var content = good.goods_name + '未找到活动,请取消订单重新购买'; - th.toast(content); - p_ok = 0; - } - } else { - - var content = good.goods_name + '未找到活动,请取消订单重新购买' - th.toast(content); - p_ok = 0; - } - }) - if (!p_ok) { - th.setData({ paying: 0 }); - return false; - } - } - - //-- 商品的普通购买 ,不要进行判断 -- - if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8 || good.prom_type == 9) - && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) { - - } else { - - - if(good.is_pd_normal || good.is_integral_normal){ - gg.prom_type=good.prom_type; - gg.prom_id=good.prom_id; - }else { - - //因为商品的prom_type=0,所以商品的实际活动要重新获取 - var url = '/api/weshop/activitylist/listGoodActInfo2New'; - var req_d = { - "store_id": os.stoid, - "goods_id": good.goods_id, - "user_id": user_id, - } - await getApp().request.promiseGet(url, { - data: req_d - }).then(res => { - if (res.data.code == 0 && res.data.data) { - var arr = res.data.data; - //-- 预热也要计算 -- - var arr2 = arr.filter(function (e) { - return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) - }) - if (arr2.length == 1) { - gg.prom_type = arr2[0].prom_type; - gg.prom_id = arr2[0].act_id; - } else if (arr2.length > 1) { - //如果是多活动的时候,要看good参与的活动有没有结束,是不是有效 - var fd = arr2.find(function (e) { - return e.prom_type == good.prom_type && e.act_id == good.prom_id - }) - if (fd) { - gg.prom_type = good.prom_type; - gg.prom_id = good.prom_id; - } - } - } - }) - } - - if(gg.prom_type==3){ - var prom_pc=null; - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { prom_pc = res.data.data; } - }) - - if(prom_pc){ - gg.discount_field=prom_pc.discount_field; - } - } - - //阶梯促销获取取价规则 - if(gg.prom_type==10){ - var prom_ld=null; - //-- 获取阶梯规则 -- - var url1 = "/api/weshop/prom/ladderList/list"; - var req_data = { - store_id: os.stoid, - form_id: gg.prom_id, - } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(rs1 => { - if (rs1.data.code == 0 && rs1.data.data && rs1.data.data.length ) { - prom_ld = rs1.data.data[0]; - } - }) - - if(prom_ld){ - gg.discount_field=prom_ld.discount_field; - } - } - - if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) - && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { - var prom = null; - //---如果是活动的时候--- - var prom = null, th = this; - if (gg.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.user_price; - } - }) - } - if (gg.prom_type == 2) { - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gg.goods_id + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.price; - } - }) - } - if (gg.prom_type == 6) { - await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) - } - if (gg.prom_type == 4) { - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1&timetype=2", { - data: { store_id: os.stoid, goods_id: gg.goods_id,user_id: getApp().globalData.user_id, } - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.pageData) { - prom = res.data.data.pageData[0]; - } - }) - } - if (prom) { - var t_now = ut.gettimestamp(); - if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now) { - - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - } - - //-- 幸运购的时候 -- - if(gg.prom_type==8 || gg.prom_type==9){ - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - } - else { - var t_ok = 1; - //-- 如果是普通购买的时候,此时计算的一定是商品的prom_type==0了, (组合购在普通购买的时候,就不判断了,因为组合购本身就可以普通购买)--- - if(!good.is_collocation && !good.is_gift && good.is_pd_normal!=2 && gg.prom_type!=7 ){ - - var promgoodsbuynum0=0; - //---要获得商品,该用户买了多少件,同步应用--- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: os.stoid, - user_id: user_id, - goods_id: good.goods_id, - prom_type: gg.prom_type, - prom_id: gg.prom_id - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - }) - - - //商品的订单列表的活动类型,和gg参与的类型不一致 - if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){ - //如果商品有单独的活动的是偶 - switch (gg.prom_type){ - case 10: - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; - th.toast(content); - t_ok = 0; - break; - //-- 优惠促销是有限购的 -- - case 3: - var prom=null; - var yh_check=1; - - - //如果有优惠促销的普通购买的时候 - if(order.is_user_no_yhcx && good.prom_type==0 && order.is_user_no_yhcx!='0' && order.is_user_no_yhcx!='null' ){ - let obj=JSON.parse(order.is_user_no_yhcx); - //obj数组使用find函数快速查找 - if(obj.find((item)=>{return item.prom_id==gg.prom_id && item.prom_type==3})){ - yh_check=0; - } - } - - //判断优惠促销活动的限购 - if(yh_check){ - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { prom = res.data.data; } - }) - if (prom && prom.limit_num) { - var limit_num = prom.limit_num; - var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id) - if (limit_num>0 && user_pre_buynum >= limit_num) { - yh_check=0; - } - } - } - - //--- 要判断一下优惠促销的商品的限购 --- - if(yh_check){ - var pro_gd_limit_num=0; - var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ - data:{ - store_id:os.stoid,goods_id:gg.goods_id,prom_id:gg.prom_id,prom_type:3 - } - }) - if(p_limit_rs && p_limit_rs.data.code==0){ - pro_gd_limit_num=p_limit_rs.data.data - } - //-- 如果有商品限购的时候 -- - if(pro_gd_limit_num>0){ - var pro_by_num=0; - var lrs= { - store_id: os.stoid,user_id: getApp().globalData.user_id, - goods_id: gg.goods_id, prom_type: 3, - prom_id: gg.prom_id, isnew:1 - }; - var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); - if(gd_limit_rs && gd_limit_rs.data.code==0){ - pro_by_num=gd_limit_rs.data.data.promgoodsbuynum - } - if(pro_gd_limit_num { - if (res.data.code == 0 && res.data.data) { - zh_buy_info = res.data.data - } - }) - //判断活动超出限购 - var is_act_ok=1; - let userbuynum = await th.getUserBuyPromNum(gg.prom_id) - if (zh_buy_info.buy_limit !=0 && zh_buy_info && userbuynum >= zh_buy_info.buy_limit) { - is_act_ok=0; - } - - //判断活动商品超出限购,在从表 - var url1 = "/api/weshop/prom/zhbuyGoods/page"; - var req_data = { - page: 1, - pageSize: 1, - store_id: os.stoid, - zh_id: gg.prom_id, - goods_id: gg.goods_id - } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(res => { - if (ut.ajax_ok(res)) { - var gdlist = res.data.data.pageData[0]; - gg.buyqty = gdlist.buyqty; - } - }) - var num = gg['buyqty']; - //---- 要计算商品的限购 ----- - if (gg['buyqty'] > 0) { - if (gg.goods_num + promgoodsbuynum0 > gg['buyqty']) { - is_act_ok=0; - } - } - if(is_act_ok){ - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; - th.toast(content); - t_ok = 0; - break; - } - } - } - } - - //如果有普通商品要判断能不到达到优惠促销的条件 - if(Object.keys(the_yh_map).length){ - for (let rkey in the_yh_map) { - var all_price=0; - var all_num=0; - - for(var ij=0;ij { - // if (res.data.code == 0) { - // var r_data = res.data.data; - // //-- 参加了全局的优惠活动 -- - // if (r_data.promGoodsLists) { - // var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; - // th.toast(content); - // t_ok = 0; - // } - // } - // }) - // if (!t_ok) { - // th.setData({ paying: 0 }); return false; - // } - // } - //-- 如果有参加线下取价 -- - if (good.offline_cut > 0) wlist += encodeURIComponent(gg.erpwareid) + ","; - } - //赠品和搭配购不判断商品金额 - var isok = 1; - var card_field = th.data.card_field; - - //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- - if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { - - //-- 优惠促销的时候控制取价规则 -- - // gg.prom_type!=3 && gg.prom_type!=10 同时商品不是普通购买的时候,又参与优惠促销,阶梯促销 - if((gg.prom_type!=3 && gg.prom_type!=10) || gg.discount_field==undefined || gg.discount_field==0 ) { - if (card_field && gg[card_field] > 0) { - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 - - } else { - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 - } - }else{ - if(good.prom_type==3 && good.prom_type==10){ - switch (gg.discount_field){ - case 1: - if (good.goods_price != gg.shop_price) isok = 0; - break; - case 2: - if (good.goods_price != gg.market_price) isok = 0; - break; - } - } - } - - var is_h = 0; - if (!isok) { - var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - } - - //--如果是线下库存的时候-- - if (th.data.conf.sales_rules >= 2 && !gg.whsle_id && !good.is_gift) { - var ob = {}; - await th.check_down_line_next(gg, good.goods_num, order.pickup_id, function (obj) { - ob = obj; - }) - if (ob.code == -1) { - var content = gg.goods_name + '门店库存不足,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - } else { - if (!good.is_gift && good.goods_num > store_count) { - - var content = gg.goods_name + '商品的库存不足,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - } - } - - //---如果是活动的时候--- - var prom = null, goodsinfo = good, th = this; - if (goodsinfo.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + goodsinfo.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.user_price; - } - }) - } - if (goodsinfo.prom_type == 2) { - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + goodsinfo.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.price; - } - }) - } - - if (goodsinfo.prom_type == 6 && !good.is_pd_normal) { - await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) - } - - if (goodsinfo.prom_type == 4 && !good.is_integral_normal) { - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1&timetype=2", { - data: { store_id: os.stoid, goods_id: goodsinfo.goods_id,user_id: getApp().globalData.user_id, } - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.pageData) { - prom = res.data.data.pageData[0]; - } - }) - } - //----------如果有活动,并且在进行中,就不计算线下库存--------------- - if (prom) { - let c_type=parseInt(goodsinfo.prom_type+''); - var act_type=''; - switch (c_type){ - case 1:act_type='秒杀';break; - case 2:act_type='团购';break; - case 6:act_type='拼团';break; - } - //指定门店的控制 - if ([1,2,6].indexOf(c_type)>-1 && prom.pick_up_lists) { - var idx0=prom.pick_up_lists.findIndex(function (e){ - return e.pickup_id==order.pickup_id; - }) - if(idx0<0){ - getApp().confirmBox(goodsinfo.goods_name +act_type+"活动的门店不可售"); - th.setData({ paying: 0 }); - return false; - } - } - - var now = ut.gettimestamp(); - if (prom.is_end == 1 && prom.end_time < now) { - var content = goodsinfo.goods_name + '商品的活动已经结束,请取消订单' - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - buyed_mum2 = promgoodsbuynum + good.goods_num; - if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { - - var content = goodsinfo.goods_name + '购买数量超出商品活动限购,请取消订单' - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - // --看一下会员的秒杀价格是不是发生了变化,因为会员的身份发生了变化 - if (goodsinfo.prom_type == 1 && goodsinfo.goods_price != prom.price) { - var content = goodsinfo.goods_name + '秒杀活动的价格发生了变化'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - // --看一下会员的团购价格是不是发生了变化 - if (goodsinfo.prom_type == 2 && goodsinfo.goods_price != prom.price) { - var content = goodsinfo.goods_name + '秒杀活动的价格发生了变化'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - - if (goodsinfo.prom_type == 4) { - if (good.goods_num > prom.limitqty - prom.buy_num) { - - var content = goodsinfo.goods_name + '购买数量超出商品活动库存,请取消订单' - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - } else if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 2 || goodsinfo.prom_type == 6) { - if (order.add_time + 5 * 60 < ut.gettimestamp()) { - var content = gg.goods_name + '该订单已经超时无法支付,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - } - - } - - //-- 预售和幸运购要单独计算 -- - if (goodsinfo.prom_type == 8) { - var presell_id= goodsinfo.prom_id; - //------获取预售主表,判断预售活动是不是到期不可以使用了---------- - var res= await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}) - if (res.data.code == 0 && res.data.data) { - var act_data = res.data.data; - if (act_data.is_end) { - wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 }); - return false; - } - if (act_data.isuse == 0) { - wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 }); - return false; - } - - var err_txt = "活动定金时间已经结束"; - var end_time = act_data.end_time; - if (act_data.presell_type == 1) { - err_txt = "活动时间已经结束"; - } - if (end_time < ut.gettimestamp()) { - wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); - return false; - } - - if (act_data.presell_type == 0) { - end_time = act_data.pay_enddate; - err_txt = "活动尾款时间已经结束"; - } - if (end_time < ut.gettimestamp()) { - wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); - return false; - } - } - - var all_pre_goods=null; - var userInfo = getApp().globalData.userInfo; - var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: goodsinfo.goods_id }; - if (userInfo) { - pre_data.user_id = userInfo.user_id; - } - var rs_pre= await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", { - data: pre_data, - }) - if (rs_pre.data.code == 0 && rs_pre.data.data.pageData && rs_pre.data.data.pageData.length > 0) { - all_pre_goods = rs_pre.data.data.pageData; - } - - if(!all_pre_goods){ - wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); - return false; - } - var idx = all_pre_goods.findIndex(function (ele) { - return ele.goods_id == goodsinfo.goods_id; - }) - - if(idx==-1){ - wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); - return false; - } - var pre_arr = all_pre_goods[idx]; - var prom_buy_limit = pre_arr.vip_butyqty; - - if (goodsinfo.goods_num > pre_arr.presell_sumqty - pre_arr.buy_goodnum) { - wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 }); - return false; - } - //--判断商品是否超出活动限购-- - if (promgoodsbuynum0 && prom_buy_limit > 0) { - wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 }); - return false; - } - - } - //幸运购的时候 - if (goodsinfo.prom_type == 9 && !good.is_pt_normal) { - - var lk_act=null; - //获取单个活动成团信息 - var lk_rs= await getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', { - data: { - store_id: os.stoid, - is_end: 0, - timetype: 1, - id: goodsinfo.prom_id, - } - }); - - if(lk_rs && ut.ajax_ok(lk_rs)){ - lk_act= lk_rs.data.data.pageData[0]; - } - if(!lk_act){ - wx.showToast({ title: "未找到活动,或者活动已结束", icon: 'none', duration: 3000 }); - th.setData({ paying: 0 }); - return false; - } - // 检查幸运购活动商品库存 - var lk_redis=await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/9/" + goodsinfo.prom_id,{}); - if(!lk_redis || lk_redis 0) { - wlist = ut.sub_last(wlist); - var keyid = order.pickup_id; - var user_info = getApp().globalData.userInfo; - if (!keyid) { - th.setData({ paying: 0 }); return false; - } - var offarr = null; - await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", { - data: { - VIPId: encodeURIComponent(user_info.erpvipid), - store_id: os.stoid, - PickupId: keyid, - WareIds: wlist - }, - }, - ).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { - offarr = res.data.data; - } - }) - if (!offarr && offarr.length <= 0) { - th.toast('获取线下取价失败'); - } - var newarr = ut.convert_arr_key(offarr, 'WareId'); - //-- 循环判断线下的价格 -- - for (var k in order_goods) { - var good = order_goods[k]; - //判断线下取价是不是一样 - if (newarr[good.erpwareid] && - parseFloat(newarr[good.erpwareid].WarePrice) != parseFloat(good.goods_price)) { - - var content = good.goods_name + '商品的价格发生了变化,请取消订单重新购买'; - th.toast(content); - th.setData({ paying: 0 }); - return false; - } - } - } - - - th.data.ok_order_sn=this.data.order.order_sn; - py.pay(this.data.order.order_sn, function() { - th.setData({paying:0}); - wx.showToast({title: '支付成功'}) - wx.navigateBack(); - },function () { - th.setData({paying:0}); - },os.stoid,1); - - }, - - - - checkTeam: function() { - wx.navigateTo({ - url: "/pages/team/team_detail/team_detail?foundId=" + this.data.order.orderTeamFound.found_id - }); - }, - - //------图片失败,默认图片--------- - bind_bnerr: function (e) { - var _errImg = e.target.dataset.errorimg; - var _errObj = {}; - _errObj[_errImg] = "public/images/default_goods_image_240.gif"; - this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; - }, - - zfwk:function(){ - var url = "/packageE/pages/cart/cart_wk/cart_wk?order_id=" + this.data.order.order_id; - wx.redirectTo({ - url:url, - }) - }, - - //--------跳转到退款详情----------- - gotoreturn: function (t) { - var e = t.currentTarget.dataset.recid; - var oid = t.currentTarget.dataset.oid; - var wh = ""; - if (e != undefined && e != null && e != "") { - wh = "&goods_id=" + e; - } - wx.navigateTo({ - url: "/packageF/pages/user/return_goods_info/return_goods_info?order_id=" + oid + wh, - }); - }, - - //---判断是不是有退款----- - checkReturnGoodsStatus: function (t) { - var e = t.currentTarget.dataset.recid; - var oid = t.currentTarget.dataset.oid; - r.get("/api/weshop/order/returngoods/page", { - data: { - goods_id: e, - order_id: oid, - store_id: os.stoid - }, - success: function (t) { - if (t.data.code == 0) { - var r = t.data.data.total; - if (0 == r) return wx.navigateTo({ - url: "/packageF/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid, - }); - //--如果拒绝,就重新申请退款-- - if (t.data.data.pageData[0].status == 3) { - return wx.navigateTo({ - url: "/packageF/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid, - }); - } - - wx.navigateTo({ - url: "/packageF/pages/user/return_goods_info/return_goods_info?id=" + r - }); - } - } - }); - }, - - //-----删除订单----- - deleteOrderData: function(t) { - var th=this; - var order_id=t.currentTarget.dataset.order_id; - var up_data={ - order_id: order_id,isdel:1 - }; - if(th.data.order.order_status!=6){ - up_data.order_status=5; - } - wx.showModal({ - title: "是否删除订单?", - success: function(tt) { - tt.confirm && rq.put("/api/weshop/order/updatebyId", { - data: up_data, - success: function (t) { - getApp().my_warnning("删除成功",1,th); - setTimeout(function () { - getApp().goto("/pages/user/order_list/order_list"); - },1000); - } - }) - } - }); - }, - - //--判断是不是可以单个商品退-- - check_for_return_btn:function (item) { - if(item.coupon_no) return false; //有用优惠券 - if(item.order_prom_id) return false; //有订单优惠 - if(item.order_status>=2) return false; //订单状态>2 - var istrue=true; - //----判断是不是有优惠活动和赠送商品---- - for (var g in item.order_goods) { - var g_item=item.order_goods[g]; - if ((g_item.prom_type == 3 && g_item.discount_amount> 0) - || (g_item.prom_type== 3 && g_item.goods_price <= 0) - ) { - istrue=false; break - } - if (g_item.prom_type== 5) { - istrue=false; break - } - } - if(!istrue) return false; - var conf=this.data.conf; - //判断是不是原路退回 - if(conf.refund_type==1) return true; - else{ - if(item.order_amount==0 || item.user_money==0) return true; - } - return false; - }, - - - - //---检验线下库存的数量的子函数--- - async check_down_line_next(gg,num,pick_id,func){ - //如果默认是商品 - if(getApp().is_virtual(gg)){ - return func(100000); - } - - - var lock=0,pick_no,plist; - var lock_rq={store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id}; - if(this.data.sales_rules==3){ - log_rq.appoint_pick_keyid=this.data.appoint_pick_keyid; - delete log_rq.storageId - } - - //先读取门店的lock - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:lock_rq - }).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; - } - }) - - if(this.data.sales_rules==2) { - //先获取门店的编号 - await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick_id, { - data: {storeId: os.stoid, goodsId: gg.goods_id, pickupId: pick_id} - }).then(res => { - if (res.data.code == 0) { - pick_no = res.data.data.pickup_no; - } - }) - } - - var sto_rq={storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid}; - if(this.data.sales_rules==3){ - sto_rq.storageIds=this.data.appoint_pick_keyid; - delete sto_rq.storageNos - } - - - //读取线下的门店库存 - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:sto_rq - }).then(res=>{ - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ - plist=res.data.data.pageData[0]; - } - }) - var ob={}; ob.code=1; - if(!plist){ - ob.code=-1; ob.CanOutQty=0; - func(ob);return false; - } - - if(num>plist.CanOutQty-lock){ - ob.code=-1; - ob.CanOutQty=plist.CanOutQty-lock - if(ob.CanOutQty<0) ob.CanOutQty=0; - } - func(ob) - }, - //获取用户参与组合购的次数 - async getUserBuyPromNum(prom_id){ - var userInfo = getApp().globalData.userInfo; - var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`; - let res = await getApp().request.promiseGet(url, { - data:{} - }); - let userbuynum=0 - if(res.data.code==0 && res.data.data){ - userbuynum=res.data.data.userbuynum - } - return userbuynum + data: {}, + onLoad: async function(options) { + getApp().globalData.ts_trans_data=options; + getApp().goto('/packageG/pages/user/order_detail/order_detail?transfer=1'); }, - - //再来一单的功能的实现 - moreOrder:function(e){ - var th=this; - var item=th.data.order; - - if(this.data.moring) return false; - this.data.moring=1; - - th.check_more_order(item); - }, - - check_more_order:async function(item){ - var pickup=null,th=this; - var user_id=getApp().globalData.userInfo.user_id; - wx.showLoading(); - //--------获取门店----------- - await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, { - - }).then(res=>{ - pickup = res.data.data; - }) - if(!pickup){ - wx.hideLoading(); - getApp().confirmBox("找不到门店"); - this.data.moring=0; - return false; - } - - if(pickup.isstop){ - wx.hideLoading(); - getApp().confirmBox("门店已停用"); - this.data.moring=0; - return false; - } - - if(!pickup.is_pos){ - wx.hideLoading(); - getApp().confirmBox("门店不允许销售"); - this.data.moring=0; - return false; - } - - //--------获取商品---------- - var goods_list=item.order_goods; - //--- 返回的内容 --- - var back_goods_arr=[]; - var err_text=""; - for(var i in goods_list){ - var g_item=goods_list[i]; - var b_item={}; - //--如果是赠品,不加入购物车-- - if(g_item['is_gift']) continue; - if(g_item['prom_type']==4 ){ - err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; - continue; - } - if(g_item['prom_type']==5){ - err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; - continue; - } - if(g_item['prom_type']==6 ){ - err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; - continue; - } - - //--获取商品-- - var good=null; - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + g_item.goods_id, { - - }).then(res=>{ - good=res.data.data; - }) - - //调用接口判断订单优惠, - const res = await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + g_item.goods_id + "/0"+"/"+getApp().globalData.user_id, {}) - if (res.data.code == 0 && res.data.data) { - var r_data = res.data.data; - if (r_data.ladderLists) { - var act_id = r_data.ladderLists[0].form_id; - //-- 判断会员能不能参与阶梯促销 -- - const data = await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}) - if (data.data.code == 0 && data.data.data && data.data.data.isuse && data.data.data.is_end == 0) { - b_item.prom_type = 10; - b_item.prom_id = data.data.data.id; - } - } - } - - if(!good){ - err_text+= g_item['goods_name']+"未找到商品\n"; - continue; - } - if (good.is_on_sale != 1) { - err_text+= g_item['goods_name']+"已经下架\n"; - continue; - } - - var timestamp = ut.gettimestamp(); - if (good.on_time > timestamp) { - err_text+= g_item['goods_name']+"还未上架\n"; - continue; - } - if (good.down_time > 0) { - if (good.down_time < timestamp) { - err_text+=g_item['goods_name']+"已经下架\n"; - continue; - } - } - - //如果商品的配送方式和门店不匹配 - if(good['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){ - err_text+= good['goods_name']+"配送方式不一致\n"; - continue; - } - - var prom=null; - let user_id = getApp().globalData.userInfo.user_id; - - b_item.goods_id=g_item.goods_id; - b_item.goods_name=g_item.goods_name; - b_item.goods_num=g_item.goods_num; - b_item.guide_id=g_item.guide_id; - b_item.guide_type=g_item.guide_type; - b_item.pickup_id=item.pickup_id; - b_item.price=good.shop_price; - b_item.goods_sn=good.goods_sn; - b_item.sku=good.sku; - b_item.is_integral_normal=g_item.is_integral_normal; - - //-- 如果会员是等级卡的时候,同时商品也有设置相应的卡价格 -- - var card_field=th.data.card_field; - if(card_field && good[card_field]>0){ - b_item.price=good[card_field]; - } - - var url = "/api/weshop/activitylist/listGoodActInfo2New"; - var req_data = { - store_id: g_item.store_id, goods_id: g_item.goods_id, user_id: user_id - }; - await getApp().request.promiseGet(url, { data: req_data }).then(res => { - if (res.data.code == 0) { - - var arr = res.data.data; - //-- 预热也要计算 -- - var arr2 = arr.filter(function (e) { - return e.s_time < ut.gettimestamp(); - }) - - if (arr2.length == 1) { - good.prom_type = 1; - good.prom_id = item.act_id; - - - - } - else if (arr2.length > 1) { - good.prom_type = g_item.prom_type; good.prom_id = g_item.prom_id; - } - } - }) - - //--判断商品当前的活动情况-- - switch (good.prom_type) { - case 1: - var flash = null; - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { - if (res.data.code == 0) { - flash = res.data.data; - } - }) - //----已经结束----- - if (flash && flash.is_end == 0) { - - if( flash.end_time > timestamp && flash.start_time < timestamp){ - prom = flash; - prom.price = prom.user_price; - b_item.price = prom.price; - good.prom_type = 1; - good.prom_id = prom.id; - }else{ - if(g_item.prom_type==0 && !flash.is_shop_buy ){ - err_text+=g_item['goods_name']+"秒杀活动不允许普通价\n"; - continue; - } - } - - } - break; - case 2: - var group = null; - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + good.prom_id, {}).then(res => { - if (res.data.code == 0) { - group = res.data.data; - } - }) - //----已经结束----- - if (group && group.is_end == 0 && group.end_time > timestamp && group.start_time < timestamp) { - prom = group; - prom.price = prom.price; - b_item.price = prom.price; - } - break; - case 6: - b_item.is_pd_normal = 1; - break; - case 7: - //如果有组合购 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; - await getApp().request.promiseGet(url, {}).then(res => { - if (res.data.code == 0 && res.data.data) { - - var t_act=res.data.data; - if(!t_act.zh_num || t_act.zh_num>t_act.zh_buy_num) { - - if (res.data.data.is_show == 1 && res.data.data.is_end == 0 - && ut.gettimestamp() < res.data.data.end_time - && ut.gettimestamp() > res.data.data.start_time - ) { - b_item.prom_type = 7; - b_item.prom_id = res.data.data.id; - good.prom_type = 7; - good.prom_id = res.data.data.id; - } - } - } - }) - break; - case 10: - - var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; - await getApp().request.promiseGet(url, {}).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.isuse && res.data.data.is_end == 0) { - b_item.prom_type = 10; - b_item.prom_id = res.data.data.id; - } - }) - break; - } - - - //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 - if((g_item.prom_type==3 || good.prom_type==3) && good.whsle_id<=0){ - var is_g_prom=0; - //因为有全场优惠活动,商品参加的活动还未开始 - var url="/api/weshop/activitylist/getGoodActInfo"; - var req_data={ - store_id:os.stoid,goodsidlist:good.goods_id,is_detail:1,user_id:user_id - }; - await getApp().request.promiseGet(url, {data:req_data}).then(async function (res) { - if(res.data.code==0 && res.data.data && res.data.data.length){ - for(let i in res.data.data){ - let item=res.data.data[i]; - if(item.prom_type==3) { - is_g_prom=1; break; - } - } - } - }) - if(is_g_prom) { - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/1"+"/"+getApp().globalData.user_id, {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - if (r_data.promGoodsLists) { - b_item.prom_type = 3; - b_item.prom_id = r_data.promGoodsLists[0].prom_id; - } - } - }) - }else{ - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + good.goods_id, {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - if (r_data.promGoodsLists) { - b_item.prom_type = 3; - b_item.prom_id = r_data.promGoodsLists[0].prom_id; - } - } - }) - } - } - - - //判断是不是线下库存的购买, 是不是秒杀活动 - if(th.data.sales_rules>=2 && !prom && !good.whsle_id){ - - //-- 看一下购物车上有多少商品 -- - var cart_num=0; - await getApp().request.promiseGet("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - state:0, is_gift:0, - goods_id:good.goods_id, - pick_id: b_item.pickup_id - } - }).then(res=>{ - var num = 0; - if(res.data.code==0 && res.data.data && res.data.data.pageData) { - for (var i = 0; i < res.data.data.pageData.length; i++) { - num += res.data.data.pageData[i].goods_num; - } - } - cart_num=num; - }) - - var lock=0,plist=null; - - if(b_item.prom_type!=7) { - - - var lock_rq={store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000}; - if(th.data.sales_rules==3){ - lock_rq.appoint_pick_keyid=th.data.appoint_pick_keyid; - delete lock_rq.storageId; - } - - //先读取门店的lock, - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { - data:lock_rq - }).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 - } - }) - - var sto_rq={storageNos: pickup.pickup_no,wareIds: encodeURIComponent(good.erpwareid),storeId: os.stoid }; - if(th.data.sales_rules==3){ - sto_rq.storageIds=th.data.appoint_pick_keyid; - delete sto_rq.storageNos; - } - - - - //---通过接口获取门店的线下库存信息-- - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { - data: sto_rq - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - plist = res.data.data.pageData[0]; - } - }) - - if (!plist) { - err_text += good['goods_name'] + "库存不足\n"; - continue; - } - if (plist.CanOutQty - lock <= 0) { - err_text += good['goods_name'] + "库存不足\n"; - continue; - } - if (b_item.goods_num > (plist.CanOutQty - lock)) { - b_item.goods_num = plist.CanOutQty - lock; - } - } - var req_data={ - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: good.goods_id, - }; - if(b_item.prom_type==7){ - req_data.prom_type=7; - req_data.prom_id=b_item.prom_id; - } - - var buynum=0; - var promnum=0; - //---要获得商品,该用户买了多少件,同步应用--- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: req_data, - }).then(res => { - if(res.data.code==0){ - var buy_num_data = res.data.data; - buynum = buy_num_data.goodsbuynum; - if(buy_num_data.promgoodsbuynum){ - promnum=buy_num_data.promgoodsbuynum; - } - } - }) - - //---- 要计算商品的限购 ----- - if(good['viplimited']>0){ - if(cart_num+buynum>good['viplimited']){ - err_text+= good['goods_name']+"超出限购\n"; - continue; - } - good['viplimited']-=(cart_num+buynum); - if(b_item.goods_num>good['viplimited']){ - b_item.goods_num=good['viplimited']; - } - } - //不需要计算组合购的限购 - - back_goods_arr.push(b_item); //返回商品元素 - - }else{ - //-- 看一下购物车上有多少商品 -- - var cart_num=0; - await getApp().request.promiseGet("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - state:0, is_gift:0, - goods_id:good.goods_id - } - }).then(res=>{ - var num = 0; - if(res.data.code==0 && res.data.data && res.data.data.pageData) { - for (var i = 0; i < res.data.data.pageData.length; i++) { - num += res.data.data.pageData[i].goods_num; - } - } - cart_num=num; - }) - - if(good.store_count<=0){ - err_text+= good['goods_name']+"库存不足\n"; - continue; - } - if(b_item.goods_num>good.store_count) - b_item.goods_num=good.store_count; - - var buynum=0; //商品已经购买多少件 - var promgoodsbuynum=0; //活动已经购买多少件 - var redis_num = 0; //redis库存 - - var req_data={ - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: good.goods_id, - }; - - if(prom){ - req_data.prom_type= good.prom_type; - req_data.prom_id= good.prom_id; - b_item.prom_type=good.prom_type; - b_item.prom_id=good.prom_id; - - //------判断活动是否抢光----- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + good.prom_type + "/" + good.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }); - if(redis_num<=0){ - //不允许商品普通价格修改 - if(!prom.is_shop_buy && prom.is_shop_buy!=undefined) { - err_text += good['goods_name'] + "活动不足\n"; - continue; - } - } - - } - - //---要获得商品,该用户买了多少件,同步应用--- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: req_data, - }).then(res => { - if(res.data.code==0){ - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - buynum = buy_num_data.goodsbuynum; - } - }) - - //---- 要计算商品的限购 ----- - if(good['viplimited']>0){ - if(cart_num+buynum>good['viplimited']){ - err_text+= good['goods_name']+"超出限购\n"; - continue; - } - good['viplimited']-=(cart_num+buynum); - if(b_item.goods_num>good['viplimited']){ - b_item.goods_num=good['viplimited']; - } - - } - - //-- 判断活动的库存 -- - if(prom){ - if(prom['goods_num']<=prom['buy_num']){ - err_text+= good['goods_name']+"超出活动库存\n";continue; - } - - if(b_item.goods_num>prom['goods_num']-prom['buy_num']){ - b_item['goods_num']= b_item['goods_num']-b_item['buy_num']; - } - - if(b_item.goods_num>redis_num){ - b_item.goods_num=redis_num; - } - - if(prom['buy_limit']>0){ - if(cart_num+promgoodsbuynum>=prom['buy_limit'] ){ - err_text+= good['goods_name']+"超出活动限购\n";continue; - } - prom['buy_limit'] -= (cart_num+buynum); - if(b_item.goods_num>prom['buy_limit']){ - b_item.goods_num=prom['buy_limit']; - } - } - - - } - back_goods_arr.push(b_item); //返回商品元素 - } - } - - //有重新购买的数据是时候,就要重新生成订单 - if(back_goods_arr.length>0){ - th.setData({back_goods_arr:back_goods_arr}); - if(!err_text){ - th.more_add_cart(); - }else{ - wx.hideLoading(); - // 如果没有获取用户信息 - wx.showModal({ - title:'确定', - content: err_text+',确定要买其他商品码?', - success(res) { - if (res.confirm) { - //跳转到登录页 - th.more_add_cart(); - }else{ - th.data.moring=0; - wx.hideLoading(); - } - },fail(){ - th.data.moring=0; - wx.hideLoading(); - } - }); - - } - }else{ - th.data.moring=0; - wx.hideLoading(); - getApp().confirmBox(err_text); - } - }, - - more_add_cart:async function(){ - var back_goods_arr=this.data.back_goods_arr; - var err_text=""; - var ok_num=0; - - for(var i in back_goods_arr){ - //商品ID - var g_item=back_goods_arr[i]; - var newd = { - goods_id: g_item.goods_id, - goods_num: g_item.goods_num, - pick_id: g_item.pickup_id, - user_id: oo.user_id, - store_id: os.stoid, - goods_price: g_item.price, - member_goods_price: g_item.price, - goods_name: g_item.goods_name, - goods_sn: g_item.goods_sn, - sku: g_item.sku, - }; - - if(g_item.guide_id){ - newd['guide_id']=g_item.guide_id; - newd['guide_type']=g_item.guide_type; - } - - if(g_item.is_integral_normal){ - newd['is_integral_normal']=g_item.is_integral_normal; - } - if(g_item.is_pd_normal){ - newd['is_pd_normal']=g_item.is_pd_normal; - } - if(g_item.prom_type){ - //3,5,7,10加入购物车,统一prom_type为0 - if([3,5,7,10].indexOf(g_item.prom_type)>-1){ - g_item.prom_type=0; - g_item.prom_id=0; - } - newd['prom_type']=g_item.prom_type; - newd['prom_id']=g_item.prom_id; - } - - - var b_cart_goods=null; - await getApp().request.promiseGet("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: oo.user_id, - goods_id: g_item.goods_id, - pick_id: g_item.pickup_id, - }, - }).then(res=>{ - //-------如果购物车中有相关的数据------- - if (res.data.data.total > 0) { - b_cart_goods= res.data.data.pageData; - } - }) - - - //-- 判断购物车是不是有重复 -- - var is_has=0; - if(b_cart_goods) { - for (let jr = 0; jr < b_cart_goods.length; jr++) { - var b_cart_item = b_cart_goods[jr]; - if (!g_item.prom_type || g_item.prom_type == 0) { - if ([0, 3, 5, 7, 10].indexOf(b_cart_item.prom_type) > -1) { - is_has = b_cart_item; - break - } - } else { - if (b_cart_goods.prom_type == g_item.prom_type && b_cart_goods.prom_id == g_item.prom_id) { - is_has = b_cart_item; - break - } - } - } - } - - - //-- 如果就加入过购物车 -- - if(is_has){ - var updata = { - id: is_has.id, - goods_num: newd.goods_num + is_has.goods_num, - goods_price: newd.goods_price, - member_goods_price:newd.goods_price, - store_id: os.stoid, - }; - if(newd.guide_id){ - updata.guide_id=newd.guide_id; - updata.guide_type=newd.guide_type; - } - await getApp().request.promisePut("/api/weshop/cart/update", { - data: updata - }).then(res=>{ - if(res.data.code==0) { - ok_num++; - }else{ - err_text+=newd.goods_name+"加入购物车失败\n"; - } - }) - - }else{ - await getApp().request.promisePost("/api/weshop/cart/save", { - data: newd - }).then(res=>{ - if(res.data.code==0) { - ok_num++; - }else{ - err_text+=newd.goods_name+"加入购物车失败\n"; - } - }) - } - } - - wx.hideLoading(); - this.data.moring=0; - if(ok_num==0){ - //-- 如果没有获取用户信息 -- - wx.showModal({ - title:'提示', - content: err_text, - success(res) {} - }); - }else{ - if(err_text==""){ - getApp().goto("/pages/cart/cart/cart"); - }else{ - // 如果没有获取用户信息 - wx.showModal({ - title:'提示', - content: err_text, - success(res) { - if (res.confirm) { - //跳转到登录页 - getApp().goto("/pages/cart/cart/cart"); - } - } - }); - - } - - } - }, - - toast(msg){ - wx.showToast({ - title: msg, - icon: 'none', - duration: 3000 - }) - }, - - con_weixin:function () { - getApp().con_wx(this); - }, - - //跳转到商品 - go_gd:function (e) { - var user_id=getApp().globalData.user_id; - if(!user_id) user_id=0; - - var gd_item= e.currentTarget.dataset.gd; - var gd=gd_item.goods_id; - - if(gd_item.prom_type>0){ - good_url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd + "&prom_id=" + gd_item.prom_id + "&prom_type="+gd_item.prom_type; - getApp().goto(good_url); - return false; - } - - var good_url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd; - var url="/api/weshop/activitylist/getGoodActInfo"; - var req_data={ - store_id:os.stoid,goodsidlist:gd,is_detail:1,user_id:user_id - }; - //获取秒杀的多规格 - getApp().request.promiseGet(url, {data:req_data}).then(res=>{ - if(res.data.code==0 && res.data.data){ - if(res.data.data.length==1){ - var item=res.data.data[0]; - switch (item.prom_type){ - case 9: - good_url= '/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=' + gd + '&group_id=' + item.act_id; - break; - case 8: - good_url="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+gd+"&prom_id="+item.act_id - break; - default: - good_url="/pages/goods/goodsInfo/goodsInfo?goods_id="+gd+"&prom_id="+item.act_id+"&prom_type="+item.prom_type; - break - } - } - getApp().goto(good_url); - - }else{ - getApp().goto(good_url); - } - }) - }, - - - - click_contact:function () { - getApp().globalData.no_clear=1; - }, - - - //-- 查看物流 -- - go_wuliu:function (e) { - getApp().go_wuliu(e); - }, - - //优惠促销用户参与次数,is_buy=1,表示只获取支付了的 - async getUserBuyPromNum_pre(prom_id,is_buy) { - var userInfo = getApp().globalData.userInfo; - var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; - if(is_buy){ - url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; - } - let res = await getApp().request.promiseGet(url, { - data: {} - }); - let user_pre_buynum = 0 - if (res.data.code == 0 && res.data.data) { - user_pre_buynum = res.data.data.userbuynum - } - return user_pre_buynum - } - - - - + //显示加载 + onShow:function(){ }, -}); \ No newline at end of file +}) \ No newline at end of file diff --git a/pages/user/order_detail/order_detail.json b/pages/user/order_detail/order_detail.json index c9e22db..0b59e95 100644 --- a/pages/user/order_detail/order_detail.json +++ b/pages/user/order_detail/order_detail.json @@ -1,7 +1,10 @@ { - "navigationBarTitleText": "订单详情", - "enablePullDownRefresh": false, - "usingComponents": { - "warn": "/components/long_warn/long_warn" - } + "windom": { + "navigationBarTitleText": "加载中.", + "backgroundTextStyle": "light", + "navigationBarTextStyle": "white", + "navigationBarBackgroundColor": "#ffffff", + "backgroundColor": "#eeeeee" + } + } \ No newline at end of file diff --git a/pages/user/order_detail/order_detail.wxml b/pages/user/order_detail/order_detail.wxml index f741cbc..7ce57f8 100644 --- a/pages/user/order_detail/order_detail.wxml +++ b/pages/user/order_detail/order_detail.wxml @@ -1,210 +1,4 @@ - - - - - {{order.consignee}}{{'  '}}{{order.mobile}} - - - {{order.more_address}} {{order.address}} - - - - - - - - - - 门店:{{order.pickname}} - {{order.order_status_detail}} - - - - - - - - - {{item.goods_name}} - - {{filters.show_gui_ge(item.goods_spec,item.goods_color)}} - - - - ¥{{item.member_goods_price}}({{item.ladder_discount}}折) - ×{{item.goods_num}} - - - - 申请退款 - 退款中 - 重新退款 - 退款完成 - - - - - - - 查看拼团详情 - - - - - 联系客服 - 联系客服 - - - - - - - 基本信息 - - 订单编号 - {{order.order_sn}} - - - 下单时间 - {{order.addTimeFormat}} - - - - 配送方式 - - -- - - - 同城配送 - 自提 - 物流({{order.shipping_name}}) - - - 买家留言 - {{order.user_note!=''?order.user_note:'无'}} - - - - 价格信息 - - 商品总价 - ¥ {{filters.toFix(order.order_goods[0].member_goods_price*order.order_goods[0].goods_num,2)}}元 - - - 商品总价 - ¥ {{order.goods_price}}元 - - - - 定金金额 - ¥ {{filters.toFix(order.order_amount+order.user_money,2)}}元 - - - 尾款金额 - ¥ {{filters.toFix(order.pt_tail_money-order.shipping_price,2)}}元 - - - - 配送费用 - ¥ {{order.shipping_price}}元 - - - 优惠券 - ¥ {{order.coupon_price}}元 - - - 使用预存 - ¥ {{order.pre_cut}}元 - - - 积分 - {{order.integral}}积分 - - - - 优惠活动 - ¥ {{filters.toFix(order.discount_amount,2)}}元 - - - - 阶梯优惠活动 - ¥ {{filters.toFix(order.ladder_amount,2)}}元 - - - - 订单优惠 - ¥ {{order.order_prom_amount}}元 - - - - 订单总价 - ¥ {{filters.toFix(order.order_amount+order.user_money+order.pt_tail_money+order.use_commission+order.pre_cut,2)}}元 - - - - - - 使用佣金 - ¥ {{filters.toFix(order.use_commission,2)}}元 - - - - 使用余额 - ¥ {{filters.toFix(order.user_money+order.pt_tail_money,2)}}元 - ¥ {{filters.toFix(order.user_money,2)}}元 - - - - - - - 支付尾款 - - - - - - - 删除订单 - - - - - - - 申请退款 - 申请退款 - - - 删除订单 - 重新退款 - 退款详情 - - - - - 评价 - 去评价 - - - - 再来一单 - - + + + 加载中。。 - - diff --git a/pages/user/order_detail/order_detail.wxss b/pages/user/order_detail/order_detail.wxss index 9dbaf3a..cc6cc05 100644 --- a/pages/user/order_detail/order_detail.wxss +++ b/pages/user/order_detail/order_detail.wxss @@ -1,179 +1,5 @@ -.user-mes { - background-color: #fff; - font-size: 32rpx; - color: #333; -} - -.user-contact { - padding: 24rpx 80rpx; -} - -.location { - position: relative; - padding: 0 80rpx 24rpx; -} - -.pos-icon { - position: absolute; - left: 30rpx; - top: 0; - width: 32rpx; - height: 32.5rpx; -} - -.border-img { - width: 100%; - height: 16rpx; -} - -.order-meg { - margin-bottom: 20rpx; - font-size: 30rpx; - margin-top: 20rpx; -} - -.order-state { - height: 100rpx; - line-height: 100rpx; - padding-right: 40rpx; - padding-left: 40rpx; - background-color: #fff; - color: #f23030; - justify-content: space-between; - display: flex; -} -.shop_name{color: #333} -.order-detail { - padding: 30rpx 0; - border-bottom: 1px solid #ddd; - color: #666; - min-height: 115rpx; -} -.goods-img { - float: left; - width: 100rpx; - height: 100rpx; - margin: 0 30rpx; -} - -.order-cont { - float: left; - width: 410rpx; -} - -.goods-name { - height: 60rpx; - line-height: 30rpx; - overflow: hidden; - margin-bottom: 16rpx; -} - -.goods-color { - font-size: 24rpx; -} - -.order-num { - float: right; - font-size: 24rpx; - margin-top: 10rpx; - margin-right: 20rpx; - text-align: right; - line-height: 42rpx; -} - -.order-operate { - height: 100rpx; - padding-right: 20rpx; - background-color: #fff; - display: flex; - align-items: center; - justify-content: flex-end; -} - -.check-btn { - width: 180rpx; - height: 60rpx; - line-height: 60rpx; - text-align: center; - margin-right: 10rpx; - border: 1px solid #eee; -} - -.goods-btn { - width: 150rpx; - height: 60rpx; - line-height: 60rpx; - text-align: center; - border: 1px solid #eee; -} - -.cancel-order { - margin-left: 20rpx; -} - -.information { - padding: 0 20rpx; - background-color: #fff; - margin-bottom: 20rpx; -} - -.information .title { - height: 70rpx; - line-height: 70rpx; - border-bottom: 1rpx solid #ddd; - font-size: 34rpx; - color: #333; -} - -.information .item { - display: flex; - justify-content: space-between; - height: 60rpx; - line-height: 60rpx; - font-size: 30rpx; - color: #333; -} - -.information .item.pnew{ - height: 50rpx; - line-height: 50rpx; - color: #999; -} -.item-line{ margin: 5rpx 0; height: 1rpx; border-bottom:1rpx solid #ddd } - -.delivery-address,.leave-word { - width: 500rpx; - text-align: right; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.pay-amount { - color: #f23030; -} - -.btn-wrap { - height: 100rpx; - background-color: #fff; - text-align: right; - position: fixed; width: 100%; bottom: 0; border-top: 1rpx solid #ddd -} - -.tips-btn { - display: inline-block; - width: 200rpx; - height: 100rpx; - line-height: 100rpx; - text-align: center; - font-size: 30rpx; - color: #fff; - background-color: #f23030; - /* margin-left: 2rpx; */ - margin-right: 8rpx -} - - -.contact-us.goods-btn::after { - content: none; +.rty{ + display:flex; justify-content: center; align-items: center; + width:100%; + height:100% } \ No newline at end of file diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index 904b676..58b871f 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -263,7 +263,7 @@ Page({ } } - data[ind]['ord_url'] = '/pages/user/order_detail/order_detail'; + data[ind]['ord_url'] = '/packageG/pages/user/order_detail/order_detail'; //-- 如果是优惠活动 -- if (glist[0].prom_type == 8) { await getApp().request.promiseGet('/api/weshop/order/orderPresell/get/' + os.stoid + '/' + item.order_id, { diff --git a/utils/more_cx.js b/utils/more_cx.js index e5784b2..05b3afe 100644 --- a/utils/more_cx.js +++ b/utils/more_cx.js @@ -511,6 +511,10 @@ module.exports = { } //-- 判断优惠促销要不要限购 -- var fd=th.data.in_yhact[aid]; + if(!fd && th.data.yhcx_act_map && th.data.yhcx_act_map[aid] ){ + fd=th.data.yhcx_act_map[aid]; + th.data.in_yhact[aid]=fd; + } if(!fd) { var fd_res = await getApp().request.promiseGet('/api/weshop/promgoods/get/' + os.stoid + '/' + aid, {}) if (fd_res && fd_res.data.code == 0) { @@ -624,9 +628,8 @@ module.exports = { zh_goods[h].zh_b_num=promgoodsbuynum; th.data.in_zh_gd_buy_map[ky]=promgoodsbuynum; } - - } + //-- 放到参与组合优惠促销的map中 -- th.data.zuhe_map_good[item_act_map.prom_id] = zhact_gdlist; if(!car_item.zh_prom_goods) car_item.zh_prom_goods={}; @@ -742,7 +745,7 @@ module.exports = { }) //-- 看一下是不是购物车已经选择好了,购物车选择好了,再确认订单页面也应该是购物车选择的结果,这个也很重要 -- - if(!ck_prom_type){ + if(!ck_prom_type && th.data && ! th.data.is_cart){ for(var ij=0;ij