diff --git a/app.js b/app.js
index 6db2554..13adf0f 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,
@@ -1584,6 +1584,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_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 @@
-
+
分享
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..bec46df 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,40 @@ Page({
//-- 判断组合购是总数量是不是存在 --
var no_zh_num={};
-
+ //-- 多促销活动调用接口需要的参数,和商品的购买数量和活动的购买数量的请求参数 --
+ var dug_cx_arr = [];
+ //获取 限购 和 多活动的促销---2024-2-1
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;
+ 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);
}
- goodsbuynum = buy_num_data.goodsbuynum;
- })
- //如果有购买活动
- item1.promgoodsbuynum = promgoodsbuynum;
+
+ }
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 +1087,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 +1102,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 +1119,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 +1154,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 +1183,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 +1198,6 @@ Page({
}
let exp_sure=0;
-
switch (dis_t) {
case 0:
e_t = 1;
@@ -1224,12 +1230,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 +1289,8 @@ Page({
}
+
+
var cart_commission = 0;
//-- 循环计算一下线下取价 --
for (var k = 0; k < arr.length; k++) {
@@ -1292,8 +1298,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 +1340,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 +1357,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 +1460,7 @@ Page({
} else {
-
+
item1.act = th.data.zhhe_act_map[item1.prom_id];
}
}
@@ -1511,29 +1540,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 +1604,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 +1710,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 +1757,7 @@ Page({
}, 500)
},
+
//-----单个商品购买的入口判断----
get_buy_goods: function (e) {
var th = this;
@@ -2202,60 +2276,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,9 +2477,9 @@ 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 })
+
+ var txt9 = "cartlist[" + i + "].goods["+(pos+1)+"]";
+ th.setData({ [txt9]: newd })
}
@@ -3643,7 +3725,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 +5582,6 @@ Page({
})
// pdata.keyid = th.data.bn_goods.keyid
}
- // debugger
var str = JSON.stringify(pdata);
@@ -6610,25 +6691,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 +6970,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 +6987,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 +7072,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 +7103,8 @@ Page({
}
}
}
- })
+
+ if(!prom) return false;
var ob = {};
ob.prom_id = item.prom_id;
ob.name = prom.name;
@@ -7033,11 +7136,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 +7164,8 @@ Page({
}
}
}
- })
-
+ if(!prom) return false;
//优惠促销取价的优化
let f_price=item.goods_price;
@@ -8068,8 +8168,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) {
@@ -8283,6 +8383,7 @@ Page({
pro_pop.set_init(1,cp_arr);
},
+
//--- 选择回来时候的选择 ---
sure_cx_group:function(e){
var th=this;
@@ -8291,8 +8392,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 +8414,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 +8433,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 +8460,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;
+ }
}
//原始数据要有深拷贝不能有地址的牵连
@@ -8518,6 +8626,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 +8636,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,8 +8682,15 @@ Page({
}
}
+ //清理下赠品
+ let n_goods=[];
+ for (let ig = 0; ig {
+ //未购买
+ 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..954d239 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