diff --git a/components/diy_advertising/diy_advertising.wxml b/components/diy_advertising/diy_advertising.wxml
index 97f2898..745993b 100644
--- a/components/diy_advertising/diy_advertising.wxml
+++ b/components/diy_advertising/diy_advertising.wxml
@@ -129,11 +129,11 @@
-
+
-
+
200*200
@@ -169,7 +169,7 @@
-
+
200*200
diff --git a/components/diy_advertising/diy_advertising.wxss b/components/diy_advertising/diy_advertising.wxss
index 3785961..02b474c 100644
--- a/components/diy_advertising/diy_advertising.wxss
+++ b/components/diy_advertising/diy_advertising.wxss
@@ -156,7 +156,12 @@
float: left;
margin-left: 10rpx;
}
-
+.s4:after{
+ content: '';
+ height: 0;
+ width: 30%;
+ visibility: hidden;
+}
.s4_gk {
/* background-color: rgb(129, 213, 249); */
color: #fff;
diff --git a/packageA/pages/distribution/shop/shop.wxml b/packageA/pages/distribution/shop/shop.wxml
index 993b486..6ad1ebf 100644
--- a/packageA/pages/distribution/shop/shop.wxml
+++ b/packageA/pages/distribution/shop/shop.wxml
@@ -204,10 +204,24 @@
-
+
+
+
+ 一级分成:
+ {{filter.toFix(item.new_fir_rate,2)}}
+
+
+ 二级分成:
+ {{filter.toFix(item.new_sec_rate,2)}}
+
+
+ 三级分成:
+ {{filter.toFix(item.new_thi_rate,2)}}
+
+
@@ -350,9 +364,21 @@
-
+
+
+ 一级分成:
+ {{filter.toFix(item.new_fir_rate,2)}}
+
+
+ 二级分成:
+ {{filter.toFix(item.new_sec_rate,2)}}
+
+
+ 三级分成:
+ {{filter.toFix(item.new_thi_rate,2)}}
diff --git a/packageA/pages/jfbuy/jfbuy.js b/packageA/pages/jfbuy/jfbuy.js
index 8fed520..816b3cc 100644
--- a/packageA/pages/jfbuy/jfbuy.js
+++ b/packageA/pages/jfbuy/jfbuy.js
@@ -300,7 +300,8 @@ Page({
var data = {
store_id:oo.stoid,
stype:e.target.dataset.index,
- stypeup:1,
+ stypeup:1,
+
page:th.data.currentPage2,
pageSize:psize
};
@@ -347,7 +348,7 @@ Page({
// 开启加载状态
this.data.is_load2=1;
-
+ data.timetype=2
// var req_data = {
// page:th.data.currentPage2
diff --git a/packageA/pages/profile/profile.js b/packageA/pages/profile/profile.js
index 0ce2924..b8ec6bc 100644
--- a/packageA/pages/profile/profile.js
+++ b/packageA/pages/profile/profile.js
@@ -70,6 +70,7 @@ Page({
sto_sele_id: "", //所属门店id
is_zy: 0, //是否执行onshow
is_lable_set: "", //是否启用我的兴趣标签
+ is_bq_must:'',//兴趣标签是否必填
check_label: [], //我选择的兴趣标签
fir_guide_id: null, //存储会员详情接口出来的美导ID
isLunar: 0,
@@ -593,7 +594,7 @@ Page({
if (uu) {
this.setData({head_pic: uu.head_pic, nickname: uu.nickname})
}
-
+
if (getApp().globalData.first_leader) {
//--生成会员 --
getApp().promiseGet("/api/weshop/users/get/" + r.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
@@ -649,6 +650,15 @@ Page({
},
});
+ //----获取系统参数-----
+ getApp().getConfig2(function (e) {
+ var json_d = JSON.parse(e.switch_list);
+ console.log('获取系统参数1');
+ console.log(json_d);
+ if (json_d.user_label_set==1) {
+ self.setData({is_lable_set: 1})
+ }
+ }, 1)
//-- 获取线下会员的情况 --
var req_data = {
@@ -696,9 +706,14 @@ Page({
//----获取系统参数-----
getApp().getConfig2(function (e) {
var json_d = JSON.parse(e.switch_list);
+ console.log('获取系统参数1');
+ console.log(json_d);
if (json_d.is_brithday != 1) {
self.setData({isLunar: 1})
}
+ if (json_d.user_label_set==1) {
+ self.setData({is_lable_set: 1})
+ }
}, 1)
}
@@ -732,9 +747,17 @@ Page({
//----获取系统参数-----
getApp().getConfig2(function (e) {
var json_d = JSON.parse(e.switch_list);
+ console.log('获取系统参数2');
+ console.log(json_d);
if (json_d.is_brithday != 1) {
self.setData({isLunar: 1})
}
+ if (json_d.user_label_set==1) {
+ self.setData({is_lable_set: 1})
+ // if (json_d.is_bq_must==1) {
+ // self.setData({is_bq_must: 1})
+ // }
+ }
}, 1)
}
@@ -762,7 +785,19 @@ Page({
}
},
-
+ getIsBool(){
+ getApp().request.get("/api/weshop/users/grade/vip/init/get", {
+ data: {
+ storeId: r.stoid,
+ },
+ success: function(su) {
+ var isBool = su.data.data.isBool;
+ th.setData({
+ isBool: isBool
+ });
+ }
+ })
+ },
check_is_send_quan: function (cid, uid) {
var self = this;
let url2 = '/api/weshop/prom/coupon/get/';
@@ -950,9 +985,19 @@ Page({
if (th.data.fir_guide_id != th.data.user.staffId) {
datas.staffId = th.data.user.staffId;
}
-
var post_data = {...getApp().globalData.zc_dd, ...datas}
- this.zu_ce(post_data);
+
+ if (this.data.is_lable_set) {
+ getApp().globalData.zc_dd = post_data;
+ wx.redirectTo({
+ url: "/pages/user/labels/labels?pageType=1"
+ })
+ }else{
+ this.zu_ce(post_data);
+ }
+
+
+
},
@@ -1267,10 +1312,19 @@ Page({
delete post_data.iv;
+
if (th.data.loading) return false;
th.setData({loading: 1});
-
- this.zu_ce(post_data);
+
+ if (this.data.is_lable_set) {
+ getApp().globalData.zc_dd = post_data;
+ wx.redirectTo({
+ url: "/pages/user/labels/labels?pageType=1"
+ })
+ }else{
+ this.zu_ce(post_data);
+ }
+ // this.zu_ce(post_data);
},
diff --git a/packageB/pages/zuhegou/index/index.js b/packageB/pages/zuhegou/index/index.js
index 4443e1e..bff9738 100644
--- a/packageB/pages/zuhegou/index/index.js
+++ b/packageB/pages/zuhegou/index/index.js
@@ -117,7 +117,7 @@ Page({
choice_sort_store: 0, //选择分类门店
fir_pick_index: 0, //门店选择的下标
sec_pick_index: 0, //门店选择的下标,地区选择之后的内页
-
+ userbuynum:false,//是否有超出购买次数,还是否可以购买。false 为可购买,true为不可购买
sales_map:{}, //线下销售的map
},
@@ -196,7 +196,11 @@ Page({
return false;
}
if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) {
- //-- 获取商品列表 --
+ //判断是否有限制购买次数
+ if(e.data.data.buy_limit !=0){
+ self.getUserBuyPromNum()
+ }
+ //-- 获取商品列表 --
self.get_list();
self.countDown();
} else {
@@ -381,7 +385,25 @@ Page({
}
})
},
+ //获取用户参与活动的次数
+ getUserBuyPromNum(){
+ 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=${this.data.act.id}`;
+ getApp().request.get(url, {
+ success: (e)=>{
+ if (e.data.code == 0 && e.data.data) {
+ let userbuynum=e.data.data.userbuynum
+ if (userbuynum >=this.data.act.buy_limit && this.data.act.buy_limit !=0) {
+ this.setData({
+ userbuynum:true
+ })
+ }
+ } else {
+ }
+ }
+ });
+ },
onHide: function () {
this.data.is_timer = 0;
},
@@ -536,6 +558,14 @@ Page({
let title = '';
self = this;
th.data.s_cart_num = 0;
+ if(this.data.userbuynum){
+ wx.showToast({
+ title: '你已超出该活动购买次数!',
+ icon: 'none',
+ duration: 2000
+ })
+ return
+ }
//说明是加入购物车是时候
this.data.is_zuhe_addcart = 1;
@@ -777,6 +807,15 @@ Page({
*/
add(e) {
+ if(this.data.userbuynum){
+ wx.showToast({
+ title: '你已超出该活动购买次数!',
+ icon: 'none',
+ duration: 2000
+ })
+ return
+ }
+
var th = this;
var userInfo = getApp().globalData.userInfo;
if (!userInfo) {
diff --git a/packageB/pages/zuhegou/index/index.wxml b/packageB/pages/zuhegou/index/index.wxml
index 732cedf..674f7c3 100644
--- a/packageB/pages/zuhegou/index/index.wxml
+++ b/packageB/pages/zuhegou/index/index.wxml
@@ -115,6 +115,10 @@
{{filters.format_time(act.start_time,1)}} 至 {{filters.format_time(act.end_time,1)}}
+
+ 限购次数
+ 每人限购{{act.buy_limit}}次
+
活动内容
diff --git a/packageE/pages/togoin/togoin.js b/packageE/pages/togoin/togoin.js
index eadd064..0ec1463 100644
--- a/packageE/pages/togoin/togoin.js
+++ b/packageE/pages/togoin/togoin.js
@@ -1,414 +1,440 @@
var t = require("../../../utils/common.js");
-const app=getApp();
+const app = getApp();
var os = app.globalData.setting;
var regeneratorRuntime = require('../../../utils/runtime.js');
Page({
data: {
- user:null,
- show_bind:0,
- imghots: os.imghost,
- store_logo:'',
- first_leader:'', //-- 邀请人 --
- config2:null,
- sub:0
+ user: null,
+ show_bind: 0,
+ imghots: os.imghost,
+ store_logo: '',
+ first_leader: '', //-- 邀请人 --
+ config2: null,
+ sub: 0
},
onLoad: function (options) {
- if (wx.getUserProfile) {
- this.setData({
- canIUseGetUserProfile: true
- })
- }
- getApp().globalData.isLoad_ad=1;
- //--判断是否有接受到邀请人的ID--
- if(options.first_leader){
- this.setData({first_leader:options.first_leader});
- }else if(getApp().globalData.first_leader){
- this.setData({first_leader:getApp().globalData.first_leader});
- }
- var th=this;
- app.getConfig(function (e) {
- var logo=th.data.imghots+e.store_logo;
- th.setData({ store: e,store_logo:logo});
- })
-
- //判断注册的条件
- app.getConfig2(function (e) {
- if(e.reg_type==1){
- var arr=JSON.parse(e.reg_info);
- if(arr['name_state']==1) th.data.name_need_go=1;
- if(arr['birthday_state']==1) th.data.birth_need_go=1;
- if(arr['idcard_state']==1) th.data.idcard_need_go=1;
- if(arr['address_state']==1) th.data.address_need_go=1;
- if(arr['pick_state']==1) th.data.pick_need_go=1;
- if(arr['sex_state']==1) th.data.sex_need_go=1;
- if(arr['introducer_state']==1) th.data.introducer_need_go=1;
- }
- },1)
-
- getApp().promiseGet("/api/wx/weappSendlist/page", {
- data: {
- store_id: os.stoid,
- typeid: "1007"
- }}).then(res=>{
- if (res.data.code == 0 && res.data.data.pageData.length > 0) {
- var template_id = res.data.data.pageData[0].template_id;
- th.setData({template_id:template_id});
- }
- })
+ if (wx.getUserProfile) {
+ this.setData({
+ canIUseGetUserProfile: true
+ })
+ }
+ getApp().globalData.isLoad_ad = 1;
+ //--判断是否有接受到邀请人的ID--
+ if (options.first_leader) {
+ this.setData({ first_leader: options.first_leader });
+ } else if (getApp().globalData.first_leader) {
+ this.setData({ first_leader: getApp().globalData.first_leader });
+ }
+ var th = this;
+ app.getConfig(function (e) {
+ var logo = th.data.imghots + e.store_logo;
+ th.setData({ store: e, store_logo: logo });
+ })
+
+ //判断注册的条件
+ app.getConfig2(function (e) {
+ if (e.reg_type == 1) {
+ var arr = JSON.parse(e.reg_info);
+ if (arr['name_state'] == 1) th.data.name_need_go = 1;
+ if (arr['birthday_state'] == 1) th.data.birth_need_go = 1;
+ if (arr['idcard_state'] == 1) th.data.idcard_need_go = 1;
+ if (arr['address_state'] == 1) th.data.address_need_go = 1;
+ if (arr['pick_state'] == 1) th.data.pick_need_go = 1;
+ if (arr['sex_state'] == 1) th.data.sex_need_go = 1;
+ if (arr['introducer_state'] == 1) th.data.introducer_need_go = 1;
+ }
+ var json_d = JSON.parse(e.switch_list);
+ if (json_d.user_label_set == 1) {
+ th.data.is_lable_set = 1
+ // self.setData({is_lable_set: 1})
+ // if (json_d.is_bq_must==1) {
+ // self.setData({is_bq_must: 1})
+ // }
+ }
+ }, 1)
+
+ getApp().promiseGet("/api/wx/weappSendlist/page", {
+ data: {
+ store_id: os.stoid,
+ typeid: "1007"
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data.pageData.length > 0) {
+ var template_id = res.data.data.pageData[0].template_id;
+ th.setData({ template_id: template_id });
+ }
+ })
},
//绑定手机号
- getphone:function (e) {
- //接下来写业务代码登录
- e=e.detail;
- if (e.encryptedData==undefined){
- this.setData({show_bind:0})
- return app.my_warnning("登录需要授权手机号码!", 0, this);
- return false;
- }
+ getphone: function (e) {
+ //接下来写业务代码登录
+ e = e.detail;
+ if (e.encryptedData == undefined) {
+ this.setData({ show_bind: 0 })
+ return app.my_warnning("登录需要授权手机号码!", 0, this);
+ return false;
+ }
var sessionKey = getApp().globalData.sessionKey;
var openid = getApp().globalData.openid;
- var r=getApp().globalData.getu;
- this.save_the_data(r,e,sessionKey,openid)
+ var r = getApp().globalData.getu;
+ this.save_the_data(r, e, sessionKey, openid)
},
//-- 会员授权 --
- bindGetUserInfo: function(ee) {
- if(!this.data.isAgree) {
- wx.showToast({
- title: '请您先阅读和勾选指定的内容',
- icon: 'none',
- });
- return false;
- }
+ bindGetUserInfo: function (ee) {
+ if (!this.data.isAgree) {
+ wx.showToast({
+ title: '请您先阅读和勾选指定的内容',
+ icon: 'none',
+ });
+ return false;
+ }
var that = this;
- //-- 点击授权 --
- that.getUserProfile(function(res){
- var user=res;
- //--拿下code--
- wx.login({
- success: function (o) {
- var dd = {
- js_code:o.code,
- store_id: os.stoid,
- nickname: app.clear_word(app.globalData.getu.nickName),
- head_pic: app.clear_word(app.globalData.getu.avatarUrl)
- };
- //-- 导购会员ID --
- if(getApp().globalData.guide_id){
- dd.guide_id=getApp().globalData.guide_id;
- }
-
- getApp().request.get("/api/weshop/users/openidandkey", {
- data: dd,
- success: function (e) {
- if(e.data.code==0){
- that.setData({user:user})
- //如果有会员的话,没有sessionKey
- if(!e.data.data.sessionKey){
- // getApp().showWarning("登录成功");
- wx.showToast({
- title: '登录成功',
- icon: 'success',
- duration: 2000
- });
- getApp().globalData.userInfo=e.data.data;
- getApp().globalData.user_id=e.data.data.user_id;
- getApp().globalData.openid = e.data.data.weapp_openid;
- //把会员的信息存在内存
- wx.setStorageSync("userinfo",e.data.data);
-
- //调用接口判断是不是会员
- app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
- if (res.data.code == 0) {
- getApp().globalData.guide_id = res.data.data.id;
- }
- })
-
-
- setTimeout(function () {
- getApp().globalData.login_back=1;
- wx.navigateBack({ delta: 1}) //返回上一页
- },1000)
- }else{
- getApp().globalData.sessionKey=e.data.data.sessionKey;
- getApp().globalData.openid=e.data.data.openid;
- that.setData({show_bind:1});
- }
- }else{
- getApp().confirmBox(e.data.msg);
- }
- }
- });
- }
- })
-
- })
+ //-- 点击授权 --
+ that.getUserProfile(function (res) {
+ var user = res;
+ //--拿下code--
+ wx.login({
+ success: function (o) {
+ var dd = {
+ js_code: o.code,
+ store_id: os.stoid,
+ nickname: app.clear_word(app.globalData.getu.nickName),
+ head_pic: app.clear_word(app.globalData.getu.avatarUrl)
+ };
+ //-- 导购会员ID --
+ if (getApp().globalData.guide_id) {
+ dd.guide_id = getApp().globalData.guide_id;
+ }
+
+ getApp().request.get("/api/weshop/users/openidandkey", {
+ data: dd,
+ success: function (e) {
+ if (e.data.code == 0) {
+ that.setData({ user: user })
+ //如果有会员的话,没有sessionKey
+ if (!e.data.data.sessionKey) {
+ // getApp().showWarning("登录成功");
+ wx.showToast({
+ title: '登录成功',
+ icon: 'success',
+ duration: 2000
+ });
+ getApp().globalData.userInfo = e.data.data;
+ getApp().globalData.user_id = e.data.data.user_id;
+ getApp().globalData.openid = e.data.data.weapp_openid;
+ //把会员的信息存在内存
+ wx.setStorageSync("userinfo", e.data.data);
+
+ //调用接口判断是不是会员
+ app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
+ if (res.data.code == 0) {
+ getApp().globalData.guide_id = res.data.data.id;
+ }
+ })
+
+
+ setTimeout(function () {
+ getApp().globalData.login_back = 1;
+ wx.navigateBack({ delta: 1 }) //返回上一页
+ }, 1000)
+ } else {
+ getApp().globalData.sessionKey = e.data.data.sessionKey;
+ getApp().globalData.openid = e.data.data.openid;
+ that.setData({ show_bind: 1 });
+ }
+ } else {
+ getApp().confirmBox(e.data.msg);
+ }
+ }
+ });
+ }
+ })
+
+ })
},
//-- 调整后的获取会员信息 --
- getUserProfile:function(func){
- var that=this;
- wx.getUserProfile({
- desc:'获取用户相关信息',
- success:res=>{
- console.log("getUserProfile",res);
- //此处授权得到userInfo
- getApp().globalData.getu = res.userInfo;
- func(res.userInfo);
- }
- });
+ getUserProfile: function (func) {
+ var that = this;
+ wx.getUserProfile({
+ desc: '获取用户相关信息',
+ success: res => {
+ console.log("getUserProfile", res);
+ //此处授权得到userInfo
+ getApp().globalData.getu = res.userInfo;
+ func(res.userInfo);
+ }
+ });
},
//暂不登录,返回上一页
- cancle_bind:function () {
- wx.navigateBack({ delta: 1})
+ cancle_bind: function () {
+ wx.navigateBack({ delta: 1 })
},
- close_pop:function(){
- this.setData({show_bind:0})
+ close_pop: function () {
+ this.setData({ show_bind: 0 })
},
- show_bind_mobile:function(){
- let th=this;
- th.sendsm(function (){
- th.setData({show_bind:1})
- })
+ show_bind_mobile: function () {
+ let th = this;
+ th.sendsm(function () {
+ th.setData({ show_bind: 1 })
+ })
},
-
- save_the_data: async function (r,e,sessionKey,openid) {
- var app=getApp(),a=app,th=this;
+
+ save_the_data: async function (r, e, sessionKey, openid) {
+ var app = getApp(), a = app, th = this;
var dd = {
oauth: "miniapp",
- nickname:a.clear_word(r.nickName),
+ nickname: a.clear_word(r.nickName),
head_pic: r.avatarUrl,
sex: r.gender,
terminal: "miniapp",
sessionKey: sessionKey,
- openid:openid,
+ openid: openid,
encryptedData: e.encryptedData,
iv: e.iv,
store_id: getApp().globalData.setting.stoid,
};
- //--如果有邀请人的时候--
- if(th.data.first_leader){
- dd.first_leader=th.data.first_leader;
- }
- //-- 导购会员ID --
- if(getApp().globalData.guide_id){
- dd.guide_id=getApp().globalData.guide_id;
- }
-
- //门店的扫描识别码
- if(getApp().globalData.store_number){
- dd.SunCode=encodeURIComponent(getApp().globalData.store_number.trim());
- }
-
- console.log("-----会员注册的信息-------");
+ //--如果有邀请人的时候--
+ if (th.data.first_leader) {
+ dd.first_leader = th.data.first_leader;
+ }
+ //-- 导购会员ID --
+ if (getApp().globalData.guide_id) {
+ dd.guide_id = getApp().globalData.guide_id;
+ }
+
+ //门店的扫描识别码
+ if (getApp().globalData.store_number) {
+ dd.SunCode = encodeURIComponent(getApp().globalData.store_number.trim());
+ }
+
+ console.log("-----会员注册的信息-------");
console.log(dd);
- var need_go=0;
- //如果有需要完善的信息没有完善,就需要跳转
- if(th.data.name_need_go){ need_go=1;}
- if(th.data.birth_need_go){ need_go=1;}
- if(th.data.idcard_need_go){ need_go=1;}
- if(th.data.address_need_go){ need_go=1;}
- if(th.data.pick_need_go){ need_go=1;}
- if(th.data.sex_need_go){ need_go=1;}
- if(th.data.introducer_need_go){ need_go=1;}
-
- if(need_go){
-
- var req_data={
- sessionKey: sessionKey,
- encryptedData: e.encryptedData,
- iv: e.iv,
- store_id: getApp().globalData.setting.stoid,
- }
- //-- 获取一下手机 --
- getApp().request.promiseGet("/api/weshop/users/getmobile", {data:req_data}).then(res=>{
- if(res.data.code==0){
- dd.mobile=res.data.data;
- getApp().globalData.zc_dd=dd;
- wx.redirectTo({
- url:"/packageA/pages/profile/profile?is_back=1"
- })
- }
- })
-
- }else{
-
- this.setData({sub:1});
- wx.showLoading({
- title:'处理中.',
- mask:true
- })
- this.zu_ce(dd); //调用注册的函数
+ var need_go = 0;
+ //如果有需要完善的信息没有完善,就需要跳转
+ if (th.data.name_need_go) { need_go = 1; }
+ if (th.data.birth_need_go) { need_go = 1; }
+ if (th.data.idcard_need_go) { need_go = 1; }
+ if (th.data.address_need_go) { need_go = 1; }
+ if (th.data.pick_need_go) { need_go = 1; }
+ if (th.data.sex_need_go) { need_go = 1; }
+ if (th.data.introducer_need_go) { need_go = 1; }
+
+ if (need_go) {
+
+ var req_data = {
+ sessionKey: sessionKey,
+ encryptedData: e.encryptedData,
+ iv: e.iv,
+ store_id: getApp().globalData.setting.stoid,
+ }
+ //-- 获取一下手机 --
+ getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
+ if (res.data.code == 0) {
+ dd.mobile = res.data.data;
+ getApp().globalData.zc_dd = dd;
+ wx.redirectTo({
+ url: "/packageA/pages/profile/profile?is_back=1"
+ })
+ }
+ })
+
+ } else {
+ if (th.data.is_lable_set) {
+ var req_data = {
+ sessionKey: sessionKey,
+ encryptedData: e.encryptedData,
+ iv: e.iv,
+ store_id: getApp().globalData.setting.stoid,
+ }
+ //-- 获取一下手机 --
+ getApp().request.promiseGet("/api/weshop/users/getmobile", { data: req_data }).then(res => {
+ if (res.data.code == 0) {
+ dd.mobile = res.data.data;
+ getApp().globalData.zc_dd = dd;
+ wx.redirectTo({
+ url: "/pages/user/labels/labels?pageType=1"
+ })
+ }
+ })
+ } else {
+ this.setData({ sub: 1 });
+ wx.showLoading({
+ title: '处理中.',
+ mask: true
+ })
+ this.zu_ce(dd); //调用注册的函数
+ }
+ }
+
+ },
+
+ zu_ce: function (dd) {
+ var th = this;
+ app.request.get("/api/weshop/users/thirdLogin", {
+ data: dd,
+ success: function (e) {
+ if (e.data.code == 0) {
+ app.globalData.user_id = e.data.data.user_id;
+ } else {
+ return app.showWarning("授权登入失败!" + e.data.msg);
+ }
+ getApp().globalData.login_back = 1;
+ wx.setStorageSync("userinfo", e.data.data);
+ wx.setStorageSync("isAuth", !0), app.globalData.userInfo = e.data.data, app.globalData.userInfo.head_pic = t.getFullUrl(app.globalData.userInfo.head_pic);
+
+ //调用接口判断是不是会员
+ app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
+ if (res.data.code == 0) {
+ getApp().globalData.guide_id = res.data.data.id;
+ }
+ })
+
+ wx.navigateBack({ delta: 1 })
+
+ },
+ failStatus: function (t) {
+ th.setData({ sub: 0 });
+ return app.my_warnning("授权登入失败,请稍后再试!", 0, th);
+ },
+ fail: function (t) {
+ th.setData({ sub: 0 });
+ return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1;
}
+ });
+ },
+
+ bind_bnerr: function (e) {
+ var _errImg = e.target.dataset.errorimg;
+ var _errObj = {};
+ _errObj[_errImg] = this.data.imghots + "/miniapp/images/logo.png";
+ this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
},
- zu_ce:function (dd) {
- var th=this;
- app.request.get("/api/weshop/users/thirdLogin", {
+ //-- 会员授权 --
+ bindUserInfo: function (ee) {
+ var that = this;
+ var user = ee.detail.userInfo;
+ //此处授权得到userInfo
+ getApp().globalData.getu = user;
+
+ //--拿下code--
+ wx.login({
+ success: function (o) {
+ var dd = {
+ js_code: o.code,
+ store_id: os.stoid,
+ nickname: app.clear_word(app.globalData.getu.nickName),
+ head_pic: app.clear_word(app.globalData.getu.avatarUrl)
+ };
+ //-- 导购会员ID --
+ if (getApp().globalData.guide_id) {
+ dd.guide_id = getApp().globalData.guide_id;
+ }
+
+ getApp().request.get("/api/weshop/users/openidandkey", {
data: dd,
success: function (e) {
- if (e.data.code == 0) {
- app.globalData.user_id = e.data.data.user_id;
+ if (e.data.code == 0) {
+ that.setData({ user: user })
+ //如果有会员的话,没有sessionKey
+ if (!e.data.data.sessionKey) {
+ // getApp().showWarning("登录成功");
+ wx.showToast({
+ title: '登录成功',
+ icon: 'success',
+ duration: 2000
+ });
+
+ getApp().globalData.userInfo = e.data.data;
+ getApp().globalData.user_id = e.data.data.user_id;
+ getApp().globalData.openid = e.data.data.weapp_openid;
+ //把会员的信息存在内存
+ wx.setStorageSync("userinfo", e.data.data);
+
+ //调用接口判断是不是会员
+ app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
+ if (res.data.code == 0) {
+ getApp().globalData.guide_id = res.data.data.id;
+ }
+ })
+
+
+ setTimeout(function () {
+ getApp().globalData.login_back = 1;
+ wx.navigateBack({ delta: 1 }) //返回上一页
+ }, 1000)
} else {
- return app.showWarning("授权登入失败!"+e.data.msg);
+ getApp().globalData.sessionKey = e.data.data.sessionKey;
+ getApp().globalData.openid = e.data.data.openid;
+ that.setData({ show_bind: 1 });
}
- getApp().globalData.login_back=1;
- wx.setStorageSync("userinfo",e.data.data);
- wx.setStorageSync("isAuth", !0), app.globalData.userInfo = e.data.data, app.globalData.userInfo.head_pic = t.getFullUrl(app.globalData.userInfo.head_pic);
-
- //调用接口判断是不是会员
- app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
- if (res.data.code == 0) {
- getApp().globalData.guide_id = res.data.data.id;
- }
- })
-
- wx.navigateBack({ delta: 1})
-
- },
- failStatus: function (t) {
- th.setData({sub:0});
- return app.my_warnning("授权登入失败,请稍后再试!", 0, th);
- },
- fail: function (t) {
- th.setData({sub:0});
- return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1;
+ } else {
+ getApp().confirmBox(e.data.msg);
+ }
}
- });
- },
+ });
+ }
+ })
- bind_bnerr:function(e){
- var _errImg = e.target.dataset.errorimg;
- var _errObj = {};
- _errObj[_errImg] = this.data.imghots+"/miniapp/images/logo.png";
- this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
},
- //-- 会员授权 --
- bindUserInfo: function(ee) {
- var that = this;
- var user=ee.detail.userInfo;
- //此处授权得到userInfo
- getApp().globalData.getu = user;
-
- //--拿下code--
- wx.login({
- success: function (o) {
- var dd = {
- js_code:o.code,
- store_id: os.stoid,
- nickname: app.clear_word(app.globalData.getu.nickName),
- head_pic: app.clear_word(app.globalData.getu.avatarUrl)
- };
- //-- 导购会员ID --
- if(getApp().globalData.guide_id){
- dd.guide_id=getApp().globalData.guide_id;
- }
-
- getApp().request.get("/api/weshop/users/openidandkey", {
- data: dd,
- success: function (e) {
- if(e.data.code==0){
- that.setData({user:user})
- //如果有会员的话,没有sessionKey
- if(!e.data.data.sessionKey){
- // getApp().showWarning("登录成功");
- wx.showToast({
- title: '登录成功',
- icon: 'success',
- duration: 2000
- });
-
- getApp().globalData.userInfo=e.data.data;
- getApp().globalData.user_id=e.data.data.user_id;
- getApp().globalData.openid = e.data.data.weapp_openid;
- //把会员的信息存在内存
- wx.setStorageSync("userinfo",e.data.data);
-
- //调用接口判断是不是会员
- app.promiseGet("/api/weshop/shoppingGuide/get/" + os.stoid + "/" + e.data.data.user_id, {}).then(res => {
- if (res.data.code == 0) {
- getApp().globalData.guide_id = res.data.data.id;
- }
- })
-
-
- setTimeout(function () {
- getApp().globalData.login_back=1;
- wx.navigateBack({ delta: 1}) //返回上一页
- },1000)
- }else{
- getApp().globalData.sessionKey=e.data.data.sessionKey;
- getApp().globalData.openid=e.data.data.openid;
- that.setData({show_bind:1});
- }
- }else{
- getApp().confirmBox(e.data.msg);
- }
- }
- });
- }
- })
+ close_pop_back: function () {
+ this.close_pop();
+ wx.navigateBack({ delta: 1 })
+ },
+
+ // 是否同意协议
+ isAgree(e) {
+ let isAgree = null;
+ if (e.detail.value[0]) {
+ isAgree = true;
+ } else {
+ isAgree = false;
+ };
+ // this.data.isAgree = isAgree;
+ this.setData({
+ isAgree,
+ });
},
- close_pop_back:function(){
- this.close_pop();
- wx.navigateBack({ delta: 1})
+ //通过路径跳转到其他页面
+ goto: function (e) {
+ console.log('xxxx', e);
+ var url = e.currentTarget.dataset.url;
+ getApp().goto(url);
},
+ //订阅消息提醒
+ sendsm: function (func) {
+ var template_id = this.data.template_id;
+ // //授权订阅
+ wx.requestSubscribeMessage({
+ tmplIds: [template_id],
+ success(res) {
+ func();
+ },
+ fail(res) {
+ func();
+ }
+ })
- // 是否同意协议
- isAgree(e) {
- let isAgree = null;
- if(e.detail.value[0]) {
- isAgree = true;
- } else {
- isAgree = false;
- };
- // this.data.isAgree = isAgree;
- this.setData({
- isAgree,
- });
- },
-
-
- //通过路径跳转到其他页面
- goto: function(e) {
- console.log('xxxx', e);
- var url = e.currentTarget.dataset.url;
- getApp().goto(url);
- },
-
- //订阅消息提醒
- sendsm:function(func)
- {
- var template_id = this.data.template_id;
- // //授权订阅
- wx.requestSubscribeMessage({
- tmplIds: [template_id],
- success(res) {
- func();
- },
- fail(res) {
- func();
- }
- })
-
- },
+ },
})
diff --git a/packageE/pages/user/labels/labels.js b/packageE/pages/user/labels/labels.js
index 5666231..637e2e4 100644
--- a/packageE/pages/user/labels/labels.js
+++ b/packageE/pages/user/labels/labels.js
@@ -1,7 +1,9 @@
+const app = getApp();
var e = getApp(),
a = e.globalData.setting,
os = a,
t = e.request,
+ s = require("../../../utils/common.js"),
d = e.globalData;
Page({
@@ -18,6 +20,8 @@ Page({
is_modify: 0, //判断是第一次填写还是修改(0填写,1修改)
isread: 0, //是否读取
is_check: 0, //是否重复提交
+ pageType:'',//页面来源标识,1 是注册时跳转过来的
+ label_required:'',//注册时标签是否必填
},
//点击选择兴趣标签把值放到已选中
click_label: function(e) {
@@ -63,17 +67,23 @@ Page({
sms_conf = JSON.parse(sms_conf);
var getuser_label_type = 1;
var getuser_label_val = 0;
+ let label_required=''
if (sms_conf.user_label_type != undefined) {
getuser_label_type = parseInt(sms_conf.user_label_type) + 1;
}
if (sms_conf.user_label_val != undefined) {
getuser_label_val = sms_conf.user_label_val;
}
+
+ if (sms_conf.label_required==1) {
+ label_required=1
+ }
th.setData({
user_label_val: getuser_label_val,
- user_label_type: getuser_label_type
+ user_label_type: getuser_label_type,
+ label_required:label_required
})
})
},
@@ -88,6 +98,15 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
+ console.log('标签页面对象-------');
+ console.log(options);
+ let pageType = options.pageType //页面来源标识,1 是注册时跳转过来的
+ if (pageType) {
+ this.setData({
+ pageType
+ })
+ // this.pageType=pageType
+ }
var th = this;
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //上一个页面
@@ -115,7 +134,9 @@ Page({
interest_lables: res.data.data.pageData,
isread: 1
})
- th.query_checklabels();
+ if(!th.data.pageType){
+ th.query_checklabels();
+ }
} else {
getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
th.setData({
@@ -189,102 +210,181 @@ Page({
getApp().my_warnning("请勿重复提交", 0, th);
}
if (is_check == 0) {
- if (check_label.length < 1) {
- getApp().my_warnning("完成兴趣标签才能" + remark + "哦~", 0, th);
- th.setData({
- is_check: 0
- })
- } else {
- th.setData({
- is_check: 1
- })
-
- var url = "/api/weshop/marketing/holiday/vip/interest/label/update"; //更新标签接口地址
- var nav_url = "/pages/user/userinfo/userinfo"; //领取成功之后跳转页面
- var vipLabel = ""; //选择的标签名称
- var vipLabelId = ""; //选择的标签id
- var arr = [];
- for (var i = 0; i < check_label.length; i++) {
- if (i < check_label.length - 1) {
- vipLabelId += check_label[i].id + ",";
- vipLabel += check_label[i].LabelName + ",";
- arr.push(check_label[i].LabelName);
- } else {
- vipLabelId += check_label[i].id;
- vipLabel += check_label[i].LabelName;
- arr.push(check_label[i].LabelName);
- }
+ if (th.data.pageType) {
+ if(th.data.label_required){
+ if (check_label.length < 1) {
+ getApp().my_warnning("必须完成兴趣标签选择", 0, th);
+ return
+ }
}
- var my_confirm = th.selectComponent("#my_confirm"); //组件的id
- remark = "兴趣标签赠送";
- if (is_modify) {
+ wx.showLoading({
+ title: "处理中.",
+ mask: true
+ })
+
+ app.request.get("/api/weshop/users/thirdLogin", {
+ data: getApp().globalData.zc_dd,
+ success: function (e) {
+ wx.hideLoading();
+ if (e.data.code == 0) {
+ app.globalData.user_id = e.data.data.user_id;
+ } else {
+ return app.showWarning("授权登入失败!" + e.data.msg);
+ }
+ getApp().globalData.login_back = 1;
+ wx.setStorageSync("userinfo", e.data.data);
+ wx.setStorageSync("isAuth", !0), app.globalData.userInfo = e.data.data, app.globalData.userInfo.head_pic = s.getFullUrl(app.globalData.userInfo.head_pic);
+ if (th.data.label_required && check_label.length>0) {
+ getApp().request.put("/api/weshop/marketing/holiday/vip/interest/label/update", {
+ data: {
+ "storeId": a.stoid,
+ "userId":e.data.data.user_id,
+ "vipLabel": vipLabel,
+ "vipLabelId": vipLabelId,
+ "type": user_label_type,
+ "remark": remark,
+ "value": user_label_val,
+ "fromType": "REWARD"
+ },
+ success: function(res) {
+ if (res.data.code == 0) {
+ getApp().my_warnning("领取成功", 1, th);
+ setTimeout(function() {
+ // var pages = getCurrentPages();
+ // var prevPage = pages[pages.length - 2];
+ // prevPage.setData({
+ // check_label: arr
+ // })
+ // th.goto();
+ wx.reLaunch({
+ url: '/pages/user/index/index',
+ })
+ }, 2000);
+ } else {
+ getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
+ th.setData({
+ is_check: 0
+ })
+ }
+ }
+ })
+ }else{
+ wx.reLaunch({
+ url: '/pages/user/index/index',
+ })
+ }
- my_confirm.open_cancel(0);
- getApp().request.put(url, {
- data: {
- "storeId": a.stoid,
- "userId": d.user_id,
- "vipLabel": vipLabel,
- "vipLabelId": vipLabelId,
- "type": user_label_type,
- "remark": remark,
- "value": user_label_val,
- "fromType": "REWARD"
},
- success: function(res) {
- if (res.data.code == 0) {
- getApp().my_warnning("修改成功", 1, th);
- setTimeout(function() {
- var pages = getCurrentPages();
- var prevPage = pages[pages.length - 2]; //上一个页面
- //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
- prevPage.setData({
- check_label: arr
- })
- th.goto();
- }, 2000);
- } else {
- getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
- th.setData({
- is_check: 0
- })
- }
+ failStatus: function (t) {
+ wx.hideLoading();
+ th.setData({loading: 0});
+ return app.my_warnning("授权登入失败,请稍后再试!", 0, that);
+ },
+ fail: function (t) {
+ wx.hideLoading();
+ th.setData({loading: 0});
+ return i.clearAuth(), i.alertLoginErrorAndGoHome(), !1;
}
+ });
+ }else{
+ if (check_label.length < 1) {
+ getApp().my_warnning("完成兴趣标签才能" + remark + "哦~", 0, th);
+ th.setData({
+ is_check: 0
})
-
} else {
-
- getApp().request.put(url, {
- data: {
- "storeId": a.stoid,
- "userId": d.user_id,
- "vipLabel": vipLabel,
- "vipLabelId": vipLabelId,
- "type": user_label_type,
- "remark": remark,
- "value": user_label_val,
- "fromType": "REWARD"
- },
- success: function(res) {
- if (res.data.code == 0) {
- getApp().my_warnning("领取成功", 1, th);
- setTimeout(function() {
- var pages = getCurrentPages();
- var prevPage = pages[pages.length - 2]; //上一个页面
- //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
- prevPage.setData({
- check_label: arr
- })
- th.goto();
- }, 2000);
- } else {
- getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
- th.setData({
- is_check: 0
- })
- }
+ th.setData({
+ is_check: 1
+ })
+
+ var url = "/api/weshop/marketing/holiday/vip/interest/label/update"; //更新标签接口地址
+ var nav_url = "/pages/user/userinfo/userinfo"; //领取成功之后跳转页面
+ var vipLabel = ""; //选择的标签名称
+ var vipLabelId = ""; //选择的标签id
+ var arr = [];
+ for (var i = 0; i < check_label.length; i++) {
+ if (i < check_label.length - 1) {
+ vipLabelId += check_label[i].id + ",";
+ vipLabel += check_label[i].LabelName + ",";
+ arr.push(check_label[i].LabelName);
+ } else {
+ vipLabelId += check_label[i].id;
+ vipLabel += check_label[i].LabelName;
+ arr.push(check_label[i].LabelName);
}
- })
+ }
+ var my_confirm = th.selectComponent("#my_confirm"); //组件的id
+ remark = "兴趣标签赠送";
+ if (is_modify) {
+
+ my_confirm.open_cancel(0);
+ getApp().request.put(url, {
+ data: {
+ "storeId": a.stoid,
+ "userId": d.user_id,
+ "vipLabel": vipLabel,
+ "vipLabelId": vipLabelId,
+ "type": user_label_type,
+ "remark": remark,
+ "value": user_label_val,
+ "fromType": "REWARD"
+ },
+ success: function(res) {
+ if (res.data.code == 0) {
+ getApp().my_warnning("修改成功", 1, th);
+ setTimeout(function() {
+ var pages = getCurrentPages();
+ var prevPage = pages[pages.length - 2]; //上一个页面
+ //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
+ prevPage.setData({
+ check_label: arr
+ })
+ th.goto();
+ }, 2000);
+ } else {
+ getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
+ th.setData({
+ is_check: 0
+ })
+ }
+ }
+ })
+
+ } else {
+
+ getApp().request.put(url, {
+ data: {
+ "storeId": a.stoid,
+ "userId": d.user_id,
+ "vipLabel": vipLabel,
+ "vipLabelId": vipLabelId,
+ "type": user_label_type,
+ "remark": remark,
+ "value": user_label_val,
+ "fromType": "REWARD"
+ },
+ success: function(res) {
+ if (res.data.code == 0) {
+ getApp().my_warnning("领取成功", 1, th);
+ setTimeout(function() {
+ var pages = getCurrentPages();
+ var prevPage = pages[pages.length - 2]; //上一个页面
+ //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
+ prevPage.setData({
+ check_label: arr
+ })
+ th.goto();
+ }, 2000);
+ } else {
+ getApp().my_warnning("系统繁忙,请稍后再试", 0, th);
+ th.setData({
+ is_check: 0
+ })
+ }
+ }
+ })
+ }
+
}
}
}
diff --git a/packageE/pages/user/labels/labels.wxml b/packageE/pages/user/labels/labels.wxml
index 6d46152..123a319 100644
--- a/packageE/pages/user/labels/labels.wxml
+++ b/packageE/pages/user/labels/labels.wxml
@@ -35,14 +35,25 @@
-
- 确定选择
+
+ 保存
-
+
+
+
+
+
+ 选择后,领取{{user_label_val}}积分
+
+
+ 选择后,领取{{user_label_val}}成长值
diff --git a/packageE/pages/user/labels/labels.wxss b/packageE/pages/user/labels/labels.wxss
index fcfa1c4..c7ef9c8 100644
--- a/packageE/pages/user/labels/labels.wxss
+++ b/packageE/pages/user/labels/labels.wxss
@@ -72,7 +72,7 @@ page{
}
.receive{
position: fixed;
- bottom:60rpx;
+ bottom:80rpx;
left: 65rpx;
width: 620rpx;
height: 70rpx;
@@ -95,4 +95,14 @@ page{
}
.backcolor{
background-color: rgb(204, 204, 204);
+}
+.check_info{
+ position: fixed;
+ bottom: 10rpx;
+ left: 65rpx;
+ width: 620rpx;
+ height: 70rpx;
+ line-height: 70rpx;
+ text-align: center;
+ font-size: 26rpx;
}
\ No newline at end of file
diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js
index 2955387..16dd2b4 100644
--- a/pages/cart/cart/cart.js
+++ b/pages/cart/cart/cart.js
@@ -1316,7 +1316,18 @@ Page({
});
},
-
+ 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
+ },
//设置莫个门店的所有线下价格
async set_offline(list) {
@@ -2990,7 +3001,7 @@ Page({
});
return false;
}
-
+
if (!this.data.total_num || this.data.total_num <= 0) return false;
if (!this.data.is_load) return false;
if (this.data.up_dating) {
@@ -3022,15 +3033,23 @@ Page({
var normal_arr = {};
var ab = 0; //选中
wx.showLoading();
+ let checkArr7=[];//组合购选中的数据
+ // let checkOff=false
for (var i = 0; i < this.data.requestData.length; i++) {
var i_arr = this.data.requestData[i].goods;
for (var j = 0; j < i_arr.length; j++) {
- if (i_arr[j].selected && i_arr[j].is_gift != 1) {
-
+ if (i_arr[j].selected && i_arr[j].is_gift != 1) {
if (i_arr[j].is_pd_normal || i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3) {
normal_arr[i_arr[j].goods_id] = 1;
}
-
+ if (i_arr[j].prom_type==7 && ( !this.data.requestData[i].need_list || (this.data.requestData[i].need_list && this.data.requestData[i].need_list.length==0)) && i_arr[j].act && i_arr[j].act.buy_limit !=0) {
+ let userbuynum = await this.getUserBuyPromNum(i_arr[j].goods_prom_id)
+ console.log('活动次数:' + userbuynum);
+ if (userbuynum >= i_arr[j].act.buy_limit) {
+ // i_arr[j].act.buy_userbuynum=true
+ checkArr7.push(i_arr[j])
+ }
+ }
//map 的key是不会重复,会覆盖,,
var ie = {
goods_id: i_arr[j].goods_id,
@@ -3107,185 +3126,392 @@ Page({
}
}
}
+
+ if (checkArr7.length >0) {
+ let checkStr=[]
+ checkArr7.map(item=>{
+ checkStr.push(item.goods_name)
+ })
+ let str=checkStr.join()
+ wx.hideLoading()
+ wx.showModal({
+ title: '提示',
+ // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`,
+ content: `${str}超出组合购限购次数,将以普通商品购买`,
+ success:res=>{
+ wx.showLoading();
+ if (res.confirm) {
+ console.log('用户点击确定')
+ //排除失效商品结算
+ this.data.invalidList.map(item=>{
+ if(item.selected && item.classType==0){
+ rq.put('/api/weshop/cart/update', {
+ data: {
+ id: item.id,
+ selected: 0,
+ store_id: oo.stoid
+ },
+ success: function (ee) {
+ console.log(ee);
+ }
+ });
+ }
+ })
+ if (ab == 0) {
+ t.my_warnning("未选择商品", 0, th);
+ wx.hideLoading();
+ return false;
+ }
- //排除失效商品结算
- this.data.invalidList.map(item=>{
- if(item.selected && item.classType==0){
- rq.put('/api/weshop/cart/update', {
- data: {
- id: item.id,
- selected: 0,
- store_id: oo.stoid
- },
- success: function (ee) {
- console.log(ee);
- }
- });
- }
- })
-
- if (ab == 0) {
- t.my_warnning("未选择商品", 0, th);
- wx.hideLoading();
- return false;
- }
-
- glist = glist.substring(0, glist.length - 1);
- //--取一下商品的限购 以及活动的限购,redis数量--
- rq.get("/api/weshop/goods/getGoodsListNum", {
- data: {
- goodsidlist: glist,
- store_id: oo.stoid
- },
- async success(ee) {
- console.log(ee);
- 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 obj = map_limit.get(val.goods_id + "");
- if (obj) continue;
-
- var promgoodsbuynum = 0;
- var goodsbuynum = 0;
-
- //--要获得商品,该用户买了多少件,同步应用--
- await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
- data: {
- store_id: oo.stoid,
- user_id: user_id,
- goods_id: val.goods_id,
- prom_type: val.prom_type,
- prom_id: val.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 ie = {
- promgoodsbuynum: promgoodsbuynum,
- goodsbuynum: goodsbuynum
- };
- map_limit.set(val.goods_id + "", ie);
- }
-
- try {
- for (var ind in ddata) {
- var val = ddata[ind];
- var num = map.get(val.goods_id + "");
- if (num <= 0) {
- isok = 0;
- gname = val.goods_name;
- throw "购买数量不能为0";
- return false;
- }
-
- if (val.prom_type == 1 || val.prom_type == 6) {
- if (num > val.store_count) {
- isok = 0;
- gname = val.goods_name;
- throw "超出库存";
- return false;
- }
- }
-
- if (th.data.sales_rules == 1) {
- if (num > val.store_count) {
- isok = 0;
- gname = val.goods_name;
- throw "超出库存";
- return false;
- }
- }
- if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
- isok = 0;
- gname = val.goods_name;
- throw "超出活动库存";
- return false;
- }
- if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
- isok = 0;
- gname = val.goods_name;
- throw "超出活动库存";
- return false;
- }
-
- var buyed = map_limit.get(val.goods_id + "");
- if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
- isok = 0;
- gname = val.goods_name;
- throw "超出商品限购";
- return false;
- }
-
- if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
- isok = 0;
- gname = val.goods_name;
- throw "超出活动限购";
- return false;
+ glist = glist.substring(0, glist.length - 1);
+ //--取一下商品的限购 以及活动的限购,redis数量--
+ rq.get("/api/weshop/goods/getGoodsListNum", {
+ data: {
+ goodsidlist: glist,
+ store_id: oo.stoid
+ },
+ async success(ee) {
+ console.log(ee);
+ 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 obj = map_limit.get(val.goods_id + "");
+ if (obj) continue;
+
+ var promgoodsbuynum = 0;
+ var goodsbuynum = 0;
+
+ //--要获得商品,该用户买了多少件,同步应用--
+ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: oo.stoid,
+ user_id: user_id,
+ goods_id: val.goods_id,
+ prom_type: val.prom_type,
+ prom_id: val.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 ie = {
+ promgoodsbuynum: promgoodsbuynum,
+ goodsbuynum: goodsbuynum
+ };
+ map_limit.set(val.goods_id + "", ie);
}
- 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) {
+ try {
+ for (var ind in ddata) {
+ var val = ddata[ind];
+ var num = map.get(val.goods_id + "");
+ if (num <= 0) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "购买数量不能为0";
+ return false;
+ }
- //如果会员是等级会员,商品有等级价,且不是活动商品
- if (card_field && val[card_field] > 0 &&
- ((val.prom_type == 0 && g_arr[i].prom_type==0) || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || val.prom_type == 7 || val.prom_type == 10 || normal_arr[val.goods_id])) {
- if (g_arr[i].goods_price != val[card_field]) {
+ if (val.prom_type == 1 || val.prom_type == 6) {
+ if (num > val.store_count) {
isok = 0;
gname = val.goods_name;
- throw "商品价格已经变化";
+ throw "超出库存";
+ return false;
}
- } else {
- if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price && val.prom_price > 0) {
+ }
+
+ if (th.data.sales_rules == 1) {
+ if (num > val.store_count) {
isok = 0;
gname = val.goods_name;
- throw "商品价格已经变化";
+ throw "超出库存";
+ return false;
}
}
+ if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动库存";
+ return false;
+ }
+ if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动库存";
+ return false;
+ }
- //-- 数据的更新 --
- var data = {
- id: g_arr[i].id,
- selected: 1,
- store_id: oo.stoid
- };
- //-- 如果有线下取价的时候 --
- if (g_arr[i].is_offline) {
- data.pricing_type = g_arr[i].pricing_type;
- data.offline_price = g_arr[i].offline_price;
+ var buyed = map_limit.get(val.goods_id + "");
+ if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出商品限购";
+ return false;
+ }
+
+ if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动限购";
+ return false;
}
- rq.put("/api/weshop/cart/update", {
- data: data,
- success: function (ee) {
- console.log(ee);
+
+ 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) || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || val.prom_type == 7 || val.prom_type == 10 || normal_arr[val.goods_id])) {
+ if (g_arr[i].goods_price != val[card_field]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "商品价格已经变化";
+ }
+ } 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;
+ throw "商品价格已经变化";
+ }
+ }
+
+ //-- 数据的更新 --
+ var data = {
+ id: g_arr[i].id,
+ selected: 1,
+ store_id: oo.stoid
+ };
+ 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);
+ }
+ });
}
- });
+ }
+
}
+ } catch (e) {
+ err = e;
}
-
+ if (isok == 0) {
+ t.confirmBox(gname + ":" + err);
+ wx.hideLoading();
+ return false;
+ }
+ wx.hideLoading();
+ wx.navigateTo({
+ url: "/pages/cart/cart2/cart2"
+ });
}
- } catch (e) {
- err = e;
}
- if (isok == 0) {
- t.confirmBox(gname + ":" + err);
- wx.hideLoading();
- return false;
- }
- wx.hideLoading();
- wx.navigateTo({
- url: "/pages/cart/cart2/cart2"
- });
+ });
+ } else if (res.cancel) {
+ wx.hideLoading();
+ console.log('用户点击取消')
+ }
+ }
+ })
+ }else{
+ //排除失效商品结算
+ this.data.invalidList.map(item=>{
+ if(item.selected && item.classType==0){
+ rq.put('/api/weshop/cart/update', {
+ data: {
+ id: item.id,
+ selected: 0,
+ store_id: oo.stoid
+ },
+ success: function (ee) {
+ console.log(ee);
}
+ });
}
- });
+ })
+ if (ab == 0) {
+ t.my_warnning("未选择商品", 0, th);
+ wx.hideLoading();
+ return false;
+ }
+
+ glist = glist.substring(0, glist.length - 1);
+ //--取一下商品的限购 以及活动的限购,redis数量--
+ rq.get("/api/weshop/goods/getGoodsListNum", {
+ data: {
+ goodsidlist: glist,
+ store_id: oo.stoid
+ },
+ async success(ee) {
+ console.log(ee);
+ 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 obj = map_limit.get(val.goods_id + "");
+ if (obj) continue;
+
+ var promgoodsbuynum = 0;
+ var goodsbuynum = 0;
+
+ //--要获得商品,该用户买了多少件,同步应用--
+ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
+ data: {
+ store_id: oo.stoid,
+ user_id: user_id,
+ goods_id: val.goods_id,
+ prom_type: val.prom_type,
+ prom_id: val.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 ie = {
+ promgoodsbuynum: promgoodsbuynum,
+ goodsbuynum: goodsbuynum
+ };
+ map_limit.set(val.goods_id + "", ie);
+ }
+
+ try {
+ for (var ind in ddata) {
+ var val = ddata[ind];
+ var num = map.get(val.goods_id + "");
+ if (num <= 0) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "购买数量不能为0";
+ return false;
+ }
+
+ if (val.prom_type == 1 || val.prom_type == 6) {
+ if (num > val.store_count) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出库存";
+ return false;
+ }
+ }
+
+ if (th.data.sales_rules == 1) {
+ if (num > val.store_count) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出库存";
+ return false;
+ }
+ }
+ if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动库存";
+ return false;
+ }
+ if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动库存";
+ return false;
+ }
+
+ var buyed = map_limit.get(val.goods_id + "");
+ if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出商品限购";
+ return false;
+ }
+
+ if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "超出活动限购";
+ return false;
+ }
+
+ 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) || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || val.prom_type == 7 || val.prom_type == 10 || normal_arr[val.goods_id])) {
+ if (g_arr[i].goods_price != val[card_field]) {
+ isok = 0;
+ gname = val.goods_name;
+ throw "商品价格已经变化";
+ }
+ } 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;
+ throw "商品价格已经变化";
+ }
+ }
+
+ //-- 数据的更新 --
+ var data = {
+ id: g_arr[i].id,
+ selected: 1,
+ store_id: oo.stoid
+ };
+
+ //-- 如果有线下取价的时候 --
+ 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);
+ }
+ });
+ }
+ }
+
+ }
+ } catch (e) {
+ err = e;
+ }
+ if (isok == 0) {
+ t.confirmBox(gname + ":" + err);
+ wx.hideLoading();
+ return false;
+ }
+ wx.hideLoading();
+ wx.navigateTo({
+ url: "/pages/cart/cart2/cart2"
+ });
+ }
+ }
+ });
+ }
} else {
//-- 开始服务卡的购物车购买 --
diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js
index 199a212..d498e08 100644
--- a/pages/cart/cart2/cart2.js
+++ b/pages/cart/cart2/cart2.js
@@ -1,5925 +1,6087 @@
var t = getApp(), app = t, a = t.request, e = require("../../../utils/common.js"),
- s = require("../../../utils/util.js"), ut = s, o = require("../../../utils/md5.js"), to = getApp();
+ s = require("../../../utils/util.js"), ut = s, o = require("../../../utils/md5.js"), to = getApp();
var oo = t.globalData.setting, os = oo;
var regeneratorRuntime = require('../../../utils/runtime.js');
var util_pay = require("../../../utils/pay.js");
var zh_calc = require("zh_calculate.js");
var ladder_calc = require("ladder_calculate.js");
-// 防抖函数用定时器
+// 防抖函数用定时器
let timer;
Page({
- data: {
-
- url: t.globalData.setting.url,
- resourceUrl: t.globalData.setting.resourceUrl,
- imgUrl: t.globalData.setting.imghost,
- goods: null,
- order: null,
- orderPrices: null,
- coupons: null,
- coupon: null,
- invoiceToggle: !0,
- payWithUserMoney: !0,
- payWithPoints: !0,
- maxWord: 0,
- enterAddressPage: !1,
- firstEnter: !0,
- //页面获取的参数
- param: null,
- //提交订单的格式
- formData: {
- order_amount: 0,//支付金额
- total_amount: 0,//总价
- all_price: 0,//商品卖的总价
- pay_points: 0,//使用积分
- user_money: 0,//使用余额
- couponCode: "",//使用优惠券(多单就用逗号隔开)
- shipping_price: 0,//物流费用
- },
-
- /*-----------当是购物车结算的时候-------------*/
- cartlist: null,
- old_cartlist: null,
- cartlist_y: null, //购物车原始列表
- js_use_money: 0, //是否使用余额
- is_all_zt: 1, //是否全部都是自提
-
- /*----------------立即购买---------------------*/
- is_b_now: 0, //0是购物车结算 1立即购买
- bn_goods: null, //立即购买时候的调用商品
- bn_use_money: 0,//是否使用余额
- bn_exp_type: 1, //0是物流 1自提
- bn_pick: 0, //选择的门店
- bn_pickname: "", //选择的门店名称
- bn_t_exp_t: 0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流
-
- bn_plus_cut_price: 0, //显示等级卡会优惠多少钱
- /*------------------------*/
- user_addr: null,//物流
- userinfo: null, //获取会员
- /*----------物流选择--------*/
- wu_arr: null,
- index: 0,
- w_sele_index: 0,
-
- //判断页面是返回回来的还是 首次进入的
- isclose: 1,
- //申请提现的金额
- txmon: 0,
- yuer: 0,
- //提交中,不重复提交
- is_summit_ing: 0,
- //--更优惠券抵用有关,立即购买的,如果是购物车,就要把相应的值,写入cartlist数组中--
- ckeck_quan_price: 0,
- check_quan_price_list: '',
- check_quan_ware_list: '',
-
- // 设计一个数组来存放已经选择了的券编号,coupon_no是券号,money是面值,coupon_price是真正优惠的价格,数组的下标是pickid
- //using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"}
- using_quan: {},
- open_quan: 0,
- //选择的券列表
- selected_quan_list: null,
- //选择的券的门店
- selected_quan_pick: null,
- is_close_quan: 0,
- disabled: 0,
- open_express: 0,//控制选择物流名列表 的属性
-
- is_express: 0, //选中物流的属性
- expres_name: "", //点击选定
- isopen: 0, //券的说明
- is_coupon: 1, //选择券的控制属性
- is_shipping_code: "",//插入用户默认地址
- wu_arr_txt: "", //要更新的物流的字段
- sales_rules: 1, //默认是显示线上库存
- isget_by_quan: {}, //是否调用了接口获取包邮券
- get_by_quan_list: null, //立即购买的
- get_by_quan_list_cart: {}, //购物车的
- by_quan_list_cart: null, //点击选择的包邮列表
- //如果是全场包邮了,或者是全场不包邮了,就不要选包邮券
- is_no_by: {},
- is_by: {},
- is_quan_by: {},
- //--购买赠送的商品--
- buy_now_gift_goods: null,
- //--订单优惠--
- order_prom: {},
- //-- 购物车优惠活动 --
- prom_goods_map: {},
- //-- order_prom_list --
- order_prom_list_cart: null,
-
- ispt_goods: 0, //是否平摊至单品,0要平摊 1不平摊
-
- rank_switch: 0, //是不是开同等级卡
- show_card: null, //显示的等级卡
- card_name: '', //显示的卡的名称
- card_cut_price: null,//减价多少钱
-
- show_submit: 0, //提交按钮变正常显示
- is_get_offline: 1,
-
- tabs: ['门店自提', '快递邮寄'],
- currentTabIndex: 1,
-
- in_zhact_gdmap: {}, //不同门店参与同一活动的限购
- hid_inp: 1,
- user_note: "",
- zhhe_act_map: {}, //组合活动的map表
- zuhe_map_good: {}, //组合购的map表
- ladder_map: {}, //阶梯促销的map表
- is_no_past: 1,
- state: 0, //阶梯促销的的立即购买也走购物车流程state=1
- show_duo_gift: 0,
- send_gf: {}, //多赠品的计算
- send_lb: {},
- dis_config:null,
- bn_use_commission:0, //是不是使用佣金
- cart_use_commission:0,
- cart_commission:0,
-
- //订单所有搭配购的
- all_collocation_list:[],
- appoint_pick_keyid:''
-
+ data: {
+
+ url: t.globalData.setting.url,
+ resourceUrl: t.globalData.setting.resourceUrl,
+ imgUrl: t.globalData.setting.imghost,
+ goods: null,
+ order: null,
+ orderPrices: null,
+ coupons: null,
+ coupon: null,
+ invoiceToggle: !0,
+ payWithUserMoney: !0,
+ payWithPoints: !0,
+ maxWord: 0,
+ enterAddressPage: !1,
+ firstEnter: !0,
+ //页面获取的参数
+ param: null,
+ //提交订单的格式
+ formData: {
+ order_amount: 0,//支付金额
+ total_amount: 0,//总价
+ all_price: 0,//商品卖的总价
+ pay_points: 0,//使用积分
+ user_money: 0,//使用余额
+ couponCode: "",//使用优惠券(多单就用逗号隔开)
+ shipping_price: 0,//物流费用
},
- onLoad: function (t) {
- wx.setNavigationBarTitle({ title: "填写订单", })
- var th = this;
- this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, });
- th.data.param = t;
- //清理一下,确保最新的系统配置
- getApp().globalData.config2 = null;
- //清空is_pick_up
- getApp().request.put("/api/weshop/useraddress/updatePickUp", {
- data: { user_id: getApp().globalData.user_id, is_pickup: 0 },
- success: function (s) {
- }
- });
- //阶梯购 或者 组合购的立即购买
- if (t.state) {
- th.data.state = 1;
- }
- getApp().promiseGet("/api/wx/weappSendlist/page", {
- data: {
- store_id: os.stoid,
- typeid: "1001"
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data.pageData.length > 0) {
- var template_id = res.data.data.pageData[0].template_id;
- th.setData({ template_id: template_id });
+ /*-----------当是购物车结算的时候-------------*/
+ cartlist: null,
+ old_cartlist: null,
+ cartlist_y: null, //购物车原始列表
+ js_use_money: 0, //是否使用余额
+ is_all_zt: 1, //是否全部都是自提
+
+ /*----------------立即购买---------------------*/
+ is_b_now: 0, //0是购物车结算 1立即购买
+ bn_goods: null, //立即购买时候的调用商品
+ bn_use_money: 0,//是否使用余额
+ bn_exp_type: 1, //0是物流 1自提
+ bn_pick: 0, //选择的门店
+ bn_pickname: "", //选择的门店名称
+ bn_t_exp_t: 0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流
+
+ bn_plus_cut_price: 0, //显示等级卡会优惠多少钱
+ /*------------------------*/
+ user_addr: null,//物流
+ userinfo: null, //获取会员
+ /*----------物流选择--------*/
+ wu_arr: null,
+ index: 0,
+ w_sele_index: 0,
+
+ //判断页面是返回回来的还是 首次进入的
+ isclose: 1,
+ //申请提现的金额
+ txmon: 0,
+ yuer: 0,
+ //提交中,不重复提交
+ is_summit_ing: 0,
+ //--更优惠券抵用有关,立即购买的,如果是购物车,就要把相应的值,写入cartlist数组中--
+ ckeck_quan_price: 0,
+ check_quan_price_list: '',
+ check_quan_ware_list: '',
+
+ // 设计一个数组来存放已经选择了的券编号,coupon_no是券号,money是面值,coupon_price是真正优惠的价格,数组的下标是pickid
+ //using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"}
+ using_quan: {},
+ open_quan: 0,
+ //选择的券列表
+ selected_quan_list: null,
+ //选择的券的门店
+ selected_quan_pick: null,
+ is_close_quan: 0,
+ disabled: 0,
+ open_express: 0,//控制选择物流名列表 的属性
+
+ is_express: 0, //选中物流的属性
+ expres_name: "", //点击选定
+ isopen: 0, //券的说明
+ is_coupon: 1, //选择券的控制属性
+ is_shipping_code: "",//插入用户默认地址
+ wu_arr_txt: "", //要更新的物流的字段
+ sales_rules: 1, //默认是显示线上库存
+ isget_by_quan: {}, //是否调用了接口获取包邮券
+ get_by_quan_list: null, //立即购买的
+ get_by_quan_list_cart: {}, //购物车的
+ by_quan_list_cart: null, //点击选择的包邮列表
+ //如果是全场包邮了,或者是全场不包邮了,就不要选包邮券
+ is_no_by: {},
+ is_by: {},
+ is_quan_by: {},
+ //--购买赠送的商品--
+ buy_now_gift_goods: null,
+ //--订单优惠--
+ order_prom: {},
+ //-- 购物车优惠活动 --
+ prom_goods_map: {},
+ //-- order_prom_list --
+ order_prom_list_cart: null,
+
+ ispt_goods: 0, //是否平摊至单品,0要平摊 1不平摊
+
+ rank_switch: 0, //是不是开同等级卡
+ show_card: null, //显示的等级卡
+ card_name: '', //显示的卡的名称
+ card_cut_price: null,//减价多少钱
+
+ show_submit: 0, //提交按钮变正常显示
+ is_get_offline: 1,
+
+ tabs: ['门店自提', '快递邮寄'],
+ currentTabIndex: 1,
+
+ in_zhact_gdmap: {}, //不同门店参与同一活动的限购
+ hid_inp: 1,
+ user_note: "",
+ zhhe_act_map: {}, //组合活动的map表
+ zuhe_map_good: {}, //组合购的map表
+ ladder_map: {}, //阶梯促销的map表
+ is_no_past: 1,
+ state: 0, //阶梯促销的的立即购买也走购物车流程state=1
+ show_duo_gift: 0,
+ send_gf: {}, //多赠品的计算
+ send_lb: {},
+ dis_config: null,
+ bn_use_commission: 0, //是不是使用佣金
+ cart_use_commission: 0,
+ cart_commission: 0,
+
+ //订单所有搭配购的
+ all_collocation_list: [],
+ appoint_pick_keyid:''
+ },
+ onLoad: function (t) {
+ wx.setNavigationBarTitle({ title: "填写订单", })
+ var th = this;
+ this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, });
+ th.data.param = t;
+ //清理一下,确保最新的系统配置
+ getApp().globalData.config2 = null;
+ //清空is_pick_up
+ getApp().request.put("/api/weshop/useraddress/updatePickUp", {
+ data: { user_id: getApp().globalData.user_id, is_pickup: 0 },
+ success: function (s) {
+ }
+ });
+
+ //阶梯购 或者 组合购的立即购买
+ if (t.state) {
+ th.data.state = 1;
+ }
+ getApp().promiseGet("/api/wx/weappSendlist/page", {
+ data: {
+ store_id: os.stoid,
+ typeid: "1001"
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data.pageData.length > 0) {
+ var template_id = res.data.data.pageData[0].template_id;
+ th.setData({ template_id: template_id });
+ }
+ })
+
+ //判断是不是佣金抵扣
+ getApp().is_distribut(this);
+
+ },
+ onUnload: function () {
+ this.setData({ isclose: 1 })
+ },
+ onHide: function () {
+ this.setData({
+ isget_by_quan: {},
+ is_no_by: {},
+ is_by: {},
+ send_gf: {},
+ send_lb: {},
+ })
+ },
+
+ //----------子页返回父页触发----------
+ onShow: function () {
+ var th = this;
+ th.data.g_cart_q_time = null;
+
+ if (th.data.isclose == 0) {
+ wx.navigateTo({
+ url: "/pages/index/index/index"
+ })
+
+ } else {
+ this.getuser_addr(function (ie) {
+ console.log("getuser_addr")
+ console.log(ie)
+ //地址切换要把包邮券清空
+ if (!th.data.user_addr || !ie || th.data.user_addr.address_id != ie.address_id) {
+ var using_quan = th.data.using_quan;
+ for (var i in using_quan) {
+ var item = using_quan[i];
+ if (item.isby == 1) {
+ var ob = {}, txt = "using_quan[" + i + "]";
+ ob[txt] = {};
+ th.setData(ob);
}
- })
-
- //判断是不是佣金抵扣
- getApp().is_distribut(this);
-
- },
- onUnload: function () {
- this.setData({ isclose: 1 })
- },
- onHide: function () {
- this.setData({
- isget_by_quan: {},
- is_no_by: {},
- is_by: {},
- send_gf: {},
- send_lb: {},
- })
- },
-
- //----------子页返回父页触发----------
- onShow: function () {
- var th = this;
- th.data.g_cart_q_time = null;
+ }
+ th.data.isget_by_quan = {};
+ }
- if (th.data.isclose == 0) {
- wx.navigateTo({
- url: "/pages/index/index/index"
- })
+ //th.data.prom_goods_map = {};
+ th.data.is_summit_ing = 0;
+ //更换地址回来要重新调用计算价钱的接口
+ if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) {
+ th.setData({ user_addr: ie });
+ if (th.data.is_b_now == 1) {
+ if (th.data.bn_goods) {
+ th.setData({ add_back: 1 });
+ //th.calculatePrice2();
+ }
+ } else {
+ if (th.data.cartlist) {
+ th.setData({ add_back: 1 });
+ //th.calculatePrice();
+ }
+ }
} else {
- this.getuser_addr(function (ie) {
- console.log("getuser_addr")
- console.log(ie)
- //地址切换要把包邮券清空
- if (!th.data.user_addr || !ie || th.data.user_addr.address_id != ie.address_id) {
- var using_quan = th.data.using_quan;
- for (var i in using_quan) {
- var item = using_quan[i];
- if (item.isby == 1) {
- var ob = {}, txt = "using_quan[" + i + "]";
- ob[txt] = {};
- th.setData(ob);
- }
- }
- th.data.isget_by_quan = {};
- }
-
+ th.setData({ user_addr: ie });
+ }
+ });
+ var is_card_back = getApp().globalData.is_card_back;
+ //--更新默认地址--,看一下是不是跳到地址页面,同时也不是购买等级卡返回的,这里很重要,否则会重新更新收货物流公司
+ if (!getApp().globalData.is_cart_old && !is_card_back && !getApp().globalData.plus_buy_back) {
+ this.update_code();
+ } else {
+ getApp().globalData.is_cart_old = 0;
+ getApp().globalData.plus_buy_back = 0;
+ }
+ }
- //th.data.prom_goods_map = {};
- th.data.is_summit_ing = 0;
- //更换地址回来要重新调用计算价钱的接口
- if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) {
- th.setData({ user_addr: ie });
- if (th.data.is_b_now == 1) {
- if (th.data.bn_goods) {
- th.setData({ add_back: 1 });
- //th.calculatePrice2();
- }
- } else {
- if (th.data.cartlist) {
- th.setData({ add_back: 1 });
- //th.calculatePrice();
- }
- }
+ //先获取是否有关闭使用优惠券
+ getApp().getConfig2(function (ee) {
+ var json_d = JSON.parse(ee.switch_list);
+ th.data.json_d = json_d;
+ th.data.ispt_goods = json_d.ispt_goods; //是不是平摊到单品的控制参数赋值
+ var is_default_logistics = json_d.is_default_logistics;
+ var is_same_city = json_d.is_same_city;
+
+ th.setData({
+ is_close_quan: json_d.is_close_quan,
+ sales_rules: ee.sales_rules,
+ rank_switch: json_d.rank_switch,
+ is_default_logistics: is_default_logistics,
+ is_same_city: is_same_city,
+ appoint_pick_keyid: json_d.appoint_pick_keyid
+ });
+
+ var rank_switch = json_d.rank_switch;
+ var max_price = -1;
+ var show_card = null;
+ var name = "";
+ //如果有开等级卡的时候,
+ //因为都是调接口,要返回在计算
+ if (rank_switch == 2) {
+ //-- 获取所有的等级卡, --
+ getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid,
+ {}).then(res => {
+ if (res.data.code == 0) {
+ var plusCard = res.data.data;
+ //-- 循环判断,拿到最贵的那张卡 --
+ for (var ih in plusCard) {
+ if (plusCard[ih].IsStopBuy == true) {
+ continue;
+ }
+ if (max_price < 0) {
+ max_price = plusCard[ih].CardFee;
+ name = 'card' + plusCard[ih]['CorrPrice'];
+ show_card = plusCard[ih];
} else {
- th.setData({ user_addr: ie });
+ if (max_price < plusCard[ih].CardFee) {
+ max_price = plusCard[ih].CardFee;
+ name = 'card' + plusCard[ih]['CorrPrice'];
+ show_card = plusCard[ih];
+ }
}
- });
- var is_card_back = getApp().globalData.is_card_back;
- //--更新默认地址--,看一下是不是跳到地址页面,同时也不是购买等级卡返回的,这里很重要,否则会重新更新收货物流公司
- if (!getApp().globalData.is_cart_old && !is_card_back && !getApp().globalData.plus_buy_back) {
- this.update_code();
- } else {
- getApp().globalData.is_cart_old = 0;
- getApp().globalData.plus_buy_back = 0;
+ }
+
+ if (show_card) {
+ name = name.toLowerCase();
+ th.setData({ card_name: name, show_card: show_card })
+ }
}
+ //-----先获取物流,再获取用户信息,再展示页面-----
+ th.get_wuliu(th.get_info(th.show_page));
+ })
+ } else {
+ //-----先获取物流,再获取用户信息,再展示页面-----
+ th.get_wuliu(th.get_info(th.show_page));
+ }
+
+ }, 1);
+ //值在这里换
+ getApp().globalData.plus_buy_back = 0;
+ },
+
+
+
+
+ //-------------------获取物流---------------
+ get_wuliu(func) {
+ var th = this;
+ to.getwuliu(function (e) {
+ //系统是是否开启了默认的物流
+ if (th.data.is_default_logistics) {
+ //如果第一个不是开启默认,说明要让用户自己选
+ if (!e[0].is_default) {
+ th.setData({ is_default_logistics: 0 });
}
-
- //先获取是否有关闭使用优惠券
- getApp().getConfig2(function (ee) {
- var json_d = JSON.parse(ee.switch_list);
- th.data.json_d = json_d;
- th.data.ispt_goods = json_d.ispt_goods; //是不是平摊到单品的控制参数赋值
- var is_default_logistics = json_d.is_default_logistics;
- var is_same_city = json_d.is_same_city;
-
- th.setData({
- is_close_quan: json_d.is_close_quan,
- sales_rules: ee.sales_rules,
- rank_switch: json_d.rank_switch,
- is_default_logistics: is_default_logistics,
- is_same_city: is_same_city,
- appoint_pick_keyid:json_d.appoint_pick_keyid
- });
-
- var rank_switch = json_d.rank_switch;
- var max_price = -1;
- var show_card = null;
- var name = "";
- //如果有开等级卡的时候,
- //因为都是调接口,要返回在计算
- if (rank_switch == 2) {
- //-- 获取所有的等级卡, --
- getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid,
- {}).then(res => {
- if (res.data.code == 0) {
- var plusCard = res.data.data;
- //-- 循环判断,拿到最贵的那张卡 --
- for (var ih in plusCard) {
- if (plusCard[ih].IsStopBuy == true) {
- continue;
- }
- if (max_price < 0) {
- max_price = plusCard[ih].CardFee;
- name = 'card' + plusCard[ih]['CorrPrice'];
- show_card = plusCard[ih];
- } else {
- if (max_price < plusCard[ih].CardFee) {
- max_price = plusCard[ih].CardFee;
- name = 'card' + plusCard[ih]['CorrPrice'];
- show_card = plusCard[ih];
- }
- }
- }
-
- if (show_card) {
- name = name.toLowerCase();
- th.setData({ card_name: name, show_card: show_card })
- }
- }
- //-----先获取物流,再获取用户信息,再展示页面-----
- th.get_wuliu(th.get_info(th.show_page));
- })
- } else {
- //-----先获取物流,再获取用户信息,再展示页面-----
- th.get_wuliu(th.get_info(th.show_page));
+ }
+ th.setData({ wu_arr: e })
+ typeof func == "function" && func();
+ })
+ },
+ //------获取会员信息-----先获取用户信息,在进行下一步---
+ get_info: function (func) {
+ var user_id = t.globalData.user_id;
+ to.auth.get_u(func);
+ },
+
+ //------获取会员收货地址-----
+ getuser_addr: function (func) {
+ var th = this;
+ a.get("/api/weshop/useraddress/page", {
+ data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600, t: Math.random() },
+ success: function (su) {
+
+ var item = null;
+ if (su.data.code == 0 && su.data.data && su.data.data.pageData) {
+ var user_addr = su.data.data.pageData;
+ var def_item = null;
+ for (var i = 0; i < user_addr.length; i++) {
+ if (user_addr[i]['is_default'] == 1) {
+ def_item = user_addr[i];
}
-
- }, 1);
- //值在这里换
- getApp().globalData.plus_buy_back = 0;
- },
-
- //-------------------获取物流---------------
- get_wuliu(func) {
- var th = this;
- to.getwuliu(function (e) {
- //系统是是否开启了默认的物流
- if (th.data.is_default_logistics) {
- //如果第一个不是开启默认,说明要让用户自己选
- if (!e[0].is_default) {
- th.setData({ is_default_logistics: 0 });
- }
+ if (user_addr[i]['is_pickup'] == 1) {
+ item = user_addr[i];
}
- th.setData({ wu_arr: e })
- typeof func == "function" && func();
- })
- },
- //------获取会员信息-----先获取用户信息,在进行下一步---
- get_info: function (func) {
- var user_id = t.globalData.user_id;
- to.auth.get_u(func);
- },
-
- //------获取会员收货地址-----
- getuser_addr: function (func) {
- var th = this;
- a.get("/api/weshop/useraddress/page", {
- data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600, t: Math.random() },
- success: function (su) {
-
- var item = null;
- if (su.data.code == 0 && su.data.data && su.data.data.pageData) {
- var user_addr = su.data.data.pageData;
- var def_item = null;
- for (var i = 0; i < user_addr.length; i++) {
- if (user_addr[i]['is_default'] == 1) {
- def_item = user_addr[i];
- }
- if (user_addr[i]['is_pickup'] == 1) {
- item = user_addr[i];
- }
- }
-
- if (item == null) item = def_item;
- if (item == null) item = user_addr[0];
- }
+ }
- if (item == undefined) item = null;
- if (!item) th.setData({ user_addr: null }); //地址为空的时候,要清空,因为返回的时候,有缓存
+ if (item == null) item = def_item;
+ if (item == null) item = user_addr[0];
+ }
- func(item);
+ if (item == undefined) item = null;
+ if (!item) th.setData({ user_addr: null }); //地址为空的时候,要清空,因为返回的时候,有缓存
+
+ func(item);
+ }
+ });
+ },
+
+ //----------------展示页面,是再获取用户信息之后--------------
+ show_page: function () {
+ var th = this, ta = this.data.param;
+
+ //会员的信息,要获取最新
+ var user = getApp().globalData.userInfo;
+ getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, {
+ data: { r: Math.random() },
+ success: function (e) {
+ getApp().globalData.userInfo = e.data.data;
+ th.setData({ userinfo: e.data.data });
+
+ //选获取地址
+ th.getuser_addr(function (addr) {
+ th.setData({ user_addr: addr });
+ //--------------------------立即购买------------------
+ if (ta.is_bnow == 1) {
+ //读取门店
+ //to.get_allsto(function (e) {
+ //th.setData({ allsto: e });
+ //获取立即购买的商品信息
+ th.get_buy_goods(ta.goods_id);
+ //});
+ } else {
+ //------------------------购物车结算----------------------
+ //读取门店
+ //to.get_allsto(function (e) {
+ //th.setData({ allsto: e });
+ //-------获取购物车已经选择的商品--------
+ if (!th.data.old_cartlist) {
+ th.data.prom_goods_map = {};
+ th.get_cart();
+ }
+ else {
+ th.calculatePrice();
}
+ //})
+ }
});
- },
-
- //----------------展示页面,是再获取用户信息之后--------------
- show_page: function () {
- var th = this, ta = this.data.param;
-
- //会员的信息,要获取最新
- var user = getApp().globalData.userInfo;
- getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, {
- data: { r: Math.random() },
- success: function (e) {
- getApp().globalData.userInfo = e.data.data;
- th.setData({ userinfo: e.data.data });
-
- //选获取地址
- th.getuser_addr(function (addr) {
- th.setData({ user_addr: addr });
- //--------------------------立即购买------------------
- if (ta.is_bnow == 1) {
- //读取门店
- //to.get_allsto(function (e) {
- //th.setData({ allsto: e });
- //获取立即购买的商品信息
- th.get_buy_goods(ta.goods_id);
- //});
- } else {
- //------------------------购物车结算----------------------
- //读取门店
- //to.get_allsto(function (e) {
- //th.setData({ allsto: e });
- //-------获取购物车已经选择的商品--------
- if(!th.data.old_cartlist){
- th.data.prom_goods_map = {};
- th.get_cart();
- }
- else{
- th.calculatePrice();
- }
- //})
- }
- });
-
- //获取提现金额
- getApp().request.get("/api/weshop/withdrawals/summoney", {
- data: { user_id: to.globalData.user_id, store_id: oo.stoid, status: 0 },
- success: function (su) {
- if (su.data.code == 0) {
- var yuer = parseFloat(th.data.userinfo.user_money -
- (th.data.userinfo.frozen_money > 0 ? th.data.userinfo.frozen_money : 0) - su.data.data.summoney).toFixed(2);
- th.setData({ txmon: su.data.data.summoney, yuer: yuer });
- }
- }
- });
- },
+ //获取提现金额
+ getApp().request.get("/api/weshop/withdrawals/summoney", {
+ data: { user_id: to.globalData.user_id, store_id: oo.stoid, status: 0 },
+ success: function (su) {
+ if (su.data.code == 0) {
+ var yuer = parseFloat(th.data.userinfo.user_money -
+ (th.data.userinfo.frozen_money > 0 ? th.data.userinfo.frozen_money : 0) - su.data.data.summoney).toFixed(2);
+ th.setData({ txmon: su.data.data.summoney, yuer: yuer });
+ }
+ }
});
- },
-
- //-- 获取搭配购商品 --
- async set_collection(gd,arr,index){
- var th=this;
- var user_id=getApp().globalData.user_id;
- var collocation_list=[];
- var pick=null;
- var distr_t=0;
-
- //如果是购物车的时候,
- if(arr) {
- 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,{
-
- }).then(res1 => {
- if(res1.data.code==0){
- get_gd=res1.data.data;
- }
- })
- distr_t=pick.distr_type || get_gd.distr_type;
-
- }else{
- var gg=to.get_b_now();
- //---获取门店---
- await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + gg.pick_id, {})
- .then(res => {
- pick = res.data.data;
- });
- distr_t=gd.distr_type || pick.distr_type;
+ },
+ });
+
+ },
+
+ //-- 获取搭配购商品 --
+ async set_collection(gd, arr, index) {
+ var th = this;
+ var user_id = getApp().globalData.user_id;
+ var collocation_list = [];
+ var pick = null;
+ var distr_t = 0;
+
+ //如果是购物车的时候,
+ if (arr) {
+ 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, {
+
+ }).then(res1 => {
+ if (res1.data.code == 0) {
+ get_gd = res1.data.data;
}
+ })
+ distr_t = pick.distr_type || get_gd.distr_type;
+
+ } else {
+ var gg = to.get_b_now();
+ //---获取门店---
+ await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + gg.pick_id, {})
+ .then(res => {
+ pick = res.data.data;
+ });
+ distr_t = gd.distr_type || pick.distr_type;
+ }
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/"
- + os.stoid + "/" + gd.goods_id + "/0/"+user_id, {
- }).then(res => {
- if(res.data.code==0 && res.data.data){
- var r_data = res.data.data;
- if (r_data.collocationList) {
- collocation_list=r_data.collocationList;
- }
- }
- })
-
- if(!collocation_list) return null;
-
- var new_arr=[];
- for (let i = 0; i {
+ if (res.data.code == 0 && res.data.data) {
+ var r_data = res.data.data;
+ if (r_data.collocationList) {
+ collocation_list = r_data.collocationList;
}
+ }
+ })
+
+ if (!collocation_list) return null;
+
+ var new_arr = [];
+ for (let i = 0; i < collocation_list.length; i++) {
+ var item0 = collocation_list[i];
+ //判断物流配送一样的
+ if (item0.distr_type == 0 || item0.distr_type == distr_t) {
+ new_arr.push(item0);
+ }
+ }
- if(!new_arr.length) return null;
- if(arr) {
- arr[index].collocationList=new_arr;
+ if (!new_arr.length) return null;
+ if (arr) {
+ arr[index].collocationList = new_arr;
+ }
+ else th.setData({
+ all_collocation_list: new_arr
+ })
+
+ },
+
+ //-----真的获取购物车,入口--------
+ get_cart: function () {
+ var th = this, app = getApp();
+ var state = 0;
+ if (th.data.state) state = 1;
+ a.get("/api/weshop/cart/list", {
+ data: {
+ user_id: to.globalData.user_id, selected: 1, state: state,
+ store_id: oo.stoid, pageSize: 600
+ },
+ success: async function (su) {
+ //按门店分类的数组
+ var arr = new Array();
+ var carr = su.data.data.pageData;
+
+ th.setData({ is_all_zt: 1 });
+
+ //-- 找出所有的门店 --
+ var pick_id_arr = []; var len = carr.length;
+ for (var i = 0; i < len; i++) {
+ 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(',')
}
- else th.setData({
- all_collocation_list:new_arr
+ //-- 获取门店的列表 --
+ 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 = carr; //存储原始购物车列表
+ th.data.in_zhact_gdmap = {};
- //-----真的获取购物车,入口--------
- get_cart: function () {
- var th = this, app = getApp();
- var state = 0;
- if (th.data.state) state = 1;
- a.get("/api/weshop/cart/list", {
+ //---是不是购买等级卡成功的返回---等级卡显示的判断---
+ var is_card_back = getApp().globalData.is_card_back;
+
+ for (var i = 0; i < carr.length; i++) {
+ var item1 = carr[i];
+ //把已经购买了多少见的内容填入
+
+ var goodsbuynum = 0, promgoodsbuynum = 0;
+ //--要获得商品,该用户买了多少件,同步应用--
+ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
data: {
- user_id: to.globalData.user_id, selected: 1, state: state,
- store_id: oo.stoid, pageSize: 600
+ 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
},
- success: async function (su) {
- //按门店分类的数组
- var arr = new Array();
- var carr = su.data.data.pageData;
-
- th.setData({ is_all_zt: 1 });
-
- //-- 找出所有的门店 --
- var pick_id_arr=[]; var len=carr.length;
- for(var i=0;i{
- if(ut.ajax_ok(res)){
- th.data.allsto=res.data.data.pageData;
+ }).then(res => {
+ var buy_num_data = res.data.data;
+ if (buy_num_data.promgoodsbuynum) {
+ promgoodsbuynum = buy_num_data.promgoodsbuynum;
+ }
+ goodsbuynum = buy_num_data.goodsbuynum;
+ })
+ //如果有购买活动
+ item1.promgoodsbuynum = promgoodsbuynum;
+
+ //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠
+ if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) {
+ // th.check_is_youhui(item1.goods_id, item1.pick_id);
+ await th.add_prom_goods_map(item1);
+ }
+
+ //要把组合购的东西拿出来算一下
+ if (item1.prom_type == 7) {
+ if (!th.data.zuhe_map_good[item1.prom_id]) {
+ var isok = 1;
+ var is_flag = 1;
+ //如果有组合购
+ var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id;
+ await getApp().request.promiseGet(url, {}).then(res => {
+ if (res.data.code == 0 && res.data.data) {
+ //如果活动已经结束
+ if (res.data.data.is_end == 1) {
+ isok = 0;
}
- })
-
- th.data.cartlist_y = carr; //存储原始购物车列表
- th.data.in_zhact_gdmap = {};
-
- //---是不是购买等级卡成功的返回---等级卡显示的判断---
- var is_card_back = getApp().globalData.is_card_back;
-
- for (var i = 0; i < carr.length; i++) {
- var item1 = carr[i];
- //把已经购买了多少见的内容填入
-
- 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
- },
- }).then(res => {
- var buy_num_data = res.data.data;
- if (buy_num_data.promgoodsbuynum) {
- promgoodsbuynum = buy_num_data.promgoodsbuynum;
- }
- goodsbuynum = buy_num_data.goodsbuynum;
- })
- //如果有购买活动
- item1.promgoodsbuynum = promgoodsbuynum;
-
- //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠
- if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) {
- // th.check_is_youhui(item1.goods_id, item1.pick_id);
- await th.add_prom_goods_map(item1);
- }
-
- //要把组合购的东西拿出来算一下
- if (item1.prom_type == 7) {
- if (!th.data.zuhe_map_good[item1.prom_id]) {
- var isok = 1;
- var is_flag = 1;
- //如果有组合购
- var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id;
- await getApp().request.promiseGet(url, {}).then(res => {
- if (res.data.code == 0 && res.data.data) {
- //如果活动已经结束
- if (res.data.data.is_end == 1) {
- isok = 0;
- }
- if (ut.gettimestamp() > res.data.data.end_time) {
- isok = 0;
- }
- item1.act = res.data.data;
- th.data.zhhe_act_map[item1.prom_id] = res.data.data;
- } else {
- //未找到商品的活动
- is_flag = 0;
- }
- })
- if (!isok) {
- getApp().my_warnning("组合购的活动已经过期", 0, th);
- return false;
- }
- var url1 = "/api/weshop/prom/zhbuyGoods/page";
- var req_data = {
- page: 1,
- pageSize: 2000,
- store_id: os.stoid,
- zh_id: item1.prom_id,
- }
- await getApp().request.promiseGet(url1, {
- data: req_data
- }).then(res => {
- if (ut.ajax_ok(res)) {
- var gdlist = res.data.data.pageData;
- gdlist.forEach(i => {
- if (item1.goods_id == i.goods_id && !is_flag) {
- item1.prom_type = 0;
- item1.prom_type1 = 0;
- item1.prom_id = 0;
- item1.prom_id1 = 0
- }
- })
- th.data.zuhe_map_good[item1.prom_id] = gdlist;
- }
- })
- }
- else {
- item1.act = th.data.zhhe_act_map[item1.prom_id];
- }
- }
- if (item1.prom_type == 10) {
- if (!th.data.ladder_map[item1.prom_id]) {
- //如果有预售
- var isok = 1;
- var is_flag = 1;
- var act = null;
- var url = "/api/weshop/prom/ladderForm/get/" + os.stoid + "/" + item1.prom_id;
- await getApp().request.promiseGet(url, {}).then(res => {
- console.log(res, 1000);
- if (res.data.code == 0 && res.data.data) {
- if (res.data.data.isuse != 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;
- }
- act = res.data.data;
-
- } else {
- //未找到商品的活动
- is_flag = 0;
- }
- })
- if (!isok) {
- var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
- getApp().request.delete(url, {});
- th.data.ladder_map[item1.prom_id] = -1;
- continue;
- }
- th.data.ladder_map[item1.prom_id] = act;
-
- //-- 获取阶梯规则 --
- var url1 = "/api/weshop/prom/ladderList/list";
- var req_data = {
- store_id: os.stoid,
- form_id: item1.prom_id,
- }
- await getApp().request.promiseGet(url1, {
- data: req_data
- }).then(rs1 => {
- if (rs1.data.code == 0 && rs1.data.data) {
- var gdlist = rs1.data.data;
- th.data.ladder_map[item1.prom_id].ladder_list = gdlist;
- }
- })
- }
- }
- //-- 判断一下,获取搭配购的消息 --
- if((item1.prom_type==0 || item1.prom_type==5) && (!carr[i].collocationList || !carr[i].collocationList.length)) {
-
- await th.set_collection(item1,carr,i);
- }
+ if (ut.gettimestamp() > res.data.data.end_time) {
+ isok = 0;
+ }
+ item1.act = res.data.data;
+ th.data.zhhe_act_map[item1.prom_id] = res.data.data;
+ } else {
+ //未找到商品的活动
+ is_flag = 0;
}
-
- //在分组的时候,就不要再调用接口,await
- for (var i = 0; i < carr.length; i++) {
- var item = carr[i];
- //-- 如果是等级会员注册返回 --
- if (is_card_back) {
- th.data.card_name = th.data.userinfo.card_field;
- //如果是秒杀的返回,就要把活动弄回0
- if (item['prom_type'] == 1) {
- item['prom_type'] = 0;
- item['prom_id'] = 0;
- }
- // 拼团,搭配购不计算,赠品也不计算
- if (item['prom_type'] != 5 && item['prom_type'] != 6 && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) {
- item.goods_price = item[th.data.card_name];
- carr[i].goods_price = item[th.data.card_name];
-
- }
- } else {
- // 拼团,搭配购不计算,赠品也不计算,同时会员还未购买等级会员
- if (item[th.data.card_name] > 0 && item['prom_type'] != 5 && item['prom_type'] != 6 && !th.data.userinfo.card_field
- && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) {
- item.cut_price1 = item.goods_price - item[th.data.card_name];
- carr[i].cut_price1 = (item.goods_price - item[th.data.card_name]) * item.goods_num;
- }
-
+ })
+ if (!isok) {
+ getApp().my_warnning("组合购的活动已经过期", 0, th);
+ return false;
+ }
+ var url1 = "/api/weshop/prom/zhbuyGoods/page";
+ var req_data = {
+ page: 1,
+ pageSize: 2000,
+ store_id: os.stoid,
+ zh_id: item1.prom_id,
+ }
+ await getApp().request.promiseGet(url1, {
+ data: req_data
+ }).then(res => {
+ if (ut.ajax_ok(res)) {
+ var gdlist = res.data.data.pageData;
+ gdlist.forEach(i => {
+ if (item1.goods_id == i.goods_id && !is_flag) {
+ item1.prom_type = 0;
+ item1.prom_type1 = 0;
+ item1.prom_id = 0;
+ item1.prom_id1 = 0
}
+ })
+ th.data.zuhe_map_good[item1.prom_id] = gdlist;
+ }
+ })
+ }
+ else {
+ item1.act = th.data.zhhe_act_map[item1.prom_id];
+ }
+ }
+ if (item1.prom_type == 10) {
+ if (!th.data.ladder_map[item1.prom_id]) {
+ //如果有预售
+ var isok = 1;
+ var is_flag = 1;
+ var act = null;
+ var url = "/api/weshop/prom/ladderForm/get/" + os.stoid + "/" + item1.prom_id;
+ await getApp().request.promiseGet(url, {}).then(res => {
+ console.log(res, 1000);
+ if (res.data.code == 0 && res.data.data) {
+ if (res.data.data.isuse != 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;
+ }
+ act = res.data.data;
- item.original_img = oo.imghost + item.original_img;
-
- var car_item = item;
- /*----接口要弄出来的,先顶着-----*/
- var pcid = car_item.pick_id;
- var find = 0;
- //----如果有就加进去,没有就新增一个----
- //-----------循环查找门店-------------
- if (arr.length > 0) {
- for (var j = 0; j < arr.length; j++) {
- 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;
- }
- var e_t = 0
- switch (arr[j].distr_t) {
- case 0:
- e_t = 1;
- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0;
- break;
- case 1:
- e_t = 1;
- break;
- case 2:
- e_t = 0;
- break;
- }
- 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 });
- }
-
- //-- 把等级卡会优惠多少钱装进去 --
- if (car_item.cut_price1) arr[j].card_cut_price += car_item.cut_price1;
-
- arr[j].goods.push(car_item);
- if(car_item.collocationList){
-
- if(!arr[j].collocationList) arr[j].collocationList=cart_item.collocationList;
- else{
- var arr_new=[...arr[j].collocationList,...cart_item.collocationList];
- arr[j].collocationList=arr_new;
- }
- }
-
-
-
- find = 1;
- break;
- }
- }
- }
- //------如果没有找到-----
- 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;
- }
- }
- var e_t = 0, dis_t = 0;//物流方式,配送方式
- if (item.distr_type == 0) {
- dis_t = sto.distr_type;
- } else {
- dis_t = item.distr_type;
- }
- switch (dis_t) {
- case 0:
- e_t = 1;
- //-- 系统后台有设置要默认的 --
- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0;
- break;
- case 1:
- e_t = 1;
- break;
- case 2:
- e_t = 0;
- break;
- }
- //如果是物流的话,全部自提的控制要弄成0
- if (e_t == 0) th.setData({ is_all_zt: 0 });
- //else th.setData({ is_all_zt: 1 });
-
- var narr = new Array();
- narr.push(car_item);
-
- //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号,计算默认的物流,不管是不是自提都算一下-----------------
- var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- if (def_exp_code) {
- for (var k = 0; k < th.data.wu_arr.length; k++) {
- var item = th.data.wu_arr[k];
- if (def_exp_code == item.code) {
- m_wind = k;
- }
- }
- }
-
-
- var ie = {
- pickup_id: pcid,
- pname: pikname,
- goods: narr,
- wind: m_wind,
- distr_t: dis_t,
- card_cut_price: 0,
- exp_type: e_t,
- goods_price: 0,
- shipping_price: 0,
- user_money: 0,
- total_amount: 0,
- order_amount: 0,
- user_note: "",
- sto:sto
- };
-
- //-- 把等级卡会优惠多少钱装进去 --
- if (car_item.cut_price1) ie.card_cut_price += car_item.cut_price1;
-
- if(car_item.collocationList) {
-
- ie.collocationList = car_item.collocationList;
- }
-
-
- arr.push(ie);
- }
+ } else {
+ //未找到商品的活动
+ is_flag = 0;
}
- //-- 如果是回退回来的情况 --
- if (th.data.cartlist && th.data.cartlist.length > 0) {
- for (var kj in th.data.cartlist) {
- for (var ih in arr) {
- var ie = arr[ih];
- if (ie.pickup_id == th.data.cartlist[kj].pickup_id) {
- ie.exp_type = parseInt(th.data.cartlist[kj].exp_type);
- ie.wind = parseInt(th.data.cartlist[kj].wind);
-
- //-- 是不是全部自提清空 --
- if (ie.exp_type == 0 || ie.exp_type == 2) th.setData({ is_all_zt: 0 });
- break;
- }
- }
- }
+ })
+ if (!isok) {
+ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
+ getApp().request.delete(url, {});
+ th.data.ladder_map[item1.prom_id] = -1;
+ continue;
+ }
+ th.data.ladder_map[item1.prom_id] = act;
+
+ //-- 获取阶梯规则 --
+ var url1 = "/api/weshop/prom/ladderList/list";
+ var req_data = {
+ store_id: os.stoid,
+ form_id: item1.prom_id,
+ }
+ await getApp().request.promiseGet(url1, {
+ data: req_data
+ }).then(rs1 => {
+ if (rs1.data.code == 0 && rs1.data.data) {
+ var gdlist = rs1.data.data;
+ th.data.ladder_map[item1.prom_id].ladder_list = gdlist;
}
+ })
+ }
+ }
+ //-- 判断一下,获取搭配购的消息 --
+ if ((item1.prom_type == 0 || item1.prom_type == 5) && (!carr[i].collocationList || !carr[i].collocationList.length)) {
- var cart_commission=0;
- //-- 循环计算一下线下取价 --
- for (var k = 0; k < arr.length; k++) {
- var c_item = arr[k];
- var item = arr[k].goods;
- var offline_price = 0;
- var offline_num = 0;
- //计算佣金的商品
- var commission_gds=[];
- for (var c = 0; c < item.length; c++) {
-
- if(!item[c].is_gift){
- var hr={
- goods_id:item[c].goods_id,
- goods_num:item[c].goods_num,
- prom_type:item[c].prom_type,
- prom_id:item[c].prom_id,
- }
- commission_gds.push(hr);
- }
- if (th.data.sales_rules != 2) {
- item[c].offline_price = 0;
- }
- //-- 如果这个商品是线下取价的时候 --
- if (item[c].offline_price > 0 && item[c].prom_type != 7) {
- offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num;
- offline_num += item[c].goods_num;
- }
- }
- if (offline_price > 0) {
- c_item.offline_price = offline_price;
- c_item.offline_num = offline_num;
- c_item.is_offline = 1;
- }
+ await th.set_collection(item1, carr, i);
+ }
+ }
- //获取购物车的佣金,此处要优化调用接口,获取佣金
- var req_d = {
- user_id:getApp().globalData.user_id,goods_ids:commission_gds,store_id: os.stoid
- }
- var back_data=null;
- await getApp().request.promisePost("/api/weshop/order/getrebateSum", {
- is_json: 1, data: req_d
- }).then(rs => {
- if (rs.data.code == 0) back_data =rs.data.data;
- });
+ //在分组的时候,就不要再调用接口,await
+ for (var i = 0; i < carr.length; i++) {
+ var item = carr[i];
+ //-- 如果是等级会员注册返回 --
+ if (is_card_back) {
+ th.data.card_name = th.data.userinfo.card_field;
+ //如果是秒杀的返回,就要把活动弄回0
+ if (item['prom_type'] == 1) {
+ item['prom_type'] = 0;
+ item['prom_id'] = 0;
+ }
+ // 拼团,搭配购不计算,赠品也不计算
+ if (item['prom_type'] != 5 && item['prom_type'] != 6 && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) {
+ item.goods_price = item[th.data.card_name];
+ carr[i].goods_price = item[th.data.card_name];
- if(back_data && parseFloat(back_data)) {
- c_item.can_usecommise = parseFloat(back_data);
- cart_commission += c_item.can_usecommise;
- }
+ }
+ } else {
+ // 拼团,搭配购不计算,赠品也不计算,同时会员还未购买等级会员
+ if (item[th.data.card_name] > 0 && item['prom_type'] != 5 && item['prom_type'] != 6 && !th.data.userinfo.card_field
+ && !item.is_gift && !item['is_collocation'] && item.goods_price > item[th.data.card_name]) {
+ item.cut_price1 = item.goods_price - item[th.data.card_name];
+ carr[i].cut_price1 = (item.goods_price - item[th.data.card_name]) * item.goods_num;
+ }
+ }
+
+ item.original_img = oo.imghost + item.original_img;
+
+ var car_item = item;
+ /*----接口要弄出来的,先顶着-----*/
+ var pcid = car_item.pick_id;
+ var find = 0;
+ //----如果有就加进去,没有就新增一个----
+ //-----------循环查找门店-------------
+ if (arr.length > 0) {
+ for (var j = 0; j < arr.length; j++) {
+ 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;
+ }
+ var e_t = 0
+ switch (arr[j].distr_t) {
+ case 0:
+ e_t = 1;
+ if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0;
+ break;
+ case 1:
+ e_t = 1;
+ break;
+ case 2:
+ e_t = 0;
+ break;
+ }
+ 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 });
}
- if(cart_commission){
- th.setData({cart_commission});
- }
+ //-- 把等级卡会优惠多少钱装进去 --
+ if (car_item.cut_price1) arr[j].card_cut_price += car_item.cut_price1;
- //每一个门店内的组合购要进行拆分,
- //还得把组合商品的多余商品的线下价格算一算
- for (let var1 in arr) {
- var u_item = arr[var1];
- //把组合购进行分组
- var obj = zh_calc.find_split(u_item);
- if (!obj) continue;
- //存储不同活动的商品列表
- u_item.zh_prom_goods = {};
- for (let var1 in obj) {
- var h_item = obj[var1];
- var gdlist = th.data.zuhe_map_good[h_item.prom_id];
- //获取活动需要的商品列表
- u_item.zh_prom_goods[h_item.prom_id] = { gdlist: gdlist, act: h_item.act };
- }
- zh_calc.fir_set_arr(u_item, th);
- }
+ arr[j].goods.push(car_item);
+ if (car_item.collocationList) {
- //每一个门店内的阶梯促销要进行拆分,
- //还得把阶梯促销商品的多余商品的线下价格算一算
- for (let var1 in arr) {
- //把阶梯促销进行分组
- var obj = ladder_calc.find_split(u_item);
- if (!obj) continue;
- //存储不同阶梯促销活动的商品列表
- u_item.ladder_map = {};
- for (let var1 in obj) {
- var h_item = obj[var1];
- var act = th.data.ladder_map[h_item.prom_id];
- //获取活动需要的商品列表
- u_item.ladder_map[h_item.prom_id] = act;
- }
- ladder_calc.fir_set_arr(u_item, th);
+ if (!arr[j].collocationList) arr[j].collocationList = cart_item.collocationList;
+ else {
+ var arr_new = [...arr[j].collocationList, ...cart_item.collocationList];
+ arr[j].collocationList = arr_new;
+ }
}
- //----- 判断每一个商品的配送方式,和门店的配送方式 -------
- for(var ik=0;ik0
- })
- if(!fd || fd.length==0){
- arr[ik].show_same_city=1;
- }
+ find = 1;
+ break;
+ }
+ }
+ }
+ //------如果没有找到-----
+ 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;
+ }
+ }
+ var e_t = 0, dis_t = 0;//物流方式,配送方式
+ if (item.distr_type == 0) {
+ dis_t = sto.distr_type;
+ } else {
+ dis_t = item.distr_type;
+ }
+ switch (dis_t) {
+ case 0:
+ e_t = 1;
+ //-- 系统后台有设置要默认的 --
+ if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0;
+ break;
+ case 1:
+ e_t = 1;
+ break;
+ case 2:
+ e_t = 0;
+ break;
+ }
+ //如果是物流的话,全部自提的控制要弄成0
+ if (e_t == 0) th.setData({ is_all_zt: 0 });
+ //else th.setData({ is_all_zt: 1 });
+
+ var narr = new Array();
+ narr.push(car_item);
+
+ //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号,计算默认的物流,不管是不是自提都算一下-----------------
+ var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
+ if (def_exp_code) {
+ for (var k = 0; k < th.data.wu_arr.length; k++) {
+ var item = th.data.wu_arr[k];
+ if (def_exp_code == item.code) {
+ m_wind = k;
}
+ }
+ }
- //深拷贝
- th.data.old_cartlist = JSON.parse(JSON.stringify(arr));
- th.setData({
- cartlist: arr,
- });
- //--- 获取一下看有没有优惠券 ----
- setTimeout(function () {
- var frozenQuan = null;
- var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
- app.request.promiseGet(url0, { 1: 1 }).then(res => {
- if (res.data.code == 0) {
- frozenQuan = res.data.data;
- th.data.frozenQuan = frozenQuan;
- }
- th.calculatePrice();
- th.get_cart_quan();
- })
+ var ie = {
+ pickup_id: pcid,
+ pname: pikname,
+ goods: narr,
+ wind: m_wind,
+ distr_t: dis_t,
+ card_cut_price: 0,
+ exp_type: e_t,
+ goods_price: 0,
+ shipping_price: 0,
+ user_money: 0,
+ total_amount: 0,
+ order_amount: 0,
+ user_note: "",
+ sto: sto
+ };
+
+ //-- 把等级卡会优惠多少钱装进去 --
+ if (car_item.cut_price1) ie.card_cut_price += car_item.cut_price1;
- }, 500)
+ if (car_item.collocationList) {
+ ie.collocationList = car_item.collocationList;
}
- });
- },
- //-----获取立即购买的商品信息,入口----
- get_buy_goods: function (e) {
- var th = this;
- var gg = to.get_b_now();
- //--------如果goods_id一样,就是要立即购买-----
- if (e == gg.goods_id) {
- a.get("/api/weshop/goods/get/" + oo.stoid + "/" + e, {
- success: async function (t) {
- var gd = t.data.data;
- if (!gd) return false;
-
- //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 --
- if(gd.is_same_city && th.data.is_same_city && gd.whsle_id<=0){
-
- await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+gg.pick_id, {}).then(res=>{
- if(res.data.code==0){
- var pk=res.data.data;
- if(pk && pk.is_same_city){
- th.setData({show_same_city:1})
- }
- }
-
- })
- }
+ arr.push(ie);
+ }
+ }
+ //-- 如果是回退回来的情况 --
+ if (th.data.cartlist && th.data.cartlist.length > 0) {
+ for (var kj in th.data.cartlist) {
+ for (var ih in arr) {
+ var ie = arr[ih];
+ if (ie.pickup_id == th.data.cartlist[kj].pickup_id) {
+ ie.exp_type = parseInt(th.data.cartlist[kj].exp_type);
+ ie.wind = parseInt(th.data.cartlist[kj].wind);
+
+ //-- 是不是全部自提清空 --
+ if (ie.exp_type == 0 || ie.exp_type == 2) th.setData({ is_all_zt: 0 });
+ break;
+ }
+ }
+ }
+ }
- t.data.data.original_img = oo.imghost + t.data.data.original_img;
- t.data.data['buynum'] = gg.goods_num;
- var distr_t = 0, et = 0
+ var cart_commission = 0;
+ //-- 循环计算一下线下取价 --
+ for (var k = 0; k < arr.length; k++) {
+ var c_item = arr[k];
+ var item = arr[k].goods;
+ var offline_price = 0;
+ var offline_num = 0;
+ //计算佣金的商品
+ var commission_gds = [];
+ for (var c = 0; c < item.length; c++) {
+
+ if (!item[c].is_gift) {
+ var hr = {
+ goods_id: item[c].goods_id,
+ goods_num: item[c].goods_num,
+ prom_type: item[c].prom_type,
+ prom_id: item[c].prom_id,
+ }
+ commission_gds.push(hr);
+ }
+ if (th.data.sales_rules != 2) {
+ item[c].offline_price = 0;
+ }
+ //-- 如果这个商品是线下取价的时候 --
+ if (item[c].offline_price > 0 && item[c].prom_type != 7) {
+ offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num;
+ offline_num += item[c].goods_num;
+ }
+ }
+ if (offline_price > 0) {
+ c_item.offline_price = offline_price;
+ c_item.offline_num = offline_num;
+ c_item.is_offline = 1;
+ }
+
+ //获取购物车的佣金,此处要优化调用接口,获取佣金
+ var req_d = {
+ user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid
+ }
+ var back_data = null;
+ await getApp().request.promisePost("/api/weshop/order/getrebateSum", {
+ is_json: 1, data: req_d
+ }).then(rs => {
+ if (rs.data.code == 0) back_data = rs.data.data;
+ });
- if(t.data.data.is_minishop==1 && getApp().is_sp_hao()){
+ if (back_data && parseFloat(back_data)) {
+ c_item.can_usecommise = parseFloat(back_data);
+ cart_commission += c_item.can_usecommise;
+ }
- if(t.data.data.distr_type==1 || gg.pick_dis==1) {
- wx.showToast({
- title: "视频号仅支持物流",
- icon: 'none',
- duration: 2000
- })
+ }
- setTimeout(function(){
- wx.navigateBack({delta: 1})
- },1000)
+ if (cart_commission) {
+ th.setData({ cart_commission });
+ }
- return false
- }
+ //每一个门店内的组合购要进行拆分,
+ //还得把组合商品的多余商品的线下价格算一算
+ for (let var1 in arr) {
+ var u_item = arr[var1];
+ //把组合购进行分组
+ var obj = zh_calc.find_split(u_item);
+ if (!obj) continue;
+ //存储不同活动的商品列表
+ u_item.zh_prom_goods = {};
+ for (let var1 in obj) {
+ var h_item = obj[var1];
+ var gdlist = th.data.zuhe_map_good[h_item.prom_id];
+ //获取活动需要的商品列表
+ u_item.zh_prom_goods[h_item.prom_id] = { gdlist: gdlist, act: h_item.act };
+ }
+ zh_calc.fir_set_arr(u_item, th);
+ }
- t.data.data.distr_type=2;
- th.setData({show_same_city:0})
+ //每一个门店内的阶梯促销要进行拆分,
+ //还得把阶梯促销商品的多余商品的线下价格算一算
+ for (let var1 in arr) {
+ //把阶梯促销进行分组
+ var obj = ladder_calc.find_split(u_item);
+ if (!obj) continue;
+ //存储不同阶梯促销活动的商品列表
+ u_item.ladder_map = {};
+ for (let var1 in obj) {
+ var h_item = obj[var1];
+ var act = th.data.ladder_map[h_item.prom_id];
+ //获取活动需要的商品列表
+ u_item.ladder_map[h_item.prom_id] = act;
+ }
+ ladder_calc.fir_set_arr(u_item, th);
+ }
- }
- if (t.data.data.distr_type == 0) {
- distr_t = gg.pick_dis;
- } else {
- distr_t = t.data.data.distr_type;
- }
+ //----- 判断每一个商品的配送方式,和门店的配送方式 -------
+ for (var ik = 0; ik < arr.length; ik++) {
+ if (!arr[ik].sto.is_same_city) continue;
+ var fd = arr[ik].goods.filter(function (e) {
+ return e.is_same_city != 1 || e.whsle_id > 0
+ })
+ if (!fd || fd.length == 0) {
+ arr[ik].show_same_city = 1;
+ }
+ }
- switch (distr_t) {
- case 0:
- et = 1;
- //-- 系统后台有设置要默认的 --
- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0;
- break;
- case 1:
- et = 1;
- break;
- case 2:
- et = 0;
- break;
- }
+ //深拷贝
+ th.data.old_cartlist = JSON.parse(JSON.stringify(arr));
+ th.setData({
+ cartlist: arr,
+ });
+ //--- 获取一下看有没有优惠券 ----
+ setTimeout(function () {
+ var frozenQuan = null;
+ var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
+ app.request.promiseGet(url0, { 1: 1 }).then(res => {
+ if (res.data.code == 0) {
+ frozenQuan = res.data.data;
+ th.data.frozenQuan = frozenQuan;
+ }
+ th.calculatePrice();
+ th.get_cart_quan();
+ })
+
+ }, 500)
+
+ }
+ });
+ },
+
+ //-----获取立即购买的商品信息,入口----
+ get_buy_goods: function (e) {
+ var th = this;
+ var gg = to.get_b_now();
+ //--------如果goods_id一样,就是要立即购买-----
+ if (e == gg.goods_id) {
+ a.get("/api/weshop/goods/get/" + oo.stoid + "/" + e, {
+ success: async function (t) {
+ var gd = t.data.data;
+ if (!gd) return false;
+
+ //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 --
+ if (gd.is_same_city && th.data.is_same_city && gd.whsle_id <= 0) {
+
+ await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + gg.pick_id, {}).then(res => {
+ if (res.data.code == 0) {
+ var pk = res.data.data;
+ if (pk && pk.is_same_city) {
+ th.setData({ show_same_city: 1 })
+ }
+ }
- var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- if (et == 0 && def_exp_code) {
- for (var k = 0; k < th.data.wu_arr.length; k++) {
- var item = th.data.wu_arr[k];
- if (def_exp_code == item.code) {
- m_wind = k;
- }
- }
- }
+ })
- if (th.data.bn_goods) {
- et = th.data.bn_exp_type;
- m_wind = th.data.index;
- }
- th.data.m_wind = m_wind;
-
- //---是不是购买等级卡成功的返回---等级卡显示的判断---
- var is_card_back = getApp().globalData.is_card_back;
- if (is_card_back) {
- th.data.card_name = th.data.userinfo.card_field;
- gg.goods_price = gd[th.data.card_name];
- getApp().globalData.is_card_back = 0;
- th.setData({ card_cut_price: 0 });
- //如果是秒杀的返回
- if (gd.prom_type == 1) gd.prom_type = 0;
- } else {
- //--- 商家等级卡开通的情况下, 会员不是等级会员的情况, 商品有设置等级卡价格,同时等级卡价格小于商品的价格
- //-- 搭配购的商品也可以单独购买,所以此时搭配购的商品要进行计算优惠 --
- if (!gg.collocation_goods && gd['prom_type'] != 6 && th.data.card_name && gd[th.data.card_name] > 0 && gg.goods_price > gd[th.data.card_name] && !th.data.userinfo.card_field) {
- var cut_p = (gg.goods_price - gd[th.data.card_name]) * gg.goods_num;
- th.setData({ card_cut_price: cut_p });
- }
- }
+ }
- //-- 判断是不是可以收藏 --
- if(gd.prom_type ==5 && !th.data.all_collocation_list.length){
- await th.set_collection(gd);
- }
+ t.data.data.original_img = oo.imghost + t.data.data.original_img;
+ t.data.data['buynum'] = gg.goods_num;
+ var distr_t = 0, et = 0
- //-- 当是搭配购的时候 --
- gd.prom_type = gg.prom_type ? gg.prom_type : 0;
- gd.prom_id = gg.prom_id ? gg.prom_id : 0;
+ if (t.data.data.is_minishop == 1 && getApp().is_sp_hao()) {
+ if (t.data.data.distr_type == 1 || gg.pick_dis == 1) {
+ wx.showToast({
+ title: "视频号仅支持物流",
+ icon: 'none',
+ duration: 2000
+ })
- if(gd.whsle_id>0){
- gd.prom_type =gg.prom_type=0;
- gd.prom_id =gg.prom_id=0;
- }
+ setTimeout(function () {
+ wx.navigateBack({ delta: 1 })
+ }, 1000)
+ return false
+ }
- switch (gd.prom_type) {
- case 0:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- //--此时开始计算商品的使用券相关,如果有等级价还要计算和等级价相关的,
- // 如果有优惠促销,还要把促销的部分计算在内,因为促销还有不能使用优惠券--
- t.data.data.shop_price = gg.goods_price;
- t.data.data.goods_price = gg.goods_price;
- t.data.data.goods_num = gg.goods_num;
- th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
-
- //-- 如果有线下取价的时候 --
- if (gg.offline_price) {
- t.data.data.offline_price = gg.offline_price;
- t.data.data.pricing_type = gg.pricing_type;
- t.data.data.is_offline = 1;
-
- th.data.ckeck_quan_price = t.data.data.offline_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.offline_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
- }
- t.data.data.prom_id = 0;
- t.data.data.prom_type = 0;
-
-
- //如果有开启佣金抵扣,同时会员是分销商的时候
- if(!gg.collocation_goods && getApp().globalData.userInfo.is_distribut
- && th.data.dis_config && th.data.dis_config.is_yongjin_dk){
- var fir_num=0;
- var sec_num=0;
- var thi_num=0;
- if(th.data.dis_config.pattern==1){
- fir_num=(t.data.data.fir_rate || 0)*gg.goods_num;
- sec_num=(t.data.data.sec_rate || 0)*gg.goods_num;
- thi_num=(t.data.data.thi_rate || 0)*gg.goods_num;
- }else{
- fir_num=parseFloat((t.data.data.commission || 0) *gg.goods_num*(th.data.dis_config.firstRate || 0)/100).toFixed(2);
- sec_num=parseFloat((t.data.data.commission || 0)*gg.goods_num*(th.data.dis_config.secondRate || 0)/100).toFixed(2);
- thi_num=parseFloat((t.data.data.commission || 0)*gg.goods_num*(th.data.dis_config.thirdRate || 0)/100).toFixed(2);
- }
- var c_num=getApp().get_commission(fir_num,sec_num,thi_num,th);
-
- gd.use_commission=c_num;
- t.data.data.use_commission=c_num;
-
- }
-
-
- //如果立即购买那边过来,就要读取接口,查看活动的优惠内容
- if (gg.prom_type == 3) {
- t.data.data.prom_id = gg.prom_id;
- t.data.data.prom_type = 3;
- //如果是优惠活动,就要调用活动,计算价格
- // th.check_is_youhui(gg.goods_id, gg.pick_id);
- th.buy_now_prom_goods(gg.prom_id, t.data.data, function (data) {
- //判断一下购买商品的数量是不是超过
- if (data.gift_goods_id && (!data.zp_mode || parseInt(data.zp_mode) == 0)) {
- var num = data.zp_num ? data.zp_num : 1;
- if (data.is_bz == 1) {
- num = num * data.bs;
- if (num > data.gift_limit_num) num = 0;
- }
- //如果赠品数量超出礼品库存,就取消
- if (num > data['gift_storecount']) num = 0;
- if (num > 0) {
- var ob = {};
- ob.is_gift = 1;
- ob.prom_id = data.prom_id;
- ob.goods_id = data.gift_goods_id;
- ob.goods_name = data.gift_goods_name;
- ob.goods_sn = data.gift_goods_sn;
- ob.goods_color = data.gift_goods_color;
- ob.goods_spec = data.gift_goods_spec;
- ob.original_img = os.imghost + data.gift_original_img;
- ob.market_price = data.gift_market_price;
- ob.gift_id = data.gift_id;
- ob.shop_price = 0;
- ob.buynum = num;
- ob.weight = data.gift_weight; //商品的重量
- ob.exp_sum_type = data.gift_exp_sum_type; //商品的物流计算方式
- ob.uniform_exp_sum = data.gift_uniform_exp_sum //统一运费的金额
-
- var arr_gf = [];
- arr_gf.push(ob);
- th.setData({ buy_now_gift_goods: arr_gf });
- }
- }
-
- th.setData({
- bn_goods: data, bn_pickname: gg.pick_name, index: m_wind,
- bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et
- });
-
-
- //计算价格
- th.calculatePrice2();
- //获取优惠券
- th.get_buy_now_quan();
-
- })
- } else {
-
-
- //--看是不是搭配促销--
- if (gg.prom_type == 5) {
- t.data.data.prom_id = gg.prom_id;
- t.data.data.prom_type = 5;
- th.is_coupon = gg.is_coupon;
- th.setData({
- is_coupon: gg.is_coupon
- });
- if (gg.room_id) {
- t.data.data.room_id = gg.room_id;
- }
- //--主商品要有导购id和导购类型--
- if (gg.guide_id) {
- t.data.data.guide_id = gg.guide_id;
- t.data.data.guide_type = gg.guide_type;
- }
- th.setData({ collocation_goods: gg.collocation_goods });
-
- if(th.data.all_collocation_list){
- for(var i = 0; i {
- if (res.data.code == 0) {
- frozenQuan = res.data.data;
- th.data.frozenQuan = frozenQuan;
- }
- //计算价格
- th.calculatePrice2();
- th.get_cart_quan();
- });
-
- } else {
- //计算价格
- th.calculatePrice2();
- //获取优惠券,
- th.get_buy_now_quan();
- }
- }
-
- break;
- case 1: //---秒杀-----
- var quanlist = null;
- getApp().request.get("/api/weshop/activitylist/getSJGoodsPriceNew/" + gd.store_id
- + "/" + gd.goods_id + "/1/" + gd.prom_id + "/" + app.globalData.user_id, {
- success: async function (tt) {
- if (tt.data.code == 0) {
- //t.data.data.shop_price = tt.data.data.prom_price;
- t.data.data.shop_price = tt.data.data.prom_user_price;
- th.data.ckeck_quan_price = 0;
- gd.is_xz_yh = 1;
-
- t.data.data.fir_rate=tt.data.data.fir_rate;
- t.data.data.sec_rate=tt.data.data.sec_rate;
- t.data.data.thi_rate=tt.data.data.thi_rate;
- t.data.data.commission=tt.data.data.commission;
-
-
- } else {
- t.data.data.prom_id = 0;
- t.data.data.prom_type = 0;
- th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
- }
-
- //-- 计算获得佣金的金额 --
- if( getApp().globalData.userInfo.is_distribut
- && th.data.dis_config && th.data.dis_config.is_yongjin_dk){
-
- var c_num=getApp().get_commission(th.data.dis_config,t.data.data,gg.goods_num);
-
- gd.use_commission=c_num;
- t.data.data.use_commission=c_num;
-
- }
-
-
- th.setData({
- bn_goods: gd,
- bn_pickname: gg.pick_name,
- bn_exp_type: et,
- index: m_wind,
- bn_pick: gg.pick_id,
- bn_t_exp_t: distr_t,
- bn_exp_type: et
- });
-
- //计算价格
- th.calculatePrice2();
- //获取优惠券,如果有券的钱,就调用
- if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan();
- }
- });
-
- break;
-
- case 2: //--- 团购 ---
- var quanlist = null;
- getApp().request.get("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, {
- success: async function (tt) {
- if (tt.data.code == 0) {
- //t.data.data.shop_price = tt.data.data.prom_price;
- t.data.data.shop_price = tt.data.data.price;
-
- t.data.data.fir_rate=tt.data.data.fir_rate;
- t.data.data.sec_rate=tt.data.data.sec_rate;
- t.data.data.thi_rate=tt.data.data.thi_rate;
- t.data.data.commission=tt.data.data.commission;
-
- } else {
- t.data.data.prom_id = 0;
- t.data.data.prom_type = 0;
- }
-
- //-- 计算获得佣金的金额 --
- if( getApp().globalData.userInfo.is_distribut
- && th.data.dis_config && th.data.dis_config.is_yongjin_dk){
-
- var c_num=getApp().get_commission(th.data.dis_config,t.data.data,gg.goods_num);
-
- gd.use_commission=c_num;
- t.data.data.use_commission=c_num;
-
- }
-
-
- if (tt.data.data.isQuan) {
- th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
- th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
- th.data.check_quan_ware_list = t.data.data.erpwareid + "";
- } else {
- gd.is_xz_yh = 1;
- }
-
- th.setData({
- bn_goods: gd,
- bn_pickname: gg.pick_name,
- bn_exp_type: et,
- index: m_wind,
- bn_pick: gg.pick_id,
- bn_t_exp_t: distr_t,
- bn_exp_type: et
- });
-
- //-- 计算价格 --
- th.calculatePrice2();
- //获取优惠券,如果有券的钱,就调用
- if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan();
- }
- });
-
- break;
+ t.data.data.distr_type = 2;
+ th.setData({ show_same_city: 0 })
+
+ }
+
+
+ if (t.data.data.distr_type == 0) {
+ distr_t = gg.pick_dis;
+ } else {
+ distr_t = t.data.data.distr_type;
+ }
+
+ switch (distr_t) {
+ case 0:
+ et = 1;
+ //-- 系统后台有设置要默认的 --
+ if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0;
+ break;
+ case 1:
+ et = 1;
+ break;
+ case 2:
+ et = 0;
+ break;
+ }
+
+
+ var m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
+ if (et == 0 && def_exp_code) {
+ for (var k = 0; k < th.data.wu_arr.length; k++) {
+ var item = th.data.wu_arr[k];
+ if (def_exp_code == item.code) {
+ m_wind = k;
+ }
+ }
+ }
+
+ if (th.data.bn_goods) {
+ et = th.data.bn_exp_type;
+ m_wind = th.data.index;
+ }
+ th.data.m_wind = m_wind;
+
+ //---是不是购买等级卡成功的返回---等级卡显示的判断---
+ var is_card_back = getApp().globalData.is_card_back;
+ if (is_card_back) {
+ th.data.card_name = th.data.userinfo.card_field;
+ gg.goods_price = gd[th.data.card_name];
+ getApp().globalData.is_card_back = 0;
+ th.setData({ card_cut_price: 0 });
+ //如果是秒杀的返回
+ if (gd.prom_type == 1) gd.prom_type = 0;
+ } else {
+ //--- 商家等级卡开通的情况下, 会员不是等级会员的情况, 商品有设置等级卡价格,同时等级卡价格小于商品的价格
+ //-- 搭配购的商品也可以单独购买,所以此时搭配购的商品要进行计算优惠 --
+ if (!gg.collocation_goods && gd['prom_type'] != 6 && th.data.card_name && gd[th.data.card_name] > 0 && gg.goods_price > gd[th.data.card_name] && !th.data.userinfo.card_field) {
+ var cut_p = (gg.goods_price - gd[th.data.card_name]) * gg.goods_num;
+ th.setData({ card_cut_price: cut_p });
+ }
+ }
+
+ //-- 判断是不是可以收藏 --
+ if (gd.prom_type == 5 && !th.data.all_collocation_list.length) {
+ await th.set_collection(gd);
+ }
+
+ //-- 当是搭配购的时候 --
+ gd.prom_type = gg.prom_type ? gg.prom_type : 0;
+ gd.prom_id = gg.prom_id ? gg.prom_id : 0;
+
+
+ if (gd.whsle_id > 0) {
+ gd.prom_type = gg.prom_type = 0;
+ gd.prom_id = gg.prom_id = 0;
+ }
+
+
+ switch (gd.prom_type) {
+ case 0:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ //--此时开始计算商品的使用券相关,如果有等级价还要计算和等级价相关的,
+ // 如果有优惠促销,还要把促销的部分计算在内,因为促销还有不能使用优惠券--
+ t.data.data.shop_price = gg.goods_price;
+ t.data.data.goods_price = gg.goods_price;
+ t.data.data.goods_num = gg.goods_num;
+ th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
+ th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
+ th.data.check_quan_ware_list = t.data.data.erpwareid + "";
+
+ //-- 如果有线下取价的时候 --
+ if (gg.offline_price) {
+ t.data.data.offline_price = gg.offline_price;
+ t.data.data.pricing_type = gg.pricing_type;
+ t.data.data.is_offline = 1;
+
+ th.data.ckeck_quan_price = t.data.data.offline_price * gg.goods_num;
+ th.data.check_quan_price_list = t.data.data.offline_price * gg.goods_num + "";
+ th.data.check_quan_ware_list = t.data.data.erpwareid + "";
+ }
+ t.data.data.prom_id = 0;
+ t.data.data.prom_type = 0;
+
+
+ //如果有开启佣金抵扣,同时会员是分销商的时候
+ if (!gg.collocation_goods && getApp().globalData.userInfo.is_distribut
+ && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
+ var fir_num = 0;
+ var sec_num = 0;
+ var thi_num = 0;
+ if (th.data.dis_config.pattern == 1) {
+ fir_num = (t.data.data.fir_rate || 0) * gg.goods_num;
+ sec_num = (t.data.data.sec_rate || 0) * gg.goods_num;
+ thi_num = (t.data.data.thi_rate || 0) * gg.goods_num;
+ } else {
+ fir_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
+ sec_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
+ thi_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
+ }
+ var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);
+
+ gd.use_commission = c_num;
+ t.data.data.use_commission = c_num;
+
+ }
+
+
+ //如果立即购买那边过来,就要读取接口,查看活动的优惠内容
+ if (gg.prom_type == 3) {
+ t.data.data.prom_id = gg.prom_id;
+ t.data.data.prom_type = 3;
+ //如果是优惠活动,就要调用活动,计算价格
+ // th.check_is_youhui(gg.goods_id, gg.pick_id);
+ th.buy_now_prom_goods(gg.prom_id, t.data.data, function (data) {
+ //判断一下购买商品的数量是不是超过
+ if (data.gift_goods_id && (!data.zp_mode || parseInt(data.zp_mode) == 0)) {
+ var num = data.zp_num ? data.zp_num : 1;
+ if (data.is_bz == 1) {
+ num = num * data.bs;
+ if (num > data.gift_limit_num) num = 0;
}
- },
- });
- }
- },
+ //如果赠品数量超出礼品库存,就取消
+ if (num > data['gift_storecount']) num = 0;
+ if (num > 0) {
+ var ob = {};
+ ob.is_gift = 1;
+ ob.prom_id = data.prom_id;
+ ob.goods_id = data.gift_goods_id;
+ ob.goods_name = data.gift_goods_name;
+ ob.goods_sn = data.gift_goods_sn;
+ ob.goods_color = data.gift_goods_color;
+ ob.goods_spec = data.gift_goods_spec;
+ ob.original_img = os.imghost + data.gift_original_img;
+ ob.market_price = data.gift_market_price;
+ ob.gift_id = data.gift_id;
+ ob.shop_price = 0;
+ ob.buynum = num;
+ ob.weight = data.gift_weight; //商品的重量
+ ob.exp_sum_type = data.gift_exp_sum_type; //商品的物流计算方式
+ ob.uniform_exp_sum = data.gift_uniform_exp_sum //统一运费的金额
+
+ var arr_gf = [];
+ arr_gf.push(ob);
+ th.setData({ buy_now_gift_goods: arr_gf });
+ }
+ }
- //---------------检查是否有收货地址-------------------
- checkAddressList: function () {
- var t = this;
- return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({
- title: "请先填写或选择收货地址~",
- success: function (a) {
- a.confirm ? t.enterAddressPage() : wx.navigateBack();
- },
- fail: function () {
- wx.navigateBack();
- }
- }), !1);
- },
- showInvoice: function () {
- this.setData({
- invoiceToggle: !this.data.invoiceToggle
- });
- },
- keyUpChangePay1: function (t) {
- this.setData({
- payWithUserMoney: !(t.detail.value.length > 0)
- });
- },
- keyUpChangePay2: function (t) {
- this.setData({
- payWithPoints: !(t.detail.value.length > 0)
- });
- },
- keyUpChangeNum: function (t) {
- var index = t.currentTarget.dataset.index;
- var txt = "user_note." + index;
- this.setData({
- maxWord: t.detail.value.length,
- [txt]: t.detail.value
- });
- },
+ th.setData({
+ bn_goods: data, bn_pickname: gg.pick_name, index: m_wind,
+ bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et
+ });
- calc_per: async function (c_arr) {
- var send_gf = {};
- var duo_zp_num_arr = {};
- var th = this;
- //-- 循环处理 --
- for (var i in c_arr) {
- var cart_item = c_arr[i]; //就是每一单的意思
- var pickid = cart_item.pickup_id;
- var ord_goods = c_arr[i].goods; //就是每一单的从表的意思
- var o_price = 0, q_conditin = 0;
- //--------循环计算总价-----------
- for (var j = 0; j < ord_goods.length; j++) {
-
- if(ord_goods[j].whsle_id) continue;
- o_price += ord_goods[j].goods_price * ord_goods[j].goods_num;
- }
- //---如果该门店的相关活动,就要算一下减价--
- if (th.data.prom_goods_map[pickid]) {
- var ob = th.data.prom_goods_map[pickid];
- for (var ii in ob) {
- var item_map = ob[ii];
- if (item_map.bs == undefined || item_map.bs == null) {
- //等待,获取一下优惠活动的信息
- await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
- data: {
- price: parseFloat(item_map.price).toFixed(2), prom_id: item_map.prom_id,
- goods_num: item_map.goods_num, user_id: getApp().globalData.user_id,
- is_bz: item_map.is_bz
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data.condition) {
- var get_data = res.data.data;
- item_map.is_bz = get_data.is_bz; //是不是倍增
- item_map.bs = get_data.bs; //是不是倍数
- item_map.is_past = get_data.is_past; //是不是包邮
- item_map.prom_price = get_data.price >= 0 ? get_data.price : item_map.price;
- item_map.s_intValue = get_data.intValue;
- item_map.s_coupon_id = get_data.coupon_id;
- item_map.s_coupon_num = get_data.coupon_num;
- item_map.lbtitle = get_data.lbtitle;
- item_map.zxlbtitle = get_data.zxlbtitle;
-
- if (get_data.gift_id && parseInt(get_data.zp_mode) != 1
- && get_data.zp_num * item_map.bs <= get_data.limit_num
- && get_data.zp_num * item_map.bs <= get_data.gift_storecount
- ) {
-
- item_map.gift_id = get_data.gift_id;
- item_map.gift_goods_id = get_data.goods_id;
- item_map.gift_goods_name = get_data.goods_name;
- item_map.gift_goods_color = get_data.goodsinfo.goods_color ? get_data.goodsinfo.goods_color : '';
- item_map.gift_goods_spec = get_data.goodsinfo.goods_spec ? get_data.goodsinfo.goods_spec : '';
- item_map.gift_original_img = get_data.goodsinfo.original_img;
- item_map.gift_limit_num = get_data.limit_num;
- item_map.gift_storecount = get_data.gift_storecount;
- item_map.gift_weight = get_data.goodsinfo.weight;
- item_map.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
- item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum;
- item_map.whsle_id = get_data.goodsinfo.whsle_id;
-
- }
- item_map.s_libao = get_data.libao;
- item_map.s_lb_num = get_data.lb_num;
-
- //专享礼包
- item_map.zx_libao = get_data.zxlibao;
- item_map.zx_lb_num = get_data.zxlb_num;
-
- if (parseInt(get_data.zp_mode) == 1) {
- if (!send_gf[pickid]) send_gf[pickid] = [];
-
- var can_zp_num = 0;
- for (let iy in get_data.giftsinfo) {
- let item = get_data.giftsinfo[iy];
- can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount);
- }
-
- var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs);
- if (duo_zp_num_arr[item_map.prom_id]) {
- t_zp_num += duo_zp_num_arr[item_map.prom_id];
- }
-
- if (can_zp_num >= t_zp_num) {
- send_gf[pickid].push({
- pickup_id: pickid,
- giftsinfo: get_data.giftsinfo,
- zp_num: get_data.zp_num * get_data.bs,
- gf_pr_name: item_map.name,
- prom_id: item_map.prom_id
- });
-
- duo_zp_num_arr[item_map.prom_id] = t_zp_num;
- }
- }
- }
- })
- }
+ //计算价格
+ th.calculatePrice2();
+ //获取优惠券
+ th.get_buy_now_quan();
- //有活动,且优惠活动并没有限制使用优惠券,且有减价
- //--看有没有减价--
- //if(item_map.prom_price>=0 && item_map.price-item_map.prom_price){
- if (item_map.price - item_map.prom_price && item_map.prom_price !== null) {
- if (cart_item.prom_pt_json) {
- cart_item.prom_pt_json.push({
- "prom_id": item_map.prom_id,
- "dis": (item_map.price - item_map.prom_price).toFixed(2),
- "ispt": 0
- })
- } else {
- cart_item.prom_pt_json = [{
- "prom_id": item_map.prom_id,
- "dis": (item_map.price - item_map.prom_price).toFixed(2),
- "ispt": 0
- }];
- }
-
- //-- 如果系统要平摊到单品 --
-
- var pt_data = {
- 'prom_id': item_map.prom_id,
- 'dis': parseFloat((item_map.price - item_map.prom_price).toFixed(2)),
- 'goods': item_map.goods
- }
-
- var pt_res = null;
- await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
- is_json: 1,
- data: pt_data
- }).then(res => {
- if (res.data.code == 0) {
- pt_res = res.data.data;
- }
- })
- if (pt_res) {
- for (var io in item_map.goods) {
- //平摊赋值
- item_map.goods[io].account_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account;
- item_map.goods[io].account_yu_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account_yu;
- if (!th.data.ispt_goods) {
- item_map.goods[io].account = item_map.goods[io].account_fir;
- item_map.goods[io].account_yu = item_map.goods[io].account_yu_fir;
- }
- }
- }
-
- o_price -= (item_map.price - item_map.prom_price);
- //如果有限制使用优惠券,就要减掉参与的活动商品的钱
- if (!item_map.is_xz_yh) q_conditin = o_price;
- }
-
- //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表-----------
- for (var j = 0; j < ord_goods.length; j++) {
- if (ord_goods[j].is_gift) continue;
- if (ord_goods[j].whsle_id) continue;
- if (ord_goods[j].prom_type == 3 && ord_goods[j].prom_id == item_map.prom_id) {
- ord_goods[j].is_xz_yh = ord_goods[j].is_xz_yh ? ord_goods[j].is_xz_yh : item_map.is_xz_yh;
- ord_goods[j].is_past = item_map.is_past;
- ord_goods[j].account_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_fir;
- ord_goods[j].account_yu_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu_fir;
- ord_goods[j].account = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account;
- ord_goods[j].account_yu = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu;
- }
+ })
+ } else {
+
+
+ //--看是不是搭配促销--
+ if (gg.prom_type == 5) {
+ t.data.data.prom_id = gg.prom_id;
+ t.data.data.prom_type = 5;
+ th.is_coupon = gg.is_coupon;
+ th.setData({
+ is_coupon: gg.is_coupon
+ });
+ if (gg.room_id) {
+ t.data.data.room_id = gg.room_id;
+ }
+ //--主商品要有导购id和导购类型--
+ if (gg.guide_id) {
+ t.data.data.guide_id = gg.guide_id;
+ t.data.data.guide_type = gg.guide_type;
+ }
+ th.setData({ collocation_goods: gg.collocation_goods });
+
+ if (th.data.all_collocation_list) {
+ for (var i = 0; i < th.data.all_collocation_list.length; i++) {
+ var item0 = th.data.all_collocation_list[i];
+ var idx = gg.collocation_goods.findIndex(function (e) {
+ return e.goods_id == item0.goods_id && e.prom_id == item0.prom_id;
+ })
+ if (idx != -1) {
+ var txt = 'all_collocation_list[' + i + '].selected';
+ th.setData({ [txt]: 1 });
+ }
}
+ }
- //--优惠多少钱--
- if (!cart_item.cut_price) cart_item.cut_price = 0;
- //-- --
- if (item_map.price != undefined && item_map.price != null
- && item_map.prom_price != undefined && item_map.prom_price != null)
- cart_item.cut_price += (item_map.price - item_map.prom_price);
- //---如果有送积分---
- if (item_map.s_intValue) {
- if (!cart_item.s_intValue) cart_item.s_intValue = 0;
- cart_item.s_intValue += item_map.s_intValue;
- }
- //-- 如果有送优惠券的情况 --
- if (item_map.s_coupon_id) {
- if (!cart_item.s_coupon_id) {
- cart_item.s_coupon_id = item_map.s_coupon_id + "";
- cart_item.g_coupon_num = [{ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num }];
- }
- else {
- cart_item.s_coupon_id += "," + item_map.s_coupon_id;
- cart_item.g_coupon_num.push({ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num })
- }
- }
- //-- 如果有送礼包的情况 --
- if (item_map.s_libao) {
- if (!cart_item.s_libao) {
- cart_item.s_libao = item_map.s_libao + "";
- cart_item.g_lb_num = [{ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle }];
- }
- else {
- cart_item.s_libao += "," + item_map.s_libao;
- cart_item.g_lb_num.push({ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle })
- }
- }
+ //var narr=gg.collocation_goods;
+ //修改成深拷贝,确保返回是数据正确
+ var narr = JSON.parse(JSON.stringify(gg.collocation_goods));
+ narr.push(t.data.data);
+ await th.get_collocation_list(narr);
+ }
+ th.setData({
+ bn_goods: gd, bn_pickname: gg.pick_name, index: m_wind,
+ bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et
+ });
+
- if (item_map.zx_libao) {
- if (!cart_item.zx_libao) {
- cart_item.zx_libao = item_map.zx_libao + "";
- cart_item.g_zxlb_num = [{ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle }];
- }
- else {
- cart_item.zx_libao += "," + item_map.zx_libao;
- cart_item.g_zxlb_num.push({ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle })
- }
+ //--搭配促销也是按照购物车的方式来计算优惠券--
+ if (gg.prom_type == 5) {
+ var frozenQuan = null;
+ var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
+ app.request.promiseGet(url0, { 1: 1 }).then(res => {
+ if (res.data.code == 0) {
+ frozenQuan = res.data.data;
+ th.data.frozenQuan = frozenQuan;
}
+ //计算价格
+ th.calculatePrice2();
+ th.get_cart_quan();
+ });
+
+ } else {
+ //计算价格
+ th.calculatePrice2();
+ //获取优惠券,
+ th.get_buy_now_quan();
}
- }
- }
+ }
+
+ break;
+ case 1: //---秒杀-----
+ var quanlist = null;
+ getApp().request.get("/api/weshop/activitylist/getSJGoodsPriceNew/" + gd.store_id
+ + "/" + gd.goods_id + "/1/" + gd.prom_id + "/" + app.globalData.user_id, {
+ success: async function (tt) {
+ if (tt.data.code == 0) {
+ //t.data.data.shop_price = tt.data.data.prom_price;
+ t.data.data.shop_price = tt.data.data.prom_user_price;
+ th.data.ckeck_quan_price = 0;
+ gd.is_xz_yh = 1;
+
+ t.data.data.fir_rate = tt.data.data.fir_rate;
+ t.data.data.sec_rate = tt.data.data.sec_rate;
+ t.data.data.thi_rate = tt.data.data.thi_rate;
+ t.data.data.commission = tt.data.data.commission;
+
+
+ } else {
+ t.data.data.prom_id = 0;
+ t.data.data.prom_type = 0;
+ th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
+ th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
+ th.data.check_quan_ware_list = t.data.data.erpwareid + "";
+ }
+ //-- 计算获得佣金的金额 --
+ if (getApp().globalData.userInfo.is_distribut
+ && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
- var arr = Object.keys(send_gf);
- var arr2 = Object.keys(th.data.send_gf);
- if (arr2.length > 0) return false;
- th.calclate_lbNum(c_arr);
- if (arr.length > 0) {
- th.setData({ send_gf: send_gf })
- } else {
- th.setData({ send_gf: {} })
- }
+ var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num);
- },
+ gd.use_commission = c_num;
+ t.data.data.use_commission = c_num;
+ }
- calclate_lbNum(r_data) {
- let send_lb = this.data.send_lb;
- //g_lb_num我的礼包 g_zxlb_num专享礼包
- r_data.forEach(r_d => {
- let arr = [];
- if (r_d.g_zxlb_num) {
- let g_lb = r_d.g_zxlb_num;
- for (let i = 0; i < g_lb.length; i++) {
- let item = g_lb[i];
- let new_lb = g_lb.filter(lb => {
- return item.l_id === lb.l_id;
- });
- if (new_lb.length == 1) {
- arr.push(item);
- } else {
- item.num = new_lb.reduce((pre, next) => {
- return pre + next.num;
- }, 0);
- arr.push(item);
- g_lb = g_lb.filter(ii => {
- return ii.l_id !== item.l_id;
- });
- }
- send_lb[r_d.pickup_id] = arr;
- }
- }
- if (r_d.g_lb_num) {
- let zx_lb = r_d.g_lb_num;
- for (let i = 0; i < zx_lb.length; i++) {
- let item = zx_lb[i];
- item.flag = 1;
- let new_lb = zx_lb.filter(lb => {
- return item.l_id === lb.l_id;
- });
- if (new_lb.length == 1) {
- arr.push(item);
- } else {
- item.num = new_lb.reduce((pre, next) => {
- return pre + next.num;
- }, 0);
- arr.push(item);
- zx_lb = zx_lb.filter(ii => {
- return ii.l_id !== item.l_id;
- });
- }
- send_lb[r_d.pickup_id] = arr;
+ th.setData({
+ bn_goods: gd,
+ bn_pickname: gg.pick_name,
+ bn_exp_type: et,
+ index: m_wind,
+ bn_pick: gg.pick_id,
+ bn_t_exp_t: distr_t,
+ bn_exp_type: et
+ });
+
+ //计算价格
+ th.calculatePrice2();
+ //获取优惠券,如果有券的钱,就调用
+ if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan();
}
- }
- })
- this.setData({
- send_lb,
- })
+ });
+
+ break;
+
+ case 2: //--- 团购 ---
+ var quanlist = null;
+ getApp().request.get("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, {
+ success: async function (tt) {
+ if (tt.data.code == 0) {
+ //t.data.data.shop_price = tt.data.data.prom_price;
+ t.data.data.shop_price = tt.data.data.price;
+
+ t.data.data.fir_rate = tt.data.data.fir_rate;
+ t.data.data.sec_rate = tt.data.data.sec_rate;
+ t.data.data.thi_rate = tt.data.data.thi_rate;
+ t.data.data.commission = tt.data.data.commission;
+
+ } else {
+ t.data.data.prom_id = 0;
+ t.data.data.prom_type = 0;
+ }
- },
+ //-- 计算获得佣金的金额 --
+ if (getApp().globalData.userInfo.is_distribut
+ && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
- //-------------------计算订单价格-------------------
- calculatePrice:async function (qfunc) {
- var th = this;
- th.setData({submit:1});
+ var c_num = getApp().get_commission(th.data.dis_config, t.data.data, gg.goods_num);
- wx.showLoading({
- title: "处理中.",
- mask:true
- })
- //-- to.getwuliuprice(async function (rs) { --
-
- //是不是区域包邮
- th.data.is_area_by = 0;
- //当不是区域不包邮的时候,没有不包邮商品的时候
- th.data.free1 = 0;
- th.data.cut_o_shipping_price = 0;
- th.data.cut_goods_piece = 0;
- th.data.cut_goods_weight = 0;
-
- var all_price = 0; //所有的商品总价
- var all_shipping_m = 0; //所有的物流总价
- var all_total_m = 0; //所有的订单应付总价
- var all_order_m = 0; //所有的订单应付总价
- var all_user_m = 0; //所有的订单用户使用金额
- var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格
- var all_cutprice = 0; //所有的优惠减
- var all_zh_cutprice = 0; //所有的组合优惠减
- var all_ladder_cutprice = 0; //所有的阶梯促销优惠减
- var all_order_prom = 0; //所有的订单优惠
-
- var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0);
- var out_of_weight = 0; //超出多少重量
- var c_arr = JSON.parse(JSON.stringify(th.data.old_cartlist));
-
- if (th.data.cartlist && th.data.cartlist.length > 0) {
- for (var i = 0; i < c_arr.length; i++) {
- c_arr[i].exp_type = th.data.cartlist[i].exp_type;
- c_arr[i].wind = th.data.cartlist[i].wind;
- }
- }
+ gd.use_commission = c_num;
+ t.data.data.use_commission = c_num;
- //调用函数计算每件商品的单价
- await th.calc_per(c_arr);
-
- //调用函数计算每件组合购商品的单价,
- await zh_calc.calc_zh_split_price(c_arr, th);
-
- //调用函数计算每件阶梯促销商品的单价,
- await ladder_calc.calc_split_price(c_arr, th);
- //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品
-
- await th.get_cart_quan(c_arr);
-
-
- //-- 经纬度不循环调用接口 --
- var lon=0; var lat=0;
- //---循环购物车---
- for (var i in c_arr) {
- //因为搭配购买也是再这里计算,搭配购的is_b_now==1
- if (th.data.is_b_now == 0) {
- //此时物流的选择方式要用th.data.cartlist;
- c_arr[i].exp_type = th.data.cartlist[i].exp_type;
- c_arr[i].wind = th.data.cartlist[i].wind;
- if (th.data.cartlist[i].check_quan_price_list) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格
- if (th.data.cartlist[i].check_quan_ware_list) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品
- } else {
- c_arr[i].exp_type = th.data.bn_exp_type; //配送方式
- c_arr[i].wind = th.data.index; //立即购买选择的物流
- //c_arr[i].=th.data. //立即购买的使用余额
- if (th.data.cartlist) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格
- if (th.data.cartlist) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品
- }
+ }
- var cart_item = c_arr[i]; //就是每一单的意思
- var pickid = cart_item.pickup_id;
- var o_price = 0;
- var o_price_no_zh = 0; //参与订单优惠叠加--组合购的金额汇总
- var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
- var item = c_arr[i].goods; //就是每一单的从表的意思
-
- //---如果有选择优惠券的情况下---
- var quan_price = 0;
- var coupon_price = 0;
- var quan_no = null;
- var is_has_zh = c_arr[i].is_has_zh;
- var is_has_ladder = c_arr[i].is_has_ladder;
-
- var zh_prom_goods = c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间
- var ladder_prom_goods = c_arr[i].ladder_prom_goods; //组合购计算的原始数据存储空间
-
- if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined)
- quan_no = th.data.using_quan[pickid].coupon_no;
-
- //普通券的时候
- if (quan_no && th.data.using_quan[pickid].isby != 1) {
- //---获取优惠券优惠---
- await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
- data: {
- storeId: oo.stoid,
- CashRepNo: quan_no,
- WaresSum: cart_item.check_quan_price_list,
- WareIds: cart_item.check_quan_ware_list
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
- var q_data = res.data.data;
- //--存储商品优惠的内容--
- cart_item.quan_youhui_list = q_data;
- for (var k in q_data)
- quan_price += q_data[k].WareCashSum;
- }
- })
- }
+ if (tt.data.data.isQuan) {
+ th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num;
+ th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + "";
+ th.data.check_quan_ware_list = t.data.data.erpwareid + "";
+ } else {
+ gd.is_xz_yh = 1;
+ }
+ th.setData({
+ bn_goods: gd,
+ bn_pickname: gg.pick_name,
+ bn_exp_type: et,
+ index: m_wind,
+ bn_pick: gg.pick_id,
+ bn_t_exp_t: distr_t,
+ bn_exp_type: et
+ });
+
+ //-- 计算价格 --
+ th.calculatePrice2();
+ //获取优惠券,如果有券的钱,就调用
+ if (th.data.ckeck_quan_price > 0) th.get_buy_now_quan();
+ }
+ });
- var whsle_goods_price=0;
- //--------循环计算总价-----------
- for (var j = 0; j < item.length; j++) {
+ break;
+ }
+ },
+ });
+ }
+ },
+
+ //---------------检查是否有收货地址-------------------
+ checkAddressList: function () {
+ var t = this;
+ return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({
+ title: "请先填写或选择收货地址~",
+ success: function (a) {
+ a.confirm ? t.enterAddressPage() : wx.navigateBack();
+ },
+ fail: function () {
+ wx.navigateBack();
+ }
+ }), !1);
+ },
+ showInvoice: function () {
+ this.setData({
+ invoiceToggle: !this.data.invoiceToggle
+ });
+ },
+ keyUpChangePay1: function (t) {
+ this.setData({
+ payWithUserMoney: !(t.detail.value.length > 0)
+ });
+ },
+ keyUpChangePay2: function (t) {
+ this.setData({
+ payWithPoints: !(t.detail.value.length > 0)
+ });
+ },
+ keyUpChangeNum: function (t) {
+ var index = t.currentTarget.dataset.index;
+ var txt = "user_note." + index;
+ this.setData({
+ maxWord: t.detail.value.length,
+ [txt]: t.detail.value
+ });
+ },
+
+ calc_per: async function (c_arr) {
+ var send_gf = {};
+ var duo_zp_num_arr = {};
+ var th = this;
+ //-- 循环处理 --
+ for (var i in c_arr) {
+ var cart_item = c_arr[i]; //就是每一单的意思
+ var pickid = cart_item.pickup_id;
+ var ord_goods = c_arr[i].goods; //就是每一单的从表的意思
+ var o_price = 0, q_conditin = 0;
+ //--------循环计算总价-----------
+ for (var j = 0; j < ord_goods.length; j++) {
+
+ if (ord_goods[j].whsle_id) continue;
+ o_price += ord_goods[j].goods_price * ord_goods[j].goods_num;
+ }
+
+ //---如果该门店的相关活动,就要算一下减价--
+ if (th.data.prom_goods_map[pickid]) {
+ var ob = th.data.prom_goods_map[pickid];
+ for (var ii in ob) {
+ var item_map = ob[ii];
+ if (item_map.bs == undefined || item_map.bs == null) {
+ //等待,获取一下优惠活动的信息
+ await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
+ data: {
+ price: parseFloat(item_map.price).toFixed(2), prom_id: item_map.prom_id,
+ goods_num: item_map.goods_num, user_id: getApp().globalData.user_id,
+ is_bz: item_map.is_bz
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data.condition) {
+ var get_data = res.data.data;
+ item_map.is_bz = get_data.is_bz; //是不是倍增
+ item_map.bs = get_data.bs; //是不是倍数
+ item_map.is_past = get_data.is_past; //是不是包邮
+ item_map.prom_price = get_data.price >= 0 ? get_data.price : item_map.price;
+ item_map.s_intValue = get_data.intValue;
+ item_map.s_coupon_id = get_data.coupon_id;
+ item_map.s_coupon_num = get_data.coupon_num;
+ item_map.lbtitle = get_data.lbtitle;
+ item_map.zxlbtitle = get_data.zxlbtitle;
- if(item[j].whsle_id>0){
- whsle_goods_price+=item[j].goods_price*item[j].goods_num;
- }
+ if (get_data.gift_id && parseInt(get_data.zp_mode) != 1
+ && get_data.zp_num * item_map.bs <= get_data.limit_num
+ && get_data.zp_num * item_map.bs <= get_data.gift_storecount
+ ) {
- var is_no_zh = 0;
- if (item[j].prom_type != 7 && item[j].prom_type != 10) is_no_zh = 1;
+ item_map.gift_id = get_data.gift_id;
+ item_map.gift_goods_id = get_data.goods_id;
+ item_map.gift_goods_name = get_data.goods_name;
+ item_map.gift_goods_color = get_data.goodsinfo.goods_color ? get_data.goodsinfo.goods_color : '';
+ item_map.gift_goods_spec = get_data.goodsinfo.goods_spec ? get_data.goodsinfo.goods_spec : '';
+ item_map.gift_original_img = get_data.goodsinfo.original_img;
+ item_map.gift_limit_num = get_data.limit_num;
+ item_map.gift_storecount = get_data.gift_storecount;
+ item_map.gift_weight = get_data.goodsinfo.weight;
+ item_map.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
+ item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum;
+ item_map.whsle_id = get_data.goodsinfo.whsle_id;
- //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加
- if (item[j].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[j].prom_id]
- && th.data.zhhe_act_map[item[j].prom_id].is_orderyh) {
- is_no_zh = 1;
- }
- //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加
- if (item[j].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[j].prom_id]
- && th.data.ladder_map[item[j].prom_id].is_useorderyh) {
- is_no_zh = 1;
- }
-
- if (is_no_zh) {
- o_price_no_zh += item[j].goods_price * item[j].goods_num;
- }
- o_price += item[j].goods_price * item[j].goods_num;
-
- }
- //判断是不是有组合购的金额
- var f_o_price = o_price;
- //如果又优惠的钱,就要减价
- if (c_arr[i].cut_price > 0) {
- o_price -= c_arr[i].cut_price;
- o_price_no_zh -= c_arr[i].cut_price;
- }
- //如果有组合购优惠的钱,就要减价
- if (c_arr[i].zh_cut_price > 0 || c_arr[i].zh_cut_price < 0) {
- o_price -= c_arr[i].zh_cut_price;
- if (o_price_no_zh > 0) {
- //找到那些可以订单优惠叠加的
- for (let ij in zh_prom_goods) {
- let kitem = zh_prom_goods[ij];
- if (kitem.act.is_orderyh)
- o_price_no_zh -= kitem.cut_price;
- }
- }
- }
-
- //如果有组合购优惠的钱,就要减价
- if (c_arr[i].ladder_cut_price > 0 || c_arr[i].ladder_cut_price < 0) {
- o_price -= c_arr[i].ladder_cut_price;
- if (o_price_no_zh > 0) {
- //找到那些可以订单优惠叠加的
- for (let ij in ladder_prom_goods) {
- let kitem = ladder_prom_goods[ij];
- if (th.data.ladder_map[ij].is_useorderyh)
- o_price_no_zh -= kitem.cut_price;
- }
- }
- }
-
- //-- 计算线下取价的功能 --
- if (cart_item.is_offline == 1) {
- o_price = o_price - cart_item.offline_price;
- o_price_no_zh -= c_arr[i].offline_price;
- }
- //判断包邮券的钱,组合购的商品不使用优惠券
- var q_conditin = 0;
- q_conditin = o_price - quan_price;
- if (is_has_zh) {
- q_conditin = o_price_no_zh - quan_price;
- }
- cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算
- //计算物流费用
- cart_item.shipping_price = 0;
-
- th.data.is_no_past = 1; //不包邮标识符
-
- var back_data = null;
- var quan_no_goods_arr=null;
- //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额--
- if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) {
- //看是不是有调用过包邮券
- if (!th.data.isget_by_quan[pickid]) {
- //--判断要不要显示包邮券,调用接口,因为有for循环---
- await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
- data: {
- store_id: os.stoid,
- isuse: 0,
- //condition: q_conditin,
- condition: cart_item.ckeck_quan_price,
- user_id: getApp().globalData.user_id,
- pageSize: 2000
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data.total > 0) {
- //此时要循环判断包邮的地区,不包邮商品是不是符合
- var arr = [], quanlist = res.data.data.pageData;
- quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
- for (var i in quanlist) {
- var item = quanlist[i];
- var goods = cart_item.goods;
- var g_arr = [];
- for (var ii in goods) {
- g_arr.push(goods[ii].goods_id);
- }
- if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
- if (item.goods_list) {
- var no_goods_arr = item.goods_list.split(",");
- if (ut.isContained(no_goods_arr, g_arr)) continue; //如果是不包邮商品
- }
- arr.push(item);
- }
- if (arr) {
- th.data.get_by_quan_list_cart[pickid] = arr;
- th.setData({ get_by_quan_list_cart: th.data.get_by_quan_list_cart });
- //if (th.data.is_b_now) {
- // th.setData({get_by_quan_list: arr});
- //}
- }
- th.data.isget_by_quan[pickid] = 1;
- }
- })
- }
-
- var user_addr=th.data.user_addr;
- var req_d = {
- province: user_addr.province, city: user_addr.city, district: user_addr.district,
- wuliu:parseFloat(o_price - quan_price-whsle_goods_price).toFixed(2),store_id: os.stoid
- }
- await getApp().request.promisePost("/api/weshop/order/areaFreight", {
- is_json: 1, data: req_d
- }).then(rs => {
- if (rs.data.code == 0) back_data =rs.data.data;
- });
-
- }
-
-
- //如果是包邮券的时候,要看看券的情况
- if (quan_no && th.data.using_quan[pickid].isby == 1) {
- var quan = th.data.using_quan[pickid];
- if (!quan.goods_list) {
- th.data.is_quan_by[pickid] = 1; //专门给券的判断用的
- } else {
- th.data.is_quan_by[pickid] = 0;
- quan_no_goods_arr = quan.goods_list.split(",");
-
- }
- } else {
- th.data.is_quan_by[pickid] = 0; //专门给券的判断用的
- }
-
- var cut_good_weight=0;
- //计算物流价格
- if (cart_item.exp_type == 0 && th.data.user_addr && !th.data.is_quan_by[pickid]) {
-
- //如果有包邮券的不包邮商品的时候
- if(quan_no_goods_arr) {
- if (back_data && back_data.no_free_goods) {
- back_data['is_by_all']=1;
- var arr3 = back_data.no_free_goods.filter(item => {
- return quan_no_goods_arr.includes(item)
- })
- back_data.no_free_goods = null;
- if (arr3.length) {
- back_data.no_free_goods = arr3;
- }
- }
- if (!back_data || !back_data.no_free_goods) {
- if (!back_data) back_data={};
- back_data['is_by_all']=1;
- back_data['no_free_goods']=quan_no_goods_arr;
- }
- }
-
- //--------循环计算总价-----------
- for (var j = 0; j < item.length; j++) {
-
- //如果是一件代发商品,不计算运费
- if(item[j].whsle_id) continue;
- //如果商品本身是包邮了
- if(item[j].is_free_shipping == 1) continue;
- //如果是优惠活动是包邮,就不用计算包邮的费用了
- if (item[j].is_past) continue;
- //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算--
- if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1 && th.data.is_quan_by[pickid]) {
- continue;
- }
-
- if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item[j].goods_id) == -1)) {
-
- if (item[j]['exp_sum_type'] == 2 && back_data.weight_free>0) {
- if (goods_weight < 0) goods_weight = 0;
- cut_good_weight += item[j]['weight'] * item[j]['goods_num'];
- goods_weight += item[j]['weight'] * item[j]['goods_num'];
- }
- if (back_data.weight_free > 0) {
- out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
- }
- continue;
-
- }
-
- switch (item[j]['exp_sum_type']) {
- case 1:
- //统一运费
- o_shipping_price += item[j]['uniform_exp_sum'];
- break;
- case 2:
- if (goods_weight < 0) goods_weight = 0;
- //累积商品重量 每种商品的重量 * 数量
- goods_weight += item[j]['weight'] * item[j]['goods_num'];
-
- if (back_data && back_data.is_by_all && !back_data.no_free_goods) {
- cut_good_weight += item[j]['weight'] * item[j]['goods_num'];
- if (back_data.weight_free > 0) {
- out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
- }
- }
- break;
- case 3:
- if (goods_piece < 0) goods_piece = 0;
- //累积商品数量
- goods_piece += item[j]['goods_num'];
- break;
- }
-
- }
-
- //如果是正值的时候
- if (out_of_weight >= 0) out_of_weight = -cut_good_weight;
- else out_of_weight = -back_data.weight_free * 1000;
-
- var code = "";
- if (th.data.wu_arr && th.data.wu_arr[cart_item.wind])
- code = th.data.wu_arr[cart_item.wind].code;
-
- // cart_item.shipping_price =
- // ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight,goods_piece, th.data.user_addr, back_data, rs);
-
- var w_data={
- store_id:os.stoid, code:code,
- o_shipping_price:o_shipping_price,
- goods_weight:goods_weight,
- out_of_weight:out_of_weight,goods_piece:goods_piece,
- user_addr_province:th.data.user_addr.province,
- user_addr_city:th.data.user_addr.city,
- user_addr_district:th.data.user_addr.district,
- is_by_all:back_data && back_data.is_by_all?1:0,
- no_free_goods:back_data && back_data.no_free_goods && back_data.no_free_goods.length>0?1:0,
- }
-
- var is_ok=1;
- await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', {data:w_data,is_json:1}).then(res=>{
- if(res.data.code==0){
- cart_item.shipping_price=res.data.data;
- }else{
- is_ok=0;
- }
- })
-
- if(!is_ok){
- wx.hideLoading();
- wx.showToast({
- title: "计算物流错误", icon: 'none',duration: 2000
- })
- //th.setData({ show_submit:0, });
-
- return false;
- }
-
- if (!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby != 1) {
- if (cart_item.shipping_price == 0) th.data.is_by[pickid] = 1; //已经全场包邮,就不要选择券了
- }
- } else if(cart_item.exp_type==1) {
- cart_item.shipping_price = 0;
- }
-
- cart_item.shipping_price = cart_item.shipping_price.toFixed(2);
- //总价计算,总价不包含运费
- cart_item.order_amount = (o_price - quan_price).toFixed(2);
- cart_item.total_amount = f_o_price.toFixed(2);
-
- var order_prom_amount = 0;
- var order_prom_id = 0;
- var o_condition = cart_item.order_amount;
- var t_o_condition=cart_item.order_amount;
-
-
- //看一下是不是不用组合购的订单优惠的叠加
- if (is_has_zh) {
- o_condition = o_price_no_zh - quan_price;
- }
- //看一下是不是不用组合购的订单优惠的叠加
- if (is_has_ladder) {
- o_condition = o_price_no_zh - quan_price;
- }
-
- if(whsle_goods_price>0){
- o_condition=o_condition-whsle_goods_price;
- t_o_condition=t_o_condition-whsle_goods_price;
- }
-
-
-
- var order_m = 0;
- //---判断是不是有订单优惠---
- await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
- data: { store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id }
- }).then(res => {
- if (res.data.code == 0) {
- var ord_prom = res.data.data;
- //么有使用券,或者活动没有限制使用优惠券
- if (quan_price <= 0 || !ord_prom.is_xz_yh) {
- order_prom_id = ord_prom['id'];
- switch (ord_prom['type']) {
- case 0:
- order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
- order_prom_amount = (o_condition - order_m).toFixed(2);
- break;
- case 1:
- //order_m = o_condition - ord_prom['expression'];//满额优惠金额
- var bs=1;
- if(ord_prom.is_bz){
- bs=Math.floor(o_condition/ord_prom.money);
- }
- order_prom_amount = ord_prom['expression'];
- break;
- }
- }
- }
- })
-
- cart_item.order_prom_amount = 0;
- //--订单优惠的显示--
- if (order_prom_id > 0) {
- cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2);
- cart_item.order_prom_id = order_prom_id;
- cart_item.order_prom_amount = order_prom_amount;
- }
- coupon_price = quan_price;
- if (cart_item.order_amount < 0) {
- cart_item.order_amount = 0;
- coupon_price = o_price;
- }
-
-
- //-- 在选择到同城配送的时候 --
- if(c_arr[i].exp_type==2 && th.data.user_addr){
-
- var gd_w=0;
- for (let ib in c_arr[i].goods) {
- let item_bb = c_arr[i].goods[ib];
- gd_w += item_bb['weight'] * item_bb['goods_num'];
- }
-
- if(!lon) {
- //-- 获取距离 --
- await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
- is_json: 1, data: {address: th.data.user_addr.more_address + th.data.user_addr.address}
- }).then(res => {
- if (res.data.code == 0) {
- var data = JSON.parse(res.data.data);
- if (data.status == 0) {
- lon = data.result.location.lng;
- lat = data.result.location.lat;
- }
- }
- })
- }
-
-
- var req_data={
- store_id:os.stoid, order_amount: parseFloat(cart_item.order_amount),
- lon:lon,lat:lat, pickup_id:c_arr[i].pickup_id, goods_weight:gd_w
- }
- var is_next=1;
-
- //获取同城配送参数
- await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", {is_json:1,data:req_data}).then(res=>{
- if(res.data.code==0){
- cart_item.shipping_price = res.data.data;
- }else{
- is_next=0;
-
- if(qfunc) qfunc();
- else{
- wx.showToast({
- title: res.data.msg,
- icon: 'none',
- duration: 2000
- })
- }
- }
- })
- if(!is_next) return false
- }
+ }
+ item_map.s_libao = get_data.libao;
+ item_map.s_lb_num = get_data.lb_num;
+ //专享礼包
+ item_map.zx_libao = get_data.zxlibao;
+ item_map.zx_lb_num = get_data.zxlb_num;
+ if (parseInt(get_data.zp_mode) == 1) {
+ if (!send_gf[pickid]) send_gf[pickid] = [];
+ var can_zp_num = 0;
+ for (let iy in get_data.giftsinfo) {
+ let item = get_data.giftsinfo[iy];
+ can_zp_num += parseInt(item.gift_storecount) > parseInt(item.limit_num) ? parseInt(item.limit_num) : parseInt(item.gift_storecount);
+ }
+ var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs);
+ if (duo_zp_num_arr[item_map.prom_id]) {
+ t_zp_num += duo_zp_num_arr[item_map.prom_id];
+ }
- cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额
- cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额
- cart_item.total_amount = cart_item.total_amount.toFixed(2);
- cart_item.order_amount = cart_item.order_amount.toFixed(2);
+ if (can_zp_num >= t_zp_num) {
+ send_gf[pickid].push({
+ pickup_id: pickid,
+ giftsinfo: get_data.giftsinfo,
+ zp_num: get_data.zp_num * get_data.bs,
+ gf_pr_name: item_map.name,
+ prom_id: item_map.prom_id
+ });
- //-- 最后的金额小于佣金 --
- if(cart_item.order_amount=0 && item_map.price-item_map.prom_price){
+ if (item_map.price - item_map.prom_price && item_map.prom_price !== null) {
+ if (cart_item.prom_pt_json) {
+ cart_item.prom_pt_json.push({
+ "prom_id": item_map.prom_id,
+ "dis": (item_map.price - item_map.prom_price).toFixed(2),
+ "ispt": 0
+ })
+ } else {
+ cart_item.prom_pt_json = [{
+ "prom_id": item_map.prom_id,
+ "dis": (item_map.price - item_map.prom_price).toFixed(2),
+ "ispt": 0
+ }];
+ }
- if(th.data.cart_use_commission){
- wx.showToast({
- title: '应付金额小于本单佣金,不可使用!',
- icon: 'none',
- duration: 2000
- })
- }
+ //-- 如果系统要平摊到单品 --
- th.setData({
- cart_use_commission:0
- });
+ var pt_data = {
+ 'prom_id': item_map.prom_id,
+ 'dis': parseFloat((item_map.price - item_map.prom_price).toFixed(2)),
+ 'goods': item_map.goods
+ }
+ var pt_res = null;
+ await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
+ is_json: 1,
+ data: pt_data
+ }).then(res => {
+ if (res.data.code == 0) {
+ pt_res = res.data.data;
+ }
+ })
+ if (pt_res) {
+ for (var io in item_map.goods) {
+ //平摊赋值
+ item_map.goods[io].account_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account;
+ item_map.goods[io].account_yu_fir = th.arr_get_goods(item_map.goods[io].goods_id, pt_res).fisrt_account_yu;
+ if (!th.data.ispt_goods) {
+ item_map.goods[io].account = item_map.goods[io].account_fir;
+ item_map.goods[io].account_yu = item_map.goods[io].account_yu_fir;
+ }
+ }
+ }
- }
+ o_price -= (item_map.price - item_map.prom_price);
+ //如果有限制使用优惠券,就要减掉参与的活动商品的钱
+ if (!item_map.is_xz_yh) q_conditin = o_price;
+ }
+
+ //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表-----------
+ for (var j = 0; j < ord_goods.length; j++) {
+ if (ord_goods[j].is_gift) continue;
+ if (ord_goods[j].whsle_id) continue;
+ if (ord_goods[j].prom_type == 3 && ord_goods[j].prom_id == item_map.prom_id) {
+ ord_goods[j].is_xz_yh = ord_goods[j].is_xz_yh ? ord_goods[j].is_xz_yh : item_map.is_xz_yh;
+ ord_goods[j].is_past = item_map.is_past;
+ ord_goods[j].account_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_fir;
+ ord_goods[j].account_yu_fir = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu_fir;
+ ord_goods[j].account = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account;
+ ord_goods[j].account_yu = th.item_map_get_goods(ord_goods[j].goods_id, item_map).account_yu;
+ }
+ }
+
+
+ //--优惠多少钱--
+ if (!cart_item.cut_price) cart_item.cut_price = 0;
+ //-- --
+ if (item_map.price != undefined && item_map.price != null
+ && item_map.prom_price != undefined && item_map.prom_price != null)
+ cart_item.cut_price += (item_map.price - item_map.prom_price);
+ //---如果有送积分---
+ if (item_map.s_intValue) {
+ if (!cart_item.s_intValue) cart_item.s_intValue = 0;
+ cart_item.s_intValue += item_map.s_intValue;
+ }
+ //-- 如果有送优惠券的情况 --
+ if (item_map.s_coupon_id) {
+ if (!cart_item.s_coupon_id) {
+ cart_item.s_coupon_id = item_map.s_coupon_id + "";
+ cart_item.g_coupon_num = [{ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num }];
+ }
+ else {
+ cart_item.s_coupon_id += "," + item_map.s_coupon_id;
+ cart_item.g_coupon_num.push({ 'c_id': item_map.s_coupon_id, "num": item_map.s_coupon_num })
+ }
+ }
+ //-- 如果有送礼包的情况 --
+ if (item_map.s_libao) {
+ if (!cart_item.s_libao) {
+ cart_item.s_libao = item_map.s_libao + "";
+ cart_item.g_lb_num = [{ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle }];
+ }
+ else {
+ cart_item.s_libao += "," + item_map.s_libao;
+ cart_item.g_lb_num.push({ 'l_id': item_map.s_libao, "num": item_map.s_lb_num, 'lbtitle': item_map.lbtitle })
+ }
+ }
- if(th.data.cart_use_commission){
- cart_item.order_amount-=cart_item.can_usecommise;
- }
+ if (item_map.zx_libao) {
+ if (!cart_item.zx_libao) {
+ cart_item.zx_libao = item_map.zx_libao + "";
+ cart_item.g_zxlb_num = [{ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle }];
+ }
+ else {
+ cart_item.zx_libao += "," + item_map.zx_libao;
+ cart_item.g_zxlb_num.push({ 'l_id': item_map.zx_libao, "num": item_map.zx_lb_num, 'zxlbtitle': item_map.zxlbtitle })
+ }
+ }
+ }
+ }
+ }
- //搭配购在使用余额
- if (th.data.bn_use_money == 1 && th.data.is_b_now == 1) {
-
- if (umoney > cart_item.order_amount) {
- cart_item.user_money = cart_item.order_amount;
- umoney = umoney - cart_item.order_amount;
- } else {
- cart_item.user_money = umoney;
- umoney = 0;
- }
-
- } else {
- //--------------如果使用余额,购物车购买---------------------
- if (th.data.js_use_money == 1) {
- if (umoney > cart_item.order_amount) {
- cart_item.user_money = cart_item.order_amount;
- umoney = umoney - cart_item.order_amount;
- } else {
- cart_item.user_money = umoney;
- umoney = 0;
- }
- } else {
- cart_item.user_money = 0;
- }
- }
- cart_item.user_money = parseFloat(cart_item.user_money).toFixed(2);
- if (coupon_price > 0) cart_item.coupon_price = coupon_price.toFixed(2);
- else cart_item.coupon_price = coupon_price
- if (quan_no) cart_item.quan_no = quan_no;
+ var arr = Object.keys(send_gf);
+ var arr2 = Object.keys(th.data.send_gf);
+ if (arr2.length > 0) return false;
+ th.calclate_lbNum(c_arr);
+ if (arr.length > 0) {
+ th.setData({ send_gf: send_gf })
+ } else {
+ th.setData({ send_gf: {} })
+ }
+ },
+
+
+
+ calclate_lbNum(r_data) {
+ let send_lb = this.data.send_lb;
+ //g_lb_num我的礼包 g_zxlb_num专享礼包
+ r_data.forEach(r_d => {
+ let arr = [];
+ if (r_d.g_zxlb_num) {
+ let g_lb = r_d.g_zxlb_num;
+ for (let i = 0; i < g_lb.length; i++) {
+ let item = g_lb[i];
+ let new_lb = g_lb.filter(lb => {
+ return item.l_id === lb.l_id;
+ });
+ if (new_lb.length == 1) {
+ arr.push(item);
+ } else {
+ item.num = new_lb.reduce((pre, next) => {
+ return pre + next.num;
+ }, 0);
+ arr.push(item);
+ g_lb = g_lb.filter(ii => {
+ return ii.l_id !== item.l_id;
+ });
+ }
+ send_lb[r_d.pickup_id] = arr;
+ }
+ }
+ if (r_d.g_lb_num) {
+ let zx_lb = r_d.g_lb_num;
+ for (let i = 0; i < zx_lb.length; i++) {
+ let item = zx_lb[i];
+ item.flag = 1;
+ let new_lb = zx_lb.filter(lb => {
+ return item.l_id === lb.l_id;
+ });
+ if (new_lb.length == 1) {
+ arr.push(item);
+ } else {
+ item.num = new_lb.reduce((pre, next) => {
+ return pre + next.num;
+ }, 0);
+ arr.push(item);
+ zx_lb = zx_lb.filter(ii => {
+ return ii.l_id !== item.l_id;
+ });
+ }
+ send_lb[r_d.pickup_id] = arr;
+ }
+ }
+ })
+ this.setData({
+ send_lb,
+ })
+
+ },
+
+ //-------------------计算订单价格-------------------
+ calculatePrice: async function (qfunc) {
+ var th = this;
+ th.setData({ submit: 1 });
+
+ wx.showLoading({
+ title: "处理中.",
+ mask: true
+ })
+ //-- to.getwuliuprice(async function (rs) { --
+
+ //是不是区域包邮
+ th.data.is_area_by = 0;
+ //当不是区域不包邮的时候,没有不包邮商品的时候
+ th.data.free1 = 0;
+ th.data.cut_o_shipping_price = 0;
+ th.data.cut_goods_piece = 0;
+ th.data.cut_goods_weight = 0;
+
+ var all_price = 0; //所有的商品总价
+ var all_shipping_m = 0; //所有的物流总价
+ var all_total_m = 0; //所有的订单应付总价
+ var all_order_m = 0; //所有的订单应付总价
+ var all_user_m = 0; //所有的订单用户使用金额
+ var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格
+ var all_cutprice = 0; //所有的优惠减
+ var all_zh_cutprice = 0; //所有的组合优惠减
+ var all_ladder_cutprice = 0; //所有的阶梯促销优惠减
+ var all_order_prom = 0; //所有的订单优惠
+
+ var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0);
+ var out_of_weight = 0; //超出多少重量
+ var c_arr = JSON.parse(JSON.stringify(th.data.old_cartlist));
+
+ if (th.data.cartlist && th.data.cartlist.length > 0) {
+ for (var i = 0; i < c_arr.length; i++) {
+ c_arr[i].exp_type = th.data.cartlist[i].exp_type;
+ c_arr[i].wind = th.data.cartlist[i].wind;
+ }
+ }
- //cart_item.goods_price = o_price.toFixed(2);
- cart_item.order_amount = cart_item.order_amount - cart_item.user_money; //会员使用余额
+ //调用函数计算每件商品的单价
+ await th.calc_per(c_arr);
+
+ //调用函数计算每件组合购商品的单价,
+ await zh_calc.calc_zh_split_price(c_arr, th);
+
+ //调用函数计算每件阶梯促销商品的单价,
+ await ladder_calc.calc_split_price(c_arr, th);
+ //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品
+
+ await th.get_cart_quan(c_arr);
+
+
+ //-- 经纬度不循环调用接口 --
+ var lon = 0; var lat = 0;
+ //---循环购物车---
+ for (var i in c_arr) {
+ //因为搭配购买也是再这里计算,搭配购的is_b_now==1
+ if (th.data.is_b_now == 0) {
+ //此时物流的选择方式要用th.data.cartlist;
+ c_arr[i].exp_type = th.data.cartlist[i].exp_type;
+ c_arr[i].wind = th.data.cartlist[i].wind;
+ if (th.data.cartlist[i].check_quan_price_list) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格
+ if (th.data.cartlist[i].check_quan_ware_list) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品
+ } else {
+ c_arr[i].exp_type = th.data.bn_exp_type; //配送方式
+ c_arr[i].wind = th.data.index; //立即购买选择的物流
+ //c_arr[i].=th.data. //立即购买的使用余额
+ if (th.data.cartlist) c_arr[i].check_quan_price_list = th.data.cartlist[i].check_quan_price_list; //优惠券优惠什么商品价格
+ if (th.data.cartlist) c_arr[i].check_quan_ware_list = th.data.cartlist[i].check_quan_ware_list; //优惠券优惠什么商品
+ }
+
+
+ var cart_item = c_arr[i]; //就是每一单的意思
+ var pickid = cart_item.pickup_id;
+ var o_price = 0;
+ var o_price_no_zh = 0; //参与订单优惠叠加--组合购的金额汇总
+ var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
+ var item = c_arr[i].goods; //就是每一单的从表的意思
+
+ //---如果有选择优惠券的情况下---
+ var quan_price = 0;
+ var coupon_price = 0;
+ var quan_no = null;
+ var is_has_zh = c_arr[i].is_has_zh;
+ var is_has_ladder = c_arr[i].is_has_ladder;
+
+ var zh_prom_goods = c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间
+ var ladder_prom_goods = c_arr[i].ladder_prom_goods; //组合购计算的原始数据存储空间
+
+ if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined)
+ quan_no = th.data.using_quan[pickid].coupon_no;
+
+ //普通券的时候
+ if (quan_no && th.data.using_quan[pickid].isby != 1) {
+ //---获取优惠券优惠---
+ await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
+ data: {
+ storeId: oo.stoid,
+ CashRepNo: quan_no,
+ WaresSum: cart_item.check_quan_price_list,
+ WareIds: cart_item.check_quan_ware_list
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
+ var q_data = res.data.data;
+ //--存储商品优惠的内容--
+ cart_item.quan_youhui_list = q_data;
+ for (var k in q_data)
+ quan_price += q_data[k].WareCashSum;
+ }
+ })
+ }
- all_price += parseFloat(f_o_price);
- all_total_m += parseFloat(cart_item.total_amount);
- all_shipping_m += parseFloat(cart_item.shipping_price);
- all_order_m += parseFloat(cart_item.order_amount);
- all_user_m += parseFloat(cart_item.user_money);
- all_coupon_price_m += parseFloat(cart_item.coupon_price);
- all_cutprice += parseFloat(cart_item.cut_price);
- all_zh_cutprice += parseFloat(cart_item.zh_cut_price);
- all_ladder_cutprice += parseFloat(cart_item.ladder_cut_price);
- all_order_prom += parseFloat(cart_item.order_prom_amount);
- }
+ var whsle_goods_price = 0;
+ //--------循环计算总价-----------
+ for (var j = 0; j < item.length; j++) {
- all_shipping_m = parseFloat(all_shipping_m).toFixed(2);
- all_total_m = parseFloat(all_total_m).toFixed(2);
- all_order_m = parseFloat(all_order_m).toFixed(2);
- all_price = parseFloat(all_price).toFixed(2);
- all_user_m = parseFloat(all_user_m).toFixed(2);
- all_total_m = parseFloat(all_total_m).toFixed(2);
- all_coupon_price_m = parseFloat(all_coupon_price_m).toFixed(2);
- all_cutprice = all_cutprice.toFixed(2);
- all_order_prom = all_order_prom.toFixed(2);
- all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2);
- all_ladder_cutprice = parseFloat(all_ladder_cutprice).toFixed(2);
-
- var atxt = "formData.total_amount";
- var atxt1 = "formData.order_amount";
- var atxt2 = "formData.all_price";
- var atxt3 = "formData.user_money";
- var atxt4 = "formData.shipping_price";
- var atxt5 = "formData.coupon_price";
- var atxt6 = "formData.cut_price";
- var atxt7 = "formData.order_prom_amount";
- var atxt8 = "formData.zh_cut_price";
- var atxt9 = "formData.ladder_cut_price";
+ if (item[j].whsle_id > 0) {
+ whsle_goods_price += item[j].goods_price * item[j].goods_num;
+ }
- th.setData({
- [atxt]: all_total_m, [atxt1]: all_order_m,
- [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m,
- [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice,
- [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice, [atxt9]: all_ladder_cutprice,submit:0
- })
- th.data.order_prom_list_cart = c_arr;
- th.set_can_num();
- wx.hideLoading();
+ var is_no_zh = 0;
+ if (item[j].prom_type != 7 && item[j].prom_type != 10) is_no_zh = 1;
- //});
- },
+ //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加
+ if (item[j].prom_type == 7 && th.data.zhhe_act_map && th.data.zhhe_act_map[item[j].prom_id]
+ && th.data.zhhe_act_map[item[j].prom_id].is_orderyh) {
+ is_no_zh = 1;
+ }
+ //阶梯购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加
+ if (item[j].prom_type == 10 && ladder_prom_goods && ladder_prom_goods[item[j].prom_id]
+ && th.data.ladder_map[item[j].prom_id].is_useorderyh) {
+ is_no_zh = 1;
+ }
- set_can_num: function () {
- var th = this;
- //-- 这个地方,循环计算几张优惠券可用--
- for (var iter in th.data.cartlist) {
- var num = 0;
- var c_item = th.data.cartlist[iter];
- var pkid = c_item.pickup_id;
- //-- 普通券 --
- if (c_item.quan_list) {
- for (var iter1 in c_item.quan_list) {
- //判断是不是其他订单有选用
- var is_other_is_use = th.check_other_use(c_item.quan_list[iter1], pkid);
- if (!is_other_is_use) num++;
- }
+ if (is_no_zh) {
+ o_price_no_zh += item[j].goods_price * item[j].goods_num;
+ }
+ o_price += item[j].goods_price * item[j].goods_num;
+
+ }
+ //判断是不是有组合购的金额
+ var f_o_price = o_price;
+ //如果又优惠的钱,就要减价
+ if (c_arr[i].cut_price > 0) {
+ o_price -= c_arr[i].cut_price;
+ o_price_no_zh -= c_arr[i].cut_price;
+ }
+ //如果有组合购优惠的钱,就要减价
+ if (c_arr[i].zh_cut_price > 0 || c_arr[i].zh_cut_price < 0) {
+ o_price -= c_arr[i].zh_cut_price;
+ if (o_price_no_zh > 0) {
+ //找到那些可以订单优惠叠加的
+ for (let ij in zh_prom_goods) {
+ let kitem = zh_prom_goods[ij];
+ if (kitem.act.is_orderyh)
+ o_price_no_zh -= kitem.cut_price;
+ }
+ }
+ }
+
+ //如果有组合购优惠的钱,就要减价
+ if (c_arr[i].ladder_cut_price > 0 || c_arr[i].ladder_cut_price < 0) {
+ o_price -= c_arr[i].ladder_cut_price;
+ if (o_price_no_zh > 0) {
+ //找到那些可以订单优惠叠加的
+ for (let ij in ladder_prom_goods) {
+ let kitem = ladder_prom_goods[ij];
+ if (th.data.ladder_map[ij].is_useorderyh)
+ o_price_no_zh -= kitem.cut_price;
+ }
+ }
+ }
+
+ //-- 计算线下取价的功能 --
+ if (cart_item.is_offline == 1) {
+ o_price = o_price - cart_item.offline_price;
+ o_price_no_zh -= c_arr[i].offline_price;
+ }
+ //判断包邮券的钱,组合购的商品不使用优惠券
+ var q_conditin = 0;
+ q_conditin = o_price - quan_price;
+ if (is_has_zh) {
+ q_conditin = o_price_no_zh - quan_price;
+ }
+ cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算
+ //计算物流费用
+ cart_item.shipping_price = 0;
+
+ th.data.is_no_past = 1; //不包邮标识符
+
+ var back_data = null;
+ var quan_no_goods_arr = null;
+ //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额--
+ if (cart_item.exp_type == 0 && th.data.user_addr != null && !cart_item.is_xz_yh) {
+ //看是不是有调用过包邮券
+ if (!th.data.isget_by_quan[pickid]) {
+ //--判断要不要显示包邮券,调用接口,因为有for循环---
+ await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
+ data: {
+ store_id: os.stoid,
+ isuse: 0,
+ //condition: q_conditin,
+ condition: cart_item.ckeck_quan_price,
+ user_id: getApp().globalData.user_id,
+ pageSize: 2000
}
- //-- 包邮券 --
- var by_quan = th.data.get_by_quan_list_cart[pkid];
- if (by_quan && c_item.exp_type==0) {
- for (var iter2 in by_quan) {
- //判断是不是其他订单有选用
- var is_other_is_use = th.check_other_use_by(by_quan[iter2], pkid);
- if (!is_other_is_use) num++;
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data.total > 0) {
+ //此时要循环判断包邮的地区,不包邮商品是不是符合
+ var arr = [], quanlist = res.data.data.pageData;
+ quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
+ for (var i in quanlist) {
+ var item = quanlist[i];
+ var goods = cart_item.goods;
+ var g_arr = [];
+ for (var ii in goods) {
+ g_arr.push(goods[ii].goods_id);
+ }
+ if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
+ if (item.goods_list) {
+ var no_goods_arr = item.goods_list.split(",");
+ if (ut.isContained(no_goods_arr, g_arr)) continue; //如果是不包邮商品
}
+ arr.push(item);
+ }
+ if (arr) {
+ th.data.get_by_quan_list_cart[pickid] = arr;
+ th.setData({ get_by_quan_list_cart: th.data.get_by_quan_list_cart });
+ //if (th.data.is_b_now) {
+ // th.setData({get_by_quan_list: arr});
+ //}
+ }
+ th.data.isget_by_quan[pickid] = 1;
}
- var set_txt = "cartlist[" + iter + "].can_num";
- th.setData({ [set_txt]: num });
+ })
}
- },
-
- //---------计算立即购买----------
- calculatePrice2: async function (qfunc) {
- var th = this, good = this.data.bn_goods;
-
- if (!good) return false;
-
- //搭配的计算要用购物的车计算方法
- if (good.prom_type == 5) {
- th.calculatePrice();
- return false;
+ var user_addr = th.data.user_addr;
+ var req_d = {
+ province: user_addr.province, city: user_addr.city, district: user_addr.district,
+ wuliu: parseFloat(o_price - quan_price - whsle_goods_price).toFixed(2), store_id: os.stoid
}
+ await getApp().request.promisePost("/api/weshop/order/areaFreight", {
+ is_json: 1, data: req_d
+ }).then(rs => {
+ if (rs.data.code == 0) back_data = rs.data.data;
+ });
- th.setData({submit:1});
- wx.showLoading({
- title: "处理中.",
- mask:true
- })
+ }
- //-----------计算商品总价--------------
- var allpice = good.shop_price * good.buynum;
- var cut_price = 0;
- var allpice1 = allpice;
+ //如果是包邮券的时候,要看看券的情况
+ if (quan_no && th.data.using_quan[pickid].isby == 1) {
+ var quan = th.data.using_quan[pickid];
+ if (!quan.goods_list) {
+ th.data.is_quan_by[pickid] = 1; //专门给券的判断用的
+ } else {
+ th.data.is_quan_by[pickid] = 0;
+ quan_no_goods_arr = quan.goods_list.split(",");
- if (good.prom_type == 3 && good.prom_price !== null) {
- cut_price = allpice - good.prom_price;
+ }
+ } else {
+ th.data.is_quan_by[pickid] = 0; //专门给券的判断用的
+ }
+
+ var cut_good_weight = 0;
+ //计算物流价格
+ if (cart_item.exp_type == 0 && th.data.user_addr && !th.data.is_quan_by[pickid]) {
+
+ //如果有包邮券的不包邮商品的时候
+ if (quan_no_goods_arr) {
+ if (back_data && back_data.no_free_goods) {
+ back_data['is_by_all'] = 1;
+ var arr3 = back_data.no_free_goods.filter(item => {
+ return quan_no_goods_arr.includes(item)
+ })
+ back_data.no_free_goods = null;
+ if (arr3.length) {
+ back_data.no_free_goods = arr3;
+ }
+ }
+ if (!back_data || !back_data.no_free_goods) {
+ if (!back_data) back_data = {};
+ back_data['is_by_all'] = 1;
+ back_data['no_free_goods'] = quan_no_goods_arr;
+ }
}
- allpice = parseFloat(allpice).toFixed(2);
- var txt = "formData.all_price";
- th.setData({ [txt]: allpice, });
- if (cut_price) {
- var c_txt = "formData.cut_price";
- th.setData({ [c_txt]: cut_price, });
+ //--------循环计算总价-----------
+ for (var j = 0; j < item.length; j++) {
+
+ //如果是一件代发商品,不计算运费
+ if (item[j].whsle_id) continue;
+ //如果商品本身是包邮了
+ if (item[j].is_free_shipping == 1) continue;
+ //如果是优惠活动是包邮,就不用计算包邮的费用了
+ if (item[j].is_past) continue;
+ //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算--
+ if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1 && th.data.is_quan_by[pickid]) {
+ continue;
+ }
+
+ if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item[j].goods_id) == -1)) {
+
+ if (item[j]['exp_sum_type'] == 2 && back_data.weight_free > 0) {
+ if (goods_weight < 0) goods_weight = 0;
+ cut_good_weight += item[j]['weight'] * item[j]['goods_num'];
+ goods_weight += item[j]['weight'] * item[j]['goods_num'];
+ }
+ if (back_data.weight_free > 0) {
+ out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
+ }
+ continue;
+
+ }
+
+ switch (item[j]['exp_sum_type']) {
+ case 1:
+ //统一运费
+ o_shipping_price += item[j]['uniform_exp_sum'];
+ break;
+ case 2:
+ if (goods_weight < 0) goods_weight = 0;
+ //累积商品重量 每种商品的重量 * 数量
+ goods_weight += item[j]['weight'] * item[j]['goods_num'];
+
+ if (back_data && back_data.is_by_all && !back_data.no_free_goods) {
+ cut_good_weight += item[j]['weight'] * item[j]['goods_num'];
+ if (back_data.weight_free > 0) {
+ out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
+ }
+ }
+ break;
+ case 3:
+ if (goods_piece < 0) goods_piece = 0;
+ //累积商品数量
+ goods_piece += item[j]['goods_num'];
+ break;
+ }
}
- //如果有线下取价的时候
- if (good.is_offline) {
- allpice = good.offline_price * good.buynum;
+ //如果是正值的时候
+ if (out_of_weight >= 0) out_of_weight = -cut_good_weight;
+ else out_of_weight = -back_data.weight_free * 1000;
+
+ var code = "";
+ if (th.data.wu_arr && th.data.wu_arr[cart_item.wind])
+ code = th.data.wu_arr[cart_item.wind].code;
+
+ // cart_item.shipping_price =
+ // ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight,goods_piece, th.data.user_addr, back_data, rs);
+
+ var w_data = {
+ store_id: os.stoid, code: code,
+ o_shipping_price: o_shipping_price,
+ goods_weight: goods_weight,
+ out_of_weight: out_of_weight, goods_piece: goods_piece,
+ user_addr_province: th.data.user_addr.province,
+ user_addr_city: th.data.user_addr.city,
+ user_addr_district: th.data.user_addr.district,
+ is_by_all: back_data && back_data.is_by_all ? 1 : 0,
+ no_free_goods: back_data && back_data.no_free_goods && back_data.no_free_goods.length > 0 ? 1 : 0,
}
- //to.getwuliuprice(async function (rs) {
+ var is_ok = 1;
+ await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', { data: w_data, is_json: 1 }).then(res => {
+ if (res.data.code == 0) {
+ cart_item.shipping_price = res.data.data;
+ } else {
+ is_ok = 0;
+ }
+ })
- var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
- var out_of_weight = null; //超出多少重量
+ if (!is_ok) {
+ wx.hideLoading();
+ wx.showToast({
+ title: "计算物流错误", icon: 'none', duration: 2000
+ })
+ //th.setData({ show_submit:0, });
- //---如果有选择优惠券的情况下---
- var quan_price = 0, bn_pick = th.data.bn_pick;
- var quan_no = null;
- if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined)
- quan_no = th.data.using_quan[bn_pick].coupon_no;
+ return false;
+ }
- if (quan_no) {
- //如果是一件代发就不要找商品
- if (th.data.using_quan[bn_pick].isby != 1 && !good.whsle_id) {
- //---获取优惠券优惠---
- await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
- data: {
- storeId: oo.stoid,
- CashRepNo: quan_no,
- WaresSum: th.data.ckeck_quan_price,
- WareIds: th.data.check_quan_ware_list
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
- quan_price = res.data.data[0].WareCashSum;
- }
- })
- }
+ if (!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby != 1) {
+ if (cart_item.shipping_price == 0) th.data.is_by[pickid] = 1; //已经全场包邮,就不要选择券了
+ }
+ } else if (cart_item.exp_type == 1) {
+ cart_item.shipping_price = 0;
+ }
+
+ cart_item.shipping_price = cart_item.shipping_price.toFixed(2);
+ //总价计算,总价不包含运费
+ cart_item.order_amount = (o_price - quan_price).toFixed(2);
+ cart_item.total_amount = f_o_price.toFixed(2);
+
+ var order_prom_amount = 0;
+ var order_prom_id = 0;
+ var o_condition = cart_item.order_amount;
+ var t_o_condition = cart_item.order_amount;
+
+
+ //看一下是不是不用组合购的订单优惠的叠加
+ if (is_has_zh) {
+ o_condition = o_price_no_zh - quan_price;
+ }
+ //看一下是不是不用组合购的订单优惠的叠加
+ if (is_has_ladder) {
+ o_condition = o_price_no_zh - quan_price;
+ }
+
+ if (whsle_goods_price > 0) {
+ o_condition = o_condition - whsle_goods_price;
+ t_o_condition = t_o_condition - whsle_goods_price;
+ }
+
+
+
+ var order_m = 0;
+ //---判断是不是有订单优惠---
+ await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
+ data: { store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id }
+ }).then(res => {
+ if (res.data.code == 0) {
+ var ord_prom = res.data.data;
+ //么有使用券,或者活动没有限制使用优惠券
+ if (quan_price <= 0 || !ord_prom.is_xz_yh) {
+ order_prom_id = ord_prom['id'];
+ switch (ord_prom['type']) {
+ case 0:
+ order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
+ order_prom_amount = (o_condition - order_m).toFixed(2);
+ break;
+ case 1:
+ //order_m = o_condition - ord_prom['expression'];//满额优惠金额
+ var bs = 1;
+ if (ord_prom.is_bz) {
+ bs = Math.floor(o_condition / ord_prom.money);
}
+ order_prom_amount = ord_prom['expression'];
+ break;
+ }
+ }
+ }
+ })
+
+ cart_item.order_prom_amount = 0;
+ //--订单优惠的显示--
+ if (order_prom_id > 0) {
+ cart_item.order_amount = (o_price - quan_price - order_prom_amount).toFixed(2);
+ cart_item.order_prom_id = order_prom_id;
+ cart_item.order_prom_amount = order_prom_amount;
+ }
+ coupon_price = quan_price;
+ if (cart_item.order_amount < 0) {
+ cart_item.order_amount = 0;
+ coupon_price = o_price;
+ }
+
+
+ //-- 在选择到同城配送的时候 --
+ if (c_arr[i].exp_type == 2 && th.data.user_addr) {
+
+ var gd_w = 0;
+ for (let ib in c_arr[i].goods) {
+ let item_bb = c_arr[i].goods[ib];
+ gd_w += item_bb['weight'] * item_bb['goods_num'];
+ }
- var gd_arr_list = [];
- gd_arr_list.push(good);
- if (th.data.buy_now_gift_goods) {
- gd_arr_list = [...gd_arr_list, ...th.data.buy_now_gift_goods];
- }
+ if (!lon) {
+ //-- 获取距离 --
+ await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
+ is_json: 1, data: { address: th.data.user_addr.more_address + th.data.user_addr.address }
+ }).then(res => {
+ if (res.data.code == 0) {
+ var data = JSON.parse(res.data.data);
+ if (data.status == 0) {
+ lon = data.result.location.lng;
+ lat = data.result.location.lat;
+ }
+ }
+ })
+ }
- //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮----------
- if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_past != 1) {
- //看是不是有调用过包邮券
- if (!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh != 1) {
- var condition = allpice - cut_price - quan_price;
- //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱---
- getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
- data: {
- store_id: os.stoid,
- isuse: 0,
- condition: condition,
- user_id: getApp().globalData.user_id,
- pageSize: 2000
- }
- }).then(res => {
- if (res.data.code == 0 && res.data.data.total > 0) {
- //此时要循环判断包邮的地区,不包邮商品是不是符合
- var arr = [], quanlist = res.data.data.pageData;
- quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
- for (var i in quanlist) {
- var item = quanlist[i];
- if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
- if (item.goods_list) {
- var no_goods_arr = item.goods_list.split(",");
- if (ut.isContained(no_goods_arr, gd_arr_list)) continue; //如果是不包邮商品
- }
- arr.push(item);
- }
- if (arr) {
- th.setData({ get_by_quan_list: arr });
- }
- th.data.isget_by_quan[th.data.bn_pick] = 1;
- }
- })
- }
- var shipping_price =0;
- var quan_no_goods_arr=null;
- var is_by_quan=0;
- var pickid=th.data.bn_pick;
-
- //如果是包邮券的时候,要看看券的情况,判断一下包邮有没有不包邮模板
- if (quan_no && th.data.using_quan[pickid].isby == 1) {
- var quan = th.data.using_quan[pickid];
- if (quan.goods_list) {
- quan_no_goods_arr=quan.goods_list.split(",");
- }else{
- is_by_quan=1;
- }
- }
- if(!is_by_quan) {
- var user_addr = th.data.user_addr;
- var req_d = {
- province: user_addr.province,
- city: user_addr.city,
- district: user_addr.district,
- wuliu: parseFloat(parseFloat(allpice) - cut_price - quan_price).toFixed(2),
- store_id: os.stoid
- }
- var back_data = null;
- await getApp().request.promisePost("/api/weshop/order/areaFreight", {
- is_json: 1, data: req_d
- }).then(rs => {
- if (rs.data.code == 0) back_data = rs.data.data;
- });
-
- //如果有包邮券的不包邮商品的时候
- if(quan_no_goods_arr) {
- if (back_data && back_data.no_free_goods) {
- back_data['is_by_all']=1;
- var arr3 = back_data.no_free_goods.filter(item => {
- return quan_no_goods_arr.includes(item)
- })
- back_data.no_free_goods = null;
- if (arr3.length) {
- back_data.no_free_goods = arr3;
- }
- }
- if (!back_data || !back_data.no_free_goods) {
- if (!back_data) back_data={};
- back_data['is_by_all']=1;
- back_data['no_free_goods']=quan_no_goods_arr;
- }
- }
-
- var cut_good_weight = 0;
- for (let i in gd_arr_list) {
- let item = gd_arr_list[i];
-
- if(good.is_free_shipping==1) continue;
- //-- 代发商品不算运费 --
- if(good.whsle_id) continue;
-
- if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
-
- if (item['exp_sum_type'] == 2 && back_data.weight_free>0) {
- if (goods_weight < 0) goods_weight = 0;
- goods_weight += item['weight'] * item['buynum'];
- cut_good_weight += item['weight'] * item['buynum'];
- }
- if (back_data.weight_free > 0) {
- out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
- }
- continue;
-
- }
-
- switch (item['exp_sum_type']) {
- case 1:
- //统一运费
- o_shipping_price += item['uniform_exp_sum'];
- break;
- case 2:
- if (goods_weight < 0) goods_weight = 0;
- //累积商品重量 每种商品的重量 * 数量
- goods_weight += item['weight'] * item['buynum'];
-
- if (back_data && back_data.is_by_all && !back_data.no_free_goods) {
- cut_good_weight += item['weight'] * item['buynum'];
- if (back_data.weight_free > 0) {
- out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
- }
- }
- break;
- case 3:
- if (goods_piece < 0) goods_piece = 0;
- //累积商品数量
- goods_piece += parseInt(item['buynum']) ;
- break;
- }
- }
-
- //如果是正值的时候
- if (out_of_weight >= 0) out_of_weight = -cut_good_weight;
- else out_of_weight = -back_data.weight_free * 1000;
-
- var code = "";
- if (th.data.wu_arr && th.data.wu_arr[th.data.index]) code = th.data.wu_arr[th.data.index].code;
- th.data.is_no_by[th.data.bn_pick] = 0;
- th.data.is_by[th.data.bn_pick] = 0;
-
- //--------------开始计算物流------------------
- // shipping_price = ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight,
- // goods_piece, th.data.user_addr, back_data, rs);
-
- var w_data={
- store_id:os.stoid, code:code,
- o_shipping_price:o_shipping_price,
- goods_weight:goods_weight,
- out_of_weight:out_of_weight,goods_piece:goods_piece,
- user_addr_province:th.data.user_addr.province,
- user_addr_city:th.data.user_addr.city,
- user_addr_district:th.data.user_addr.district,
- is_by_all:back_data && back_data.is_by_all?1:0,
- no_free_goods:back_data && back_data.no_free_goods && back_data.no_free_goods.length>0?1:0,
- }
-
- var is_ok=1;
- await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', {data:w_data,is_json:1}).then(res=>{
- if(res.data.code==0){
- shipping_price=res.data.data;
- }else{
- is_ok=0;
- }
- })
-
- if(!is_ok){
- wx.hideLoading();
- wx.showToast({
- title: "计算物流错误", icon: 'none',duration: 2000
- })
- //th.setData({ show_submit:0 });
-
- return false;
- }
-
- if (shipping_price <= 0) {
- th.data.is_by[th.data.bn_pick] = 1; //已经是包邮了,就不要选择包邮券
- }
- }
-
- shipping_price = parseFloat(shipping_price).toFixed(2);
- var wl_txt = "formData.shipping_price";
- th.setData({[wl_txt]: shipping_price,})
-
- } else if(th.data.bn_exp_type == 1 ) {
- var wl_txt = "formData.shipping_price";
- th.setData({ [wl_txt]: 0, })
- }
+ var req_data = {
+ store_id: os.stoid, order_amount: parseFloat(cart_item.order_amount),
+ lon: lon, lat: lat, pickup_id: c_arr[i].pickup_id, goods_weight: gd_w
+ }
+ var is_next = 1;
- if (quan_no) {
- if (th.data.using_quan[bn_pick].isby == 1) {
- shipping_price = 0;
- var wl_txt = "formData.shipping_price";
- th.setData({ [wl_txt]: 0, })
- }
- }
- //-----------------支付价,优惠券不减物流-----------------
- var total_m = (parseFloat(allpice1)).toFixed(2);
- var order_m = (parseFloat(allpice - cut_price) - quan_price).toFixed(2);
- var coupon_price = quan_price; //优惠券优惠了多少钱
- if (order_m < 0) {
- order_m = 0;
- coupon_price = parseFloat(order_m).toFixed(2);
- }
- //--看一下有没有订单优惠--
- var o_condition = parseFloat(order_m);
- if(th.data.bn_goods.whsle_id>0){
- o_condition=0;
- }
- if (o_condition > 0) {
- th.check_is_order_prom(o_condition,async function () {
- var order_prom_amount = 0;
- var order_prom_id = 0;
- if (th.data.order_prom[th.data.bn_pick] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) {
- var ord_prom = th.data.order_prom[th.data.bn_pick];
- //么有使用券,或者活动没有限制使用优惠券
- if (coupon_price <= 0 || !ord_prom.is_xz_yh) {
- order_prom_id = ord_prom['id'];
- switch (ord_prom['type']) {
- case 0:
- order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
- order_prom_amount = (o_condition - order_m).toFixed(2);
- break;
- case 1:
- //-- 如果有优惠促销倍减的时候 --
- var bs=1;
- if(ord_prom.is_bz){
- bs=Math.floor(o_condition/ord_prom.money);
- }
-
- order_m = o_condition - bs*ord_prom['expression'];//满额优惠金额
- order_prom_amount = ord_prom['expression'];
- break;
- }
- }
- }
- //--订单优惠的显示--
- var order_prom_txt1 = "formData.order_prom_id";
- var order_prom_txt2 = "formData.order_prom_amount";
- if (order_prom_id > 0) {
- th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount })
- } else {
- th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 })
- }
-
- //判断是否同城配送,而且没有调用过
- if(th.data.bn_exp_type==2 && th.data.user_addr) {
- var gd_w = 0, lon = 0, lat = 0;
- for (let ib in gd_arr_list) {
- let item_b = gd_arr_list[ib];
- gd_w += item_b['weight'] * item_b['buynum'];
- }
-
- //-- 获取距离 --
- await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
- is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address}
- }).then(res=>{
- if(res.data.code==0){
- var data= JSON.parse(res.data.data);
- if(data.status==0){
- lon=data.result.location.lng;
- lat=data.result.location.lat;
- }
- }
- })
-
- var req_data = {
- store_id: os.stoid, order_amount: parseFloat(order_m),
- lon: lon, lat: lat, pickup_id: bn_pick,goods_weight: gd_w
- }
-
- var is_next=1;
-
- //获取同城配送参数
- await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", {
- is_json: 1,data: req_data
- }).then(res => {
- if (res.data.code == 0) {
- var wl_txt = "formData.shipping_price";
- th.setData({ [wl_txt]: res.data.data, })
-
- }else{
- is_next=0;
- if(qfunc){
- qfunc();
- }else{
- wx.showToast({
- title: res.data.msg,
- icon: 'none',
- duration: 2000
- })
- }
-
- }
- })
- if(!is_next) return false
- }
-
-
- total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
- order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
-
- total_m = total_m.toFixed(2);
- order_m = order_m.toFixed(2);
-
- var atxt = "formData.total_amount";
- th.setData({ [atxt]: total_m, })
-
- var txt = "formData.user_money";
- var txt2 = "formData.order_amount";
- var txt3 = "formData.coupon_price";
-
- //-- 最后的金额小于佣金 --
- if(parseFloat(order_m) parseFloat(order_m)) {
- order_m = parseFloat(order_m).toFixed(2);
- th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1,submit:0 })
- } else {
- order_m = parseFloat(order_m) - parseFloat(amoney);
- order_m = order_m.toFixed(2);
- th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,submit:0 })
- }
- } else {
- th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,submit:0 })
- }
- //优惠活动送积分
- if (good.s_intValue) {
- txt = "formData.give_integral";
- th.setData({ [txt]: good.s_intValue });
- }
- //优惠送券
- if (good.s_coupon_id) {
- var i_txt = "formData.give_coupon_id";
- //这个是json格式的
- var i_txt1 = "formData.g_coupon_num";
- var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }];
- ob = JSON.stringify(ob);
- th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob });
- }
- //优惠礼包
- if (good.s_libao) {
- var l_txt = "formData.give_lb_id";
- //这个是json格式的
- var l_txt1 = "formData.g_lb_num";
- var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }];
- ob = JSON.stringify(ob);
- th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob });
- }
-
- //专享礼包
- if (good.zx_libao) {
- var l_txt = "formData.give_zxlb_id";
- //这个是json格式的
- var l_txt1 = "formData.g_zxlb_num";
- var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }];
- ob = JSON.stringify(ob);
- th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob });
- }
- })
- } else {
+ //获取同城配送参数
+ await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", { is_json: 1, data: req_data }).then(res => {
+ if (res.data.code == 0) {
+ cart_item.shipping_price = res.data.data;
+ } else {
+ is_next = 0;
- var order_prom_txt1 = "formData.order_prom_id";
- var order_prom_txt2 = "formData.order_prom_amount";
- th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 })
-
- //判断是否同城配送,而且没有调用过
- if(th.data.bn_exp_type==2 && th.data.user_addr) {
- var gd_w = 0, lon = 0, lat = 0;
- for (let ib in gd_arr_list) {
- let item_b = gd_arr_list[ib];
- gd_w += item_b['weight'] * item_b['buynum'];
- }
-
- //-- 获取距离 --
- await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
- is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address}
- }).then(res=>{
- if(res.data.code==0){
- var data= JSON.parse(res.data.data);
- if(data.status==0){
- lon=data.result.location.lng;
- lat=data.result.location.lat;
- }
- }
- })
-
- var req_data = {
- store_id: os.stoid, order_amount: parseFloat(order_m),
- lon: lon, lat: lat, pickup_id: bn_pick,goods_weight: gd_w
- }
-
- var is_next=1;
-
- //获取同城配送参数
- await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", {
- is_json: 1,data: req_data
- }).then(res => {
- if (res.data.code == 0) {
- var wl_txt = "formData.shipping_price";
- th.setData({ [wl_txt]: res.data.data, })
-
- }else{
- is_next=0;
- if(qfunc){
- qfunc();
- }else{
- wx.showToast({
- title: res.data.msg,
- icon: 'none',
- duration: 2000
- })
- }
-
- }
- })
- if(!is_next) return false
- }
+ if (qfunc) qfunc();
+ else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
+ })
+ if (!is_next) return false
+ }
- total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
- order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
- var atxt = "formData.total_amount";
- total_m = total_m.toFixed(2);
- order_m = order_m.toFixed(2);
- th.setData({ [atxt]: total_m, })
- var txt = "formData.user_money";
- var txt2 = "formData.order_amount";
- var txt3 = "formData.coupon_price";
+ cart_item.total_amount = parseFloat(cart_item.total_amount) + parseFloat(cart_item.shipping_price); //总金额
+ cart_item.order_amount = parseFloat(cart_item.order_amount) + parseFloat(cart_item.shipping_price); //总金额
+ cart_item.total_amount = cart_item.total_amount.toFixed(2);
+ cart_item.order_amount = cart_item.order_amount.toFixed(2);
- //-- 最后的金额小于佣金 --
- if(parseFloat(order_m) parseFloat(order_m)) {
- order_m = parseFloat(order_m).toFixed(2);
- th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1 ,submit:0})
- } else {
- order_m = parseFloat(order_m) - parseFloat(amoney);
- order_m = order_m.toFixed(2);
- th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,submit:0 })
- }
- } else {
- th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1,submit:0 })
- }
- //优惠活动送积分
- if (good.s_intValue) {
- txt = "formData.give_integral";
- th.setData({ [txt]: good.s_intValue });
- }
- //优惠送券
- if (good.s_coupon_id) {
- var i_txt = "formData.give_coupon_id";
- //这个是json格式的
- var i_txt1 = "formData.g_coupon_num";
- var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }];
- ob = JSON.stringify(ob);
- th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob });
- }
- //优惠礼包
- if (good.s_libao) {
- var l_txt = "formData.give_lb_id";
- //这个是json格式的
- var l_txt1 = "formData.g_lb_num";
- var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }];
- ob = JSON.stringify(ob);
- th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob });
- }
+ if (th.data.cart_use_commission) {
+ cart_item.order_amount -= cart_item.can_usecommise;
+ }
- //专享礼包
- if (good.zx_libao) {
- var l_txt = "formData.give_zxlb_id";
- //这个是json格式的
- var l_txt1 = "formData.g_zxlb_num";
- var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }];
- ob = JSON.stringify(ob);
- th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob });
+ //搭配购在使用余额
+ if (th.data.bn_use_money == 1 && th.data.is_b_now == 1) {
- }
- }
+ if (umoney > cart_item.order_amount) {
+ cart_item.user_money = cart_item.order_amount;
+ umoney = umoney - cart_item.order_amount;
+ } else {
+ cart_item.user_money = umoney;
+ umoney = 0;
+ }
- wx.hideLoading();
+ } else {
+ //--------------如果使用余额,购物车购买---------------------
+ if (th.data.js_use_money == 1) {
+ if (umoney > cart_item.order_amount) {
+ cart_item.user_money = cart_item.order_amount;
+ umoney = umoney - cart_item.order_amount;
+ } else {
+ cart_item.user_money = umoney;
+ umoney = 0;
+ }
+ } else {
+ cart_item.user_money = 0;
+ }
+ }
- //});
+ cart_item.user_money = parseFloat(cart_item.user_money).toFixed(2);
+ if (coupon_price > 0) cart_item.coupon_price = coupon_price.toFixed(2);
+ else cart_item.coupon_price = coupon_price
+ if (quan_no) cart_item.quan_no = quan_no;
- },
- requestSubscribe() {
- const th = this;
- const template_id = this.data.template_id;
- wx.getSetting({
- withSubscriptions: true,
- success(res) {
- let itemSettings = res.subscriptionsSetting.itemSettings;
- if (itemSettings && itemSettings[template_id] == "accept") {
- //要检查一下赠品有可以足够
- th.sub_check_gift(function () {
- th.submit_func();
- })
+ //cart_item.goods_price = o_price.toFixed(2);
+ cart_item.order_amount = cart_item.order_amount - cart_item.user_money; //会员使用余额
- } else {
- th.sendsm(function () {
- //要检查一下赠品有可以足够
- th.sub_check_gift(function () {
- th.submit_func();
- })
- })
- }
- }
- })
- this.setData({
- submit: 1,
- })
- },
+ all_price += parseFloat(f_o_price);
+ all_total_m += parseFloat(cart_item.total_amount);
+ all_shipping_m += parseFloat(cart_item.shipping_price);
+ all_order_m += parseFloat(cart_item.order_amount);
+ all_user_m += parseFloat(cart_item.user_money);
+ all_coupon_price_m += parseFloat(cart_item.coupon_price);
+ all_cutprice += parseFloat(cart_item.cut_price);
+
+ all_zh_cutprice += parseFloat((cart_item.zh_cut_price ? cart_item.zh_cut_price : '0'));
+ all_ladder_cutprice += parseFloat(cart_item.ladder_cut_price);
+ all_order_prom += parseFloat(cart_item.order_prom_amount);
+ }
- //分配代发商品
- add_df_goods(good,df_goods,whsle_id,room_id){
- var df_price = parseFloat(good.goods_num * good.goods_price);
+ all_shipping_m = parseFloat(all_shipping_m).toFixed(2);
+ all_total_m = parseFloat(all_total_m).toFixed(2);
+ all_order_m = parseFloat(all_order_m).toFixed(2);
+ all_price = parseFloat(all_price).toFixed(2);
+ all_user_m = parseFloat(all_user_m).toFixed(2);
+ all_total_m = parseFloat(all_total_m).toFixed(2);
+ all_coupon_price_m = parseFloat(all_coupon_price_m).toFixed(2);
+ all_cutprice = all_cutprice.toFixed(2);
+ all_order_prom = all_order_prom.toFixed(2);
+ all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2);
+ all_ladder_cutprice = parseFloat(all_ladder_cutprice).toFixed(2);
+
+ var atxt = "formData.total_amount";
+ var atxt1 = "formData.order_amount";
+ var atxt2 = "formData.all_price";
+ var atxt3 = "formData.user_money";
+ var atxt4 = "formData.shipping_price";
+ var atxt5 = "formData.coupon_price";
+ var atxt6 = "formData.cut_price";
+ var atxt7 = "formData.order_prom_amount";
+ var atxt8 = "formData.zh_cut_price";
+ var atxt9 = "formData.ladder_cut_price";
+
+ th.setData({
+ [atxt]: all_total_m, [atxt1]: all_order_m,
+ [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m,
+ [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice,
+ [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice, [atxt9]: all_ladder_cutprice, submit: 0
+ })
+ th.data.order_prom_list_cart = c_arr;
+ th.set_can_num();
+ wx.hideLoading();
+
+ //});
+ },
+
+ set_can_num: function () {
+ var th = this;
+ //-- 这个地方,循环计算几张优惠券可用--
+ for (var iter in th.data.cartlist) {
+ var num = 0;
+ var c_item = th.data.cartlist[iter];
+ var pkid = c_item.pickup_id;
+ //-- 普通券 --
+ if (c_item.quan_list) {
+ for (var iter1 in c_item.quan_list) {
+ //判断是不是其他订单有选用
+ var is_other_is_use = th.check_other_use(c_item.quan_list[iter1], pkid);
+ if (!is_other_is_use) num++;
+ }
+ }
+ //-- 包邮券 --
+ var by_quan = th.data.get_by_quan_list_cart[pkid];
+ if (by_quan && c_item.exp_type == 0) {
+ for (var iter2 in by_quan) {
+ //判断是不是其他订单有选用
+ var is_other_is_use = th.check_other_use_by(by_quan[iter2], pkid);
+ if (!is_other_is_use) num++;
+ }
+ }
+ var set_txt = "cartlist[" + iter + "].can_num";
+ th.setData({ [set_txt]: num });
+ }
+ },
- var index=df_goods.findIndex(function (e){
- return e.whsle_id==whsle_id
- })
- if(index>-1){
- df_goods[index].df_price+=df_price;
- df_goods[index].df_goods.push(good);
- if(room_id){
- if(!df_goods[index].df_room_ids)
- df_goods[index].df_room_ids="";
- df_goods[index].df_room_ids+=room_id+",";
+ //---------计算立即购买----------
+ calculatePrice2: async function (qfunc) {
+ var th = this, good = this.data.bn_goods;
- }
+ if (!good) return false;
- }else{
- var e={
- whsle_id:whsle_id,
- df_price:df_price,
- df_goods:[]
- }
- if(room_id) e.df_room_ids=room_id+','
+ //搭配的计算要用购物的车计算方法
+ if (good.prom_type == 5) {
+ th.calculatePrice();
+ return false;
+ }
- e.df_goods.push(good);
- df_goods.push(e);
- }
+ th.setData({ submit: 1 });
+ wx.showLoading({
+ title: "处理中.",
+ mask: true
+ })
- },
+ //-----------计算商品总价--------------
+ var allpice = good.shop_price * good.buynum;
+ var cut_price = 0;
+ var allpice1 = allpice;
- //--------------------提交订单-----------------------
- async submit_func() {
- if(this.data.is_summit_ing) return false;
- this.data.is_summit_ing = 1;
+ if (good.prom_type == 3 && good.prom_price !== null) {
+ cut_price = allpice - good.prom_price;
+ }
- var th = this, pdata = new Array();
- var ff = true;
- //------------立即购买-------------
- if (th.data.is_b_now == 1 && th.data.bn_goods.prom_type != 5) {
- if (th.data.bn_exp_type == 0 && th.data.user_addr == null) {
- ff = false;
- getApp().my_warnning("请选择收货地址", 0, th);
- th.data.is_summit_ing = 0;
- }
- if (!ff) return false;
- var addr = th.data.user_addr;
- if (th.data.bn_exp_type == 1) addr = null;
- if (th.data.bn_exp_type == 0)
- if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
- getApp().my_warnning("读取物流失败", 0, th);
- th.data.is_summit_ing = 0;
- return false;
- }
+ allpice = parseFloat(allpice).toFixed(2);
+ var txt = "formData.all_price";
+ th.setData({ [txt]: allpice, });
+ if (cut_price) {
+ var c_txt = "formData.cut_price";
+ th.setData({ [c_txt]: cut_price, });
- var item = {
- 'user_id': to.globalData.user_id,
- 'consignee': addr == null ? "" : addr.consignee,
- 'province': addr == null ? 0 : addr.province,
- 'city': addr == null ? 0 : addr.city,
- 'district': addr == null ? 0 : addr.district,
- 'twon': addr == null ? 0 : addr.twon,
- 'address': addr == null ? "" : addr.address,
- 'more_address': addr == null ? "" : addr.more_address,
- //'mobile': th.data.userinfo.mobile,
- 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
- 'email': '',
- 'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code,
- 'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name,
- 'invoice_title': '',
- 'goods_price': parseFloat(th.data.formData.all_price).toFixed(2), //商品总价
- 'shipping_price': parseFloat(th.data.formData.shipping_price).toFixed(2), //物流金额
- 'user_money': parseFloat(th.data.formData.user_money).toFixed(2), //使用余额
- 'total_amount': parseFloat(th.data.formData.total_amount).toFixed(2), //订单总价
- 'order_amount': parseFloat(th.data.formData.order_amount).toFixed(2), //应付
- 'user_note': th.data.user_note['0'] ? th.data.user_note['0'] : "", //用户备注
- 'store_id': oo.stoid, //商家
- 'pickup_id': th.data.bn_pick, //门店
- 'exp_type': th.data.bn_exp_type, //配送方式
- 'order_goods': new Array(),
- };
- //是不是重新提交
- if (th.data.is_continue == 1) item.is_continue = 1;
+ }
- //-- 如果有使用佣金抵扣的话 --
- if(th.data.bn_use_commission){
- item.use_commission=th.data.bn_goods.use_commission;
- }
+ //如果有线下取价的时候
+ if (good.is_offline) {
+ allpice = good.offline_price * good.buynum;
+ }
- //获取立即购买的商品的信息
- var gg = to.get_b_now();
- //--商品的房间号--
- if (gg.room_id && gg.room_id > 0) {
- item.room_ids = gg.room_id;
- }
+ //to.getwuliuprice(async function (rs) {
+
+ var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
+ var out_of_weight = null; //超出多少重量
+
+ //---如果有选择优惠券的情况下---
+ var quan_price = 0, bn_pick = th.data.bn_pick;
+ var quan_no = null;
+ if (th.data.using_quan[bn_pick] != null && th.data.using_quan[bn_pick] != undefined)
+ quan_no = th.data.using_quan[bn_pick].coupon_no;
+
+ if (quan_no) {
+ //如果是一件代发就不要找商品
+ if (th.data.using_quan[bn_pick].isby != 1 && !good.whsle_id) {
+ //---获取优惠券优惠---
+ await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
+ data: {
+ storeId: oo.stoid,
+ CashRepNo: quan_no,
+ WaresSum: th.data.ckeck_quan_price,
+ WareIds: th.data.check_quan_ware_list
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
+ quan_price = res.data.data[0].WareCashSum;
+ }
+ })
+ }
+ }
- var order_prom_list = {};
- //--判断有没有优惠活动--
- if (th.data.order_prom[item.pickup_id]) {
- if (th.data.formData.order_prom_amount > 0) {
- order_prom_list.order_prom_id = th.data.formData.order_prom_id;
- order_prom_list.order_prom_amount = th.data.formData.order_prom_amount;
- }
- }
+ var gd_arr_list = [];
+ gd_arr_list.push(good);
+ if (th.data.buy_now_gift_goods) {
+ gd_arr_list = [...gd_arr_list, ...th.data.buy_now_gift_goods];
+ }
- //--判断优惠活动的提交--
- if (th.data.formData.cut_price > 0) {
- order_prom_list.discount_amount = th.data.formData.cut_price.toFixed(2);
- var ob = [{
- "prom_id": th.data.bn_goods.prom_id,
- "dis": parseFloat(th.data.formData.cut_price).toFixed(2),
- "ispt": 0
- }]
- order_prom_list.prom_pt_json = JSON.stringify(ob);
- }
- if (th.data.formData.give_integral > 0) {
- order_prom_list.give_integral = th.data.formData.give_integral;
- }
- if (th.data.formData.give_coupon_id > 0) {
- order_prom_list.give_coupon_id = th.data.formData.give_coupon_id;
- order_prom_list.g_coupon_num = th.data.formData.g_coupon_num;
- }
- if (th.data.formData.give_lb_id > 0) {
- order_prom_list.give_lb_id = th.data.formData.give_lb_id;
- order_prom_list.g_lb_num = th.data.formData.g_lb_num;
+ //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮----------
+ if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_past != 1) {
+ //看是不是有调用过包邮券
+ if (!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh != 1) {
+ var condition = allpice - cut_price - quan_price;
+ //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱---
+ getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
+ data: {
+ store_id: os.stoid,
+ isuse: 0,
+ condition: condition,
+ user_id: getApp().globalData.user_id,
+ pageSize: 2000
+ }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data.total > 0) {
+ //此时要循环判断包邮的地区,不包邮商品是不是符合
+ var arr = [], quanlist = res.data.data.pageData;
+ quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan, 1);
+ for (var i in quanlist) {
+ var item = quanlist[i];
+ if (item.region_list && th.check_by_area(item.region_list)) continue; //如果是不包邮区域
+ if (item.goods_list) {
+ var no_goods_arr = item.goods_list.split(",");
+ if (ut.isContained(no_goods_arr, gd_arr_list)) continue; //如果是不包邮商品
+ }
+ arr.push(item);
}
- //--- 专享礼包 ---
- if (th.data.formData.give_zxlb_id > 0) {
- order_prom_list.give_zxlb_id = th.data.formData.give_zxlb_id;
- order_prom_list.g_zxlb_num = th.data.formData.g_zxlb_num;
+ if (arr) {
+ th.setData({ get_by_quan_list: arr });
}
+ th.data.isget_by_quan[th.data.bn_pick] = 1;
+ }
+ })
+ }
+
+ var shipping_price = 0;
+ var quan_no_goods_arr = null;
+ var is_by_quan = 0;
+ var pickid = th.data.bn_pick;
+
+ //如果是包邮券的时候,要看看券的情况,判断一下包邮有没有不包邮模板
+ if (quan_no && th.data.using_quan[pickid].isby == 1) {
+ var quan = th.data.using_quan[pickid];
+ if (quan.goods_list) {
+ quan_no_goods_arr = quan.goods_list.split(",");
+ } else {
+ is_by_quan = 1;
+ }
+ }
+ if (!is_by_quan) {
+ var user_addr = th.data.user_addr;
+ var req_d = {
+ province: user_addr.province,
+ city: user_addr.city,
+ district: user_addr.district,
+ wuliu: parseFloat(parseFloat(allpice) - cut_price - quan_price).toFixed(2),
+ store_id: os.stoid
+ }
+ var back_data = null;
+ await getApp().request.promisePost("/api/weshop/order/areaFreight", {
+ is_json: 1, data: req_d
+ }).then(rs => {
+ if (rs.data.code == 0) back_data = rs.data.data;
+ });
- item.order_prom_list = order_prom_list;
-
- //组装优惠券的钱
- if (parseFloat(th.data.formData.coupon_price) > 0) {
- item.coupon_price = th.data.formData.coupon_price;
- item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
- }
- if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].coupon_no && th.data.using_quan[th.data.bn_pick].isby) {
- item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
- item.coupon_price = 0;
+ //如果有包邮券的不包邮商品的时候
+ if (quan_no_goods_arr) {
+ if (back_data && back_data.no_free_goods) {
+ back_data['is_by_all'] = 1;
+ var arr3 = back_data.no_free_goods.filter(item => {
+ return quan_no_goods_arr.includes(item)
+ })
+ back_data.no_free_goods = null;
+ if (arr3.length) {
+ back_data.no_free_goods = arr3;
}
+ }
+ if (!back_data || !back_data.no_free_goods) {
+ if (!back_data) back_data = {};
+ back_data['is_by_all'] = 1;
+ back_data['no_free_goods'] = quan_no_goods_arr;
+ }
+ }
- //老会员成为分销下线需要的参数
- if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
- //判断一下分享人是不是分享商
- await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
- if (res.data.code == 0) {
- var user = res.data.data;
- if (user.is_distribut == 1) {
- item.first_leader = parseInt(getApp().globalData.first_leader);
- }
- }
- })
- }
+ var cut_good_weight = 0;
+ for (let i in gd_arr_list) {
+ let item = gd_arr_list[i];
+ if (good.is_free_shipping == 1) continue;
+ //-- 代发商品不算运费 --
+ if (good.whsle_id) continue;
- var goods = {
- 'goods_id': gg.goods_id,
- 'goods_name': gg.goods_name,
- 'goods_sn': gg.goods_sn,
- 'goods_num': gg.goods_num,
- 'market_price': th.data.bn_goods.market_price,
- 'goods_price': th.data.bn_goods.shop_price,
- 'member_goods_price': th.data.bn_goods.shop_price,
- 'store_id': oo.stoid,
- 'prom_type': th.data.bn_goods.prom_type, //促销活动类型
- 'prom_id': th.data.bn_goods.prom_id, //促销活动id
- };
+ if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
- if(th.data.bn_goods.whsle_id){
- item.is_whsle=1;
- item.whsle_id=th.data.bn_goods.whsle_id;
- goods.is_whsle_goods=1;
+ if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
+ if (goods_weight < 0) goods_weight = 0;
+ goods_weight += item['weight'] * item['buynum'];
+ cut_good_weight += item['weight'] * item['buynum'];
}
-
- if (getApp().globalData.skinface_id) {
- goods.skinface_id = getApp().globalData.skinface_id;
+ if (back_data.weight_free > 0) {
+ out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
}
+ continue;
+
+ }
+
+ switch (item['exp_sum_type']) {
+ case 1:
+ //统一运费
+ o_shipping_price += item['uniform_exp_sum'];
+ break;
+ case 2:
+ if (goods_weight < 0) goods_weight = 0;
+ //累积商品重量 每种商品的重量 * 数量
+ goods_weight += item['weight'] * item['buynum'];
+
+ if (back_data && back_data.is_by_all && !back_data.no_free_goods) {
+ cut_good_weight += item['weight'] * item['buynum'];
+ if (back_data.weight_free > 0) {
+ out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
+ }
+ }
+ break;
+ case 3:
+ if (goods_piece < 0) goods_piece = 0;
+ //累积商品数量
+ goods_piece += parseInt(item['buynum']);
+ break;
+ }
+ }
- //-- 把导购的信息填入--
- if (gg.guide_id) {
- goods.guide_id = gg.guide_id;
- goods.guide_type = gg.guide_type;
- //调用接口判断是不是会员
- await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => {
- if (res.data.code == 0) {
- goods.guide_name = res.data.data.salesman;
- goods.guide_sn = res.data.data.salesman_no;
- }
- })
- }
+ //如果是正值的时候
+ if (out_of_weight >= 0) out_of_weight = -cut_good_weight;
+ else out_of_weight = -back_data.weight_free * 1000;
+
+ var code = "";
+ if (th.data.wu_arr && th.data.wu_arr[th.data.index]) code = th.data.wu_arr[th.data.index].code;
+ th.data.is_no_by[th.data.bn_pick] = 0;
+ th.data.is_by[th.data.bn_pick] = 0;
+
+ //--------------开始计算物流------------------
+ // shipping_price = ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight,
+ // goods_piece, th.data.user_addr, back_data, rs);
+
+ var w_data = {
+ store_id: os.stoid, code: code,
+ o_shipping_price: o_shipping_price,
+ goods_weight: goods_weight,
+ out_of_weight: out_of_weight, goods_piece: goods_piece,
+ user_addr_province: th.data.user_addr.province,
+ user_addr_city: th.data.user_addr.city,
+ user_addr_district: th.data.user_addr.district,
+ is_by_all: back_data && back_data.is_by_all ? 1 : 0,
+ no_free_goods: back_data && back_data.no_free_goods && back_data.no_free_goods.length > 0 ? 1 : 0,
+ }
- //--商品的房间号--
- if (gg.room_id && gg.room_id > 0) {
- goods.room_id = gg.room_id;
- }
+ var is_ok = 1;
+ await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', { data: w_data, is_json: 1 }).then(res => {
+ if (res.data.code == 0) {
+ shipping_price = res.data.data;
+ } else {
+ is_ok = 0;
+ }
+ })
- //积分购,先要带is_integral_normal=1
- if (gg.is_integral_normal){
- goods.is_integral_normal = 1; item.is_normal=1;
- }
+ if (!is_ok) {
+ wx.hideLoading();
+ wx.showToast({
+ title: "计算物流错误", icon: 'none', duration: 2000
+ })
+ //th.setData({ show_submit:0 });
- //先要带is_pd_normal=1
- if (gg.is_pd_normal){
- goods.is_pd_normal = 1; item.is_normal=1;
- }
+ return false;
+ }
+ if (shipping_price <= 0) {
+ th.data.is_by[th.data.bn_pick] = 1; //已经是包邮了,就不要选择包邮券
+ }
+ }
- //如果不立即购买或者秒杀,如果是线下库存购买的时候
- if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 2 && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id) {
- var isok = 1;
- await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) {
- isok = res;
- });
- if (!isok) {
- getApp().confirmBox("商品的门店库存不足");
- th.data.is_summit_ing = 0;
- return false;
- }
- }
+ shipping_price = parseFloat(shipping_price).toFixed(2);
+ var wl_txt = "formData.shipping_price";
+ th.setData({ [wl_txt]: shipping_price, })
- //-- 如果有线下取价的话 --
- if (th.data.bn_goods.is_offline) {
- item.sum_offline_cut = (th.data.bn_goods.shop_price - th.data.bn_goods.offline_price).toFixed(2);
- goods.offline_cut = item.sum_offline_cut;
- goods.pricing_type = th.data.bn_goods.pricing_type;
- goods.goods_price = th.data.bn_goods.offline_price;
- goods.member_goods_price = th.data.bn_goods.offline_price;
- }
+ } else if (th.data.bn_exp_type == 1) {
+ var wl_txt = "formData.shipping_price";
+ th.setData({ [wl_txt]: 0, })
+ }
- //--- 如果有优惠促销的金额,要把金额先平摊下去 ---
- if (th.data.formData.cut_price > 0 && !th.data.ispt_goods) {
- var g_arr = new Array();
- g_arr.push(goods);
- var pt_data = {
- 'prom_id': goods.prom_id,
- 'dis': parseFloat(th.data.formData.cut_price),
- 'goods': g_arr,
+ if (quan_no) {
+ if (th.data.using_quan[bn_pick].isby == 1) {
+ shipping_price = 0;
+ var wl_txt = "formData.shipping_price";
+ th.setData({ [wl_txt]: 0, })
+ }
+ }
+ //-----------------支付价,优惠券不减物流-----------------
+ var total_m = (parseFloat(allpice1)).toFixed(2);
+ var order_m = (parseFloat(allpice - cut_price) - quan_price).toFixed(2);
+ var coupon_price = quan_price; //优惠券优惠了多少钱
+ if (order_m < 0) {
+ order_m = 0;
+ coupon_price = parseFloat(order_m).toFixed(2);
+ }
+ //--看一下有没有订单优惠--
+ var o_condition = parseFloat(order_m);
+ if (th.data.bn_goods.whsle_id > 0) {
+ o_condition = 0;
+ }
+ if (o_condition > 0) {
+ th.check_is_order_prom(o_condition, async function () {
+ var order_prom_amount = 0;
+ var order_prom_id = 0;
+ if (th.data.order_prom[th.data.bn_pick] && th.data.order_prom[th.data.bn_pick]['money'] <= o_condition) {
+ var ord_prom = th.data.order_prom[th.data.bn_pick];
+ //么有使用券,或者活动没有限制使用优惠券
+ if (coupon_price <= 0 || !ord_prom.is_xz_yh) {
+ order_prom_id = ord_prom['id'];
+ switch (ord_prom['type']) {
+ case 0:
+ order_m = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
+ order_prom_amount = (o_condition - order_m).toFixed(2);
+ break;
+ case 1:
+ //-- 如果有优惠促销倍减的时候 --
+ var bs = 1;
+ if (ord_prom.is_bz) {
+ bs = Math.floor(o_condition / ord_prom.money);
}
- var pt_res = null;
- await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
- is_json: 1,
- data: pt_data
- }).then(res => {
- if (res.data.code == 0) {
- pt_res = res.data.data;
- }
- })
-
- if (pt_res) {
- //平摊赋值
- goods.account = pt_res[0].fisrt_account;
- goods.account_yu = pt_res[0].fisrt_account_yu;
- item.is_discount_amount = 1;
- }
+ order_m = o_condition - bs * ord_prom['expression'];//满额优惠金额
+ order_prom_amount = ord_prom['expression'];
+ break;
}
+ }
+ }
+ //--订单优惠的显示--
+ var order_prom_txt1 = "formData.order_prom_id";
+ var order_prom_txt2 = "formData.order_prom_amount";
+ if (order_prom_id > 0) {
+ th.setData({ [order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount })
+ } else {
+ th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 })
+ }
- //--组装优惠券的钱--
- if (th.data.formData.coupon_price) {
- item.coupon_price = th.data.formData.coupon_price;
- item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
- goods.quan_num = th.data.formData.coupon_price;
- goods.quan_no = item.coupon_no;
+ //判断是否同城配送,而且没有调用过
+ if (th.data.bn_exp_type == 2 && th.data.user_addr) {
+ var gd_w = 0, lon = 0, lat = 0;
+ for (let ib in gd_arr_list) {
+ let item_b = gd_arr_list[ib];
+ gd_w += item_b['weight'] * item_b['buynum'];
+ }
+
+ //-- 获取距离 --
+ await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
+ is_json: 1, data: { address: th.data.user_addr.more_address + th.data.user_addr.address }
+ }).then(res => {
+ if (res.data.code == 0) {
+ var data = JSON.parse(res.data.data);
+ if (data.status == 0) {
+ lon = data.result.location.lng;
+ lat = data.result.location.lat;
+ }
}
+ })
- item.order_goods.push(goods);
+ var req_data = {
+ store_id: os.stoid, order_amount: parseFloat(order_m),
+ lon: lon, lat: lat, pickup_id: bn_pick, goods_weight: gd_w
+ }
- //--如果有赠品的时候,赠品也要提交---
- if (th.data.buy_now_gift_goods) {
- var gift_gg_arr = th.data.buy_now_gift_goods;
- for (let i in gift_gg_arr) {
- let gift_gg = gift_gg_arr[i];
- var g_goods = {
- 'goods_id': gift_gg.goods_id,
- 'goods_name': gift_gg.goods_name,
- 'goods_sn': gift_gg.goods_sn,
- 'goods_num': gift_gg.buynum,
- 'market_price': gift_gg.market_price,
- 'goods_price': 0,
- 'member_goods_price': 0,
- 'store_id': oo.stoid,
- 'is_gift': 1,
- 'gift_id': gift_gg.gift_id,
- 'prom_id': gift_gg.prom_id,
- };
- //-- 把导购的信息填入--
- if (gg.guide_id) {
- g_goods.guide_id = gg.guide_id;
- g_goods.guide_type = gg.guide_type;
- //调用接口判断是不是会员
- await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => {
- if (res.data.code == 0) {
- g_goods.guide_name = res.data.data.salesman;
- g_goods.guide_sn = res.data.data.salesman_no;
- }
- })
- }
- item.order_goods.push(g_goods);
+ var is_next = 1;
- }
+ //获取同城配送参数
+ await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", {
+ is_json: 1, data: req_data
+ }).then(res => {
+ if (res.data.code == 0) {
+ var wl_txt = "formData.shipping_price";
+ th.setData({ [wl_txt]: res.data.data, })
- }
- pdata.push(item);
- } else {
+ } else {
+ is_next = 0;
+ if (qfunc) {
+ qfunc();
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none',
+ duration: 2000
+ })
+ }
- //---------购物车的结算---------
- if (th.data.is_all_zt == 0 && th.data.user_addr == null) {
- th.data.is_summit_ing = 0;
- ff = false;
- getApp().confirmBox("请新建收货地址");
}
- if (!ff) return false;
-
- var addr = th.data.user_addr;
- // 自提,地址数据清空 exp_type设置为1
- if (th.data.is_all_zt == 1) addr = null;
- var val_arr = th.data.user_note;
-
- if (th.data.is_all_zt != 1)
- if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
- th.data.is_summit_ing = 0;
- getApp().confirmBox("读取物流失败");
- return false;
- }
+ })
+ if (!is_next) return false
+ }
- var order_prom_list_cart = th.data.order_prom_list_cart;
-
- //--组装推送数据--
- for (var i = 0; i < order_prom_list_cart.length; i++) {
- var t_item = order_prom_list_cart[i];
- var item = {
- 'user_id': to.globalData.user_id,
- 'consignee': addr == null ? th.data.userinfo.mobile : addr.consignee,
- 'province': addr == null ? 0 : addr.province,
- 'city': addr == null ? 0 : addr.city,
- 'district': addr == null ? 0 : addr.district,
- 'twon': addr == null ? 0 : addr.twon,
- 'address': addr == null ? "" : addr.address,
- 'more_address': addr == null ? "" : addr.more_address,
- 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
- 'email': '',
- 'shipping_code': th.data.is_all_zt == 1 ? 0 : th.data.wu_arr[t_item.wind].code,
- 'shipping_name': th.data.is_all_zt == 1 ? '' : th.data.wu_arr[t_item.wind].name,
- 'invoice_title': '',
- 'goods_price': parseFloat(t_item.goods_price).toFixed(2), //商品总价
- 'shipping_price': parseFloat(t_item.shipping_price).toFixed(2), //物流金额
- 'user_money': parseFloat(t_item.user_money).toFixed(2), //使用余额
- 'total_amount': parseFloat(t_item.total_amount).toFixed(2), //订单总价
- 'order_amount': parseFloat(t_item.order_amount).toFixed(2), //应付
- 'user_note': val_arr[i], //用户备注
- 'store_id': oo.stoid, //商家
- 'pickup_id': t_item.pickup_id, //门店
- 'exp_type': t_item.exp_type, //配送方式
- 'order_goods': new Array(),
- };
- //是不是重新提交
- if (th.data.is_continue == 1) item.is_continue = 1;
- //----- 如果有线下取价的话 ----
- if (t_item.is_offline == 1) {
- item.sum_offline_cut = t_item.offline_price.toFixed(2);
- }
- //组装优惠券的钱
- if (t_item.coupon_price) {
- item.coupon_price = t_item.coupon_price;
- item.coupon_no = th.data.using_quan[t_item.pickup_id].coupon_no;
- } else if (t_item.quan_no) {
- item.coupon_no = t_item.quan_no;
- item.coupon_price = 0;
- }
+ total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
+ order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
- //-- 如果有使用佣金抵扣的话 --
- if(th.data.cart_use_commission){
- item.use_commission=t_item.can_usecommise;
- }
+ total_m = total_m.toFixed(2);
+ order_m = order_m.toFixed(2);
- var order_prom_list = {};
- //--判断有没有优惠活动--
- if (t_item.order_prom_amount > 0) {
- order_prom_list.order_prom_id = t_item.order_prom_id;
- order_prom_list.order_prom_amount = t_item.order_prom_amount;
- }
+ var atxt = "formData.total_amount";
+ th.setData({ [atxt]: total_m, })
- order_prom_list.discount_amount = 0;
- //--判断优惠活动的提交--
- if (t_item.cut_price > 0) {
- order_prom_list.discount_amount += t_item.cut_price;
- }
- //--判断组合优惠活动的提交--
- if (t_item.zh_cut_price > 0 || t_item.zh_cut_price < 0) {
- order_prom_list.discount_amount += t_item.zh_cut_price;
- order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json);
- }
+ var txt = "formData.user_money";
+ var txt2 = "formData.order_amount";
+ var txt3 = "formData.coupon_price";
- //--判断阶梯优惠活动的提交--
- if (t_item.ladder_cut_price > 0 || t_item.ladder_cut_price < 0) {
- order_prom_list.discount_amount += t_item.ladder_cut_price;
- }
+ //-- 最后的金额小于佣金 --
+ if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) {
- if (t_item.prom_pt_json) {
- order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json);
- }
+ if (th.data.bn_use_commission) {
+ wx.showToast({
+ title: '应付金额小于本单佣金,不可使用!',
+ icon: 'none',
+ duration: 2000
+ })
+ }
- if (t_item.s_intValue > 0) {
- order_prom_list.give_integral = t_item.s_intValue;
- }
- if (t_item.s_coupon_id) {
- order_prom_list.give_coupon_id = t_item.s_coupon_id;
- order_prom_list.g_coupon_num = JSON.stringify(t_item.g_coupon_num);
- }
- if (t_item.s_libao) {
- order_prom_list.give_lb_id = t_item.s_libao;
- order_prom_list.g_lb_num = JSON.stringify(t_item.g_lb_num);
- }
+ th.setData({
+ bn_use_commission: 0
+ });
- //-- 送专享礼包的时候 --
- if (t_item.zx_libao) {
- order_prom_list.give_zxlb_id = t_item.zx_libao;
- order_prom_list.g_zxlb_num = JSON.stringify(t_item.g_zxlb_num);
- }
- if (Object.keys(order_prom_list).length > 0) {
- if (order_prom_list.discount_amount)
- order_prom_list.discount_amount = parseFloat(order_prom_list.discount_amount).toFixed(2);
- if (order_prom_list.order_prom_amount)
- order_prom_list.order_prom_amount = parseFloat(order_prom_list.order_prom_amount).toFixed(2);
+ }
- item.order_prom_list = order_prom_list;
- }
+ var txt4 = "formData.use_commission";
+ if (th.data.bn_use_commission) {
+ order_m = (parseFloat(order_m) - parseFloat(th.data.bn_goods.use_commission)).toFixed(2);
+ th.setData({ [txt4]: th.data.bn_goods.use_commission })
+ }
- //老会员成为分销下线需要的参数
- if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
- //判断一下分享人是不是分享商
- await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
- if (res.data.code == 0) {
- var user = res.data.data;
- if (user.is_distribut == 1) {
- item.first_leader = parseInt(getApp().globalData.first_leader);
- }
- }
- })
- }
- //房间号的ids
- var room_ids = "";
-
- //-- 把券的钱,写入从表 ---
- if (t_item.quan_youhui_list && t_item.coupon_price) {
- for (var kk in t_item.quan_youhui_list) {
- var you_item = t_item.quan_youhui_list[kk];
- //-- 对券的价格进行平摊 --
- await th.split_set_goods_quanprice(you_item, t_item);
- }
- }
-
- //代发商品的集合
- var df_goods = [];
- var df_price = 0;
- var df_room_ids = "";
-
-
- var check_map={};
-
- //-------------让商品添加到商品列表--------------------
- for (var k = 0; k < t_item.goods.length; k++) {
-
- console.log("222");
- var g_item = t_item.goods[k];
- if (g_item.goods_num <= 0) continue;
- var goods = {
- 'goods_id': g_item.goods_id,
- 'goods_name': g_item.goods_name,
- 'goods_sn': g_item.goods_sn,
- 'goods_num': g_item.goods_num,
- 'market_price': g_item.market_price,
- 'goods_price': g_item.goods_price,
- 'member_goods_price': g_item.goods_price,
- 'store_id': oo.stoid,
- };
-
- if (getApp().globalData.skinface_id) {
- goods.skinface_id = getApp().globalData.skinface_id;
- }
-
- //-- 线下取价也要写入,组合购的商品不能去线下价格 --
- if (g_item.offline_price && t_item.is_offline == 1 && g_item.prom_type != 7) {
- goods.goods_price = g_item.offline_price;
- goods.member_goods_price = g_item.offline_price;
- goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2);
- goods.pricing_type = g_item.pricing_type;
- }
- if (g_item.quan_num) {
- goods.quan_num = g_item.quan_num;
- goods.quan_no = g_item.quan_no;
- }
- //--判断活动的类型--
- switch (g_item.prom_type) {
- case 1:
- case 2:
- case 10:
- goods.prom_type = g_item.prom_type;
- goods.prom_id = g_item.prom_id;
- break;
- case 3:
- goods.prom_type = 3;
- goods.prom_id = g_item.prom_id;
- if (g_item.is_gift) {
- goods.is_gift = g_item.is_gift;
- goods.gift_id = g_item.gift_id;
- }
- break;
- case 5:
- goods.prom_type = 5;
- goods.prom_id = g_item.prom_id;
- if (g_item.is_collocation) {
- goods.is_collocation = g_item.is_collocation;
- }
- break
- case 7:
- goods.prom_type = 7;
- goods.prom_id = g_item.prom_id;
- break
- default:
- goods.prom_type = 0;
- goods.prom_id = 0;
- }
-
- var txt=goods.prom_id+','+goods.prom_type+','+goods.goods_id+','+goods.is_gift;
- //--赠品的时候,阶梯促销会右重复的情况 --
- if(check_map[txt] && goods.prom_type!=10){
- getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新");
- return false;
- }else{
- check_map[txt]=1;
- }
-
- //如果不立即购买或者秒杀,如果是线下库存购买的时候
- if (goods.prom_type == 0 && th.data.sales_rules >= 2) {
- var isok = 1;
- await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) {
- isok = res;
- });
- if (!isok) {
- getApp().confirmBox(goods.goods_name + "的门店库存不足");
- th.data.is_summit_ing = 0;
- return false;
- }
- }
-
- //把优惠的平摊结果写进去
- if (g_item.account >= 0 || (g_item.account_yu != 0 && g_item.account != undefined)) {
- if (g_item.account >= 0) goods.account = g_item.account;
- if (g_item.account_yu != 0) goods.account_yu = g_item.account_yu;
- item.is_discount_amount = 1;
- }
-
- //导购ID
- if (g_item.guide_id) {
- goods.guide_id = g_item.guide_id;
- goods.guide_type = g_item.guide_type;
- //调用接口判断是不是会员
- await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + g_item.guide_id, {}).then(res => {
- if (res.data.code == 0) {
- goods.guide_name = res.data.data.salesman;
- goods.guide_sn = res.data.data.salesman_no;
- }
- })
- }
-
- //如果有阶梯促销
- if (g_item.ladder_list_id) {
- goods.ladder_list_id = g_item.ladder_list_id;
- }
-
- //-- 如果有代发商品,就要开始拆单 --
- if (g_item.whsle_id && t_item.goods.length>1) {
- df_price += parseFloat(g_item.goods_num * g_item.goods_price);
- goods.is_whsle_goods = 1;
- th.add_df_goods(goods,df_goods,g_item.whsle_id, g_item.room_id);
-
- //df_goods.push(goods);
- // df_room_ids += g_item.room_id + ",";
- } else {
-
- //-- 如果只有一件的时候,商品又是代发商品,订单的状态要改成代发订单 --
- if(g_item.whsle_id){
- goods.is_whsle_goods=1;
- item.is_whsle=1;
- item.whsle_id=g_item.whsle_id
- }
-
- item.order_goods.push(goods);
- //如果房间号不为空的时候
- if (g_item.room_id) {
- goods.room_id = g_item.room_id;
- room_ids += g_item.room_id + ",";
- }
- }
- }
-
-
-
-
- //如果房间号不为空的时候
- if (room_ids != "") item.room_ids = ut.sub_last(room_ids);
-
- //处理代发商品的拆分
- if(df_goods.length>0){
-
-
-
- item.goods_price= parseFloat(item.goods_price-df_price).toFixed(2);
- item.total_amount= parseFloat(item.total_amount-df_price).toFixed(2);
-
- for (let j = 0; j < df_goods.length; j++) {
-
- var df_item=JSON.parse(JSON.stringify(item));
-
- var ddff_item=df_goods[j];
-
- df_item.is_whsle=1;
- df_item.whsle_id=ddff_item.whsle_id;
- df_item.is_discount_amount=0;
- df_item.goods_price=ddff_item.df_price;
- df_item.total_amount=ddff_item.df_price;
- df_item.shipping_price=0; //没有运费
- if(df_item.order_prom_list) df_item.order_prom_list={};
- if(df_item.coupon_price) delete(df_item.coupon_price);
- if(df_item.coupon_no) delete(df_item.coupon_no);
-
- //看一下是用余额比较多,还是用钱比较多
- if(item.order_amount>item.user_money){
- if(item.order_amount>ddff_item.df_price){
- item.order_amount=parseFloat(item.order_amount-ddff_item.df_price).toFixed(2);
- df_item.order_amount=ddff_item.df_price.toFixed(2);
- }else {
- var more_p=parseFloat(ddff_item.df_price-item.order_amount).toFixed(2);
- item.order_amount=0;
- item.user_money=parseFloat(item.user_money-more_p).toFixed(2);
- df_item.user_money=more_p;
- }
- }else{
-
- if(item.user_money>ddff_item.df_price){
- item.user_money=parseFloat(item.user_money-ddff_item.df_price).toFixed(2);
- df_item.user_money=ddff_item.df_price.toFixed(2);
- }else {
- var more_p=parseFloat(ddff_item.df_price-item.user_money).toFixed(2);
- item.user_money=0;
- item.order_amount=parseFloat(item.user_money-more_p).toFixed(2);
- df_item.order_amount=more_p;
-
- }
- }
-
- if (ddff_item.df_room_ids)
- df_item.room_ids = ut.sub_last(ddff_item.df_room_ids);
- df_item.order_goods=ddff_item.df_goods;
- pdata.push(df_item);
- }
-
-
- }
- //如果只有代发商品的时候
- if(item.order_goods.length>0){
- //item.order_goods=df_goods;
- //item.is_whsle=1;
- pdata.push(item);
- }
-
- }
-
+ var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money);
+ //--------------如果使用余额---------------------
+ if (th.data.bn_use_money == 1) {
+ if (amoney > parseFloat(order_m)) {
+ order_m = parseFloat(order_m).toFixed(2);
+ th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1, submit: 0 })
+ } else {
+ order_m = parseFloat(order_m) - parseFloat(amoney);
+ order_m = order_m.toFixed(2);
+ th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 })
+ }
+ } else {
+ th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 })
+ }
+ //优惠活动送积分
+ if (good.s_intValue) {
+ txt = "formData.give_integral";
+ th.setData({ [txt]: good.s_intValue });
+ }
+ //优惠送券
+ if (good.s_coupon_id) {
+ var i_txt = "formData.give_coupon_id";
+ //这个是json格式的
+ var i_txt1 = "formData.g_coupon_num";
+ var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }];
+ ob = JSON.stringify(ob);
+ th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob });
+ }
+ //优惠礼包
+ if (good.s_libao) {
+ var l_txt = "formData.give_lb_id";
+ //这个是json格式的
+ var l_txt1 = "formData.g_lb_num";
+ var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }];
+ ob = JSON.stringify(ob);
+ th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob });
}
- if (pdata.length == 0) return;
- var str = JSON.stringify(pdata);
-
- wx.showLoading({ title: "加载中" });
- th.setData({ submit: 1,})
- wx.request({
- url: oo.url + '/api/weshop/order/createWxdOrder',
- data: str,
- method: 'POST',
- header: {
- 'content-type': 'application/json'
- },// 设置请求的 header
- success: function (res) {
- wx.hideLoading();
- if (res.statusCode == 200) {
- var data = res.data;
- if (data.code == 0) {
- th.setData({ submit: 1,})
- //如果是购物车结算,还要删除购物车
- if (th.data.is_b_now == 0) {
- console.log(th.data.cartlist_y);
- var list = th.data.cartlist_y;
- for (var i = 0; i < list.length; i++) {
- //删除购物车
- a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {});
- }
- }
- var order_amount = 0;
- pdata.forEach(function (em, ind) {
- order_amount += parseFloat(em.order_amount);
- })
- //要进行判断,如果是用微信支付,就要跳转到支付界面
- if (order_amount > 0) {
- th.setData({ isclose: 0 });
- //void e.jumpToCart4({
- // order_sn: data.data,
- //}, 1);
- util_pay.pay(data.data, function () {
- //app.my_warnning("支付成功",1,th);
- //setTimeout(function () {
- wx.redirectTo({
- url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data
- })
- //},1000)
-
- }, function () {
-
- //支付失败
- setTimeout(function () {
- var cps = getCurrentPages();
- if (cps.length > 1) {
- wx.navigateBack({ delta: 1 })
- } else {
- getApp().goto("/pages/index/index/index");
- }
-
- }, 1000)
- }, oo.stoid);
-
- } else {
- var dd = {
- parent_sn: data.data,
- store_id: oo.stoid,
- type: 2,
- };
- a.post("/api/weshop/order/pay/createOrder", {
- data: dd,
- success: function (t) {
- //console.log(t);
- if (t.data.code == 0) {
- //app.my_warnning("支付成功",1,th);
- //setTimeout(function () {
- th.setData({ isclose: 0 });
- wx.redirectTo({
- url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data,
- })
- //}, 1000)
- }
- },
- fail: function () {
-
- }
- });
- }
-
- }
- else {
- //--内容换行--
- var msg = data.msg;
- //赠品活动已经取消,无法赠送,是否继续买单?
- if (msg.indexOf("是否继续买单") > 0) {
- wx.showModal({
- title: "提示",
- content: data.msg,
- cancelText: '取消',
- confirmText: '确定',
- showCancel: true,
- success(res) {
- if (res.cancel) {
- return;
- } else if (res.confirm) {
- th.data.is_continue = 1;
- th.data.is_summit_ing = 0; //是否提交中
- th.submit_func();
- }
- }
- })
- return;
- }else{
- if (msg.length > 13) {
- msg = msg.slice(0, 13) + "\r\n" + msg.slice(13);
- }
- getApp().confirmBox(msg);
- th.data.is_summit_ing = 0; //是否提交中
- th.setData({
- submit: 0,
- })
- }
-
-
- }
- } else {
- th.data.is_summit_ing = 0; //是否提交中
- console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
- th.setData({
- submit: 0,
- })
-
- wx.showToast({
- title: "网络繁忙("+res.statusCode+"),请重试",
- icon: 'none',
- duration: 2000
- })
-
- }
- },
- fail: function () {
- th.data.is_summit_ing = 0;
- wx.hideLoading();
- console.log("index.js wx.request CheckCallUser fail");
- th.setData({
- submit: 0,
- })
- wx.showToast({ title: '系统错误' })
- }
- })
+ //专享礼包
+ if (good.zx_libao) {
+ var l_txt = "formData.give_zxlb_id";
+ //这个是json格式的
+ var l_txt1 = "formData.g_zxlb_num";
+ var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }];
+ ob = JSON.stringify(ob);
+ th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob });
+ }
+ })
+ } else {
+
+ var order_prom_txt1 = "formData.order_prom_id";
+ var order_prom_txt2 = "formData.order_prom_amount";
+ th.setData({ [order_prom_txt1]: 0, [order_prom_txt2]: 0 })
+
+ //判断是否同城配送,而且没有调用过
+ if (th.data.bn_exp_type == 2 && th.data.user_addr) {
+ var gd_w = 0, lon = 0, lat = 0;
+ for (let ib in gd_arr_list) {
+ let item_b = gd_arr_list[ib];
+ gd_w += item_b['weight'] * item_b['buynum'];
+ }
- },
- //---确认线下门店的数量足不足---
- async check_store_num(goods_id, pick, goods_num, func) {
- var lock = 0, pick_no, plist, erpwareid;
-
- var lock_rq={ store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000 };
- if(this.data.sales_rules==3){
- lock_rq.appoint_pick_keyid=this.data.appoint_pick_keyid;
- delete lock_rq.storageId
- }
- //先读取门店的lock
- await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
- data: lock_rq
+ //-- 获取距离 --
+ await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
+ is_json: 1, data: { address: th.data.user_addr.more_address + th.data.user_addr.address }
}).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 (res.data.code == 0) {
+ var data = JSON.parse(res.data.data);
+ if (data.status == 0) {
+ lon = data.result.location.lng;
+ lat = data.result.location.lat;
}
+ }
})
- if(this.data.sales_rules==2) {
- //先获取门店的编号
- await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, {
- data: {storeId: os.stoid, goodsId: t.goods_id, pickupId: pick}
- }).then(res => {
- if (res.data.code == 0) {
- pick_no = res.data.data.pickup_no;
- }
- })
+ var req_data = {
+ store_id: os.stoid, order_amount: parseFloat(order_m),
+ lon: lon, lat: lat, pickup_id: bn_pick, goods_weight: gd_w
}
- //先获取商品的线下库存
- await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, {
- data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick }
+ var is_next = 1;
+
+ //获取同城配送参数
+ await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", {
+ is_json: 1, data: req_data
}).then(res => {
- if (res.data.code == 0) {
- erpwareid = res.data.data.erpwareid;
+ if (res.data.code == 0) {
+ var wl_txt = "formData.shipping_price";
+ th.setData({ [wl_txt]: res.data.data, })
+
+ } else {
+ is_next = 0;
+ if (qfunc) {
+ qfunc();
+ } else {
+ wx.showToast({
+ title: res.data.msg,
+ icon: 'none',
+ duration: 2000
+ })
}
+
+ }
})
+ if (!is_next) return false
+ }
- var sto_rq={ storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000 };
- if(this.data.sales_rules==3){
- sto_rq.storageIds=this.data.appoint_pick_keyid;
- delete sto_rq.storageNos
- }
+ total_m = parseFloat(total_m) + parseFloat(th.data.formData.shipping_price);
+ order_m = parseFloat(order_m) + parseFloat(th.data.formData.shipping_price);
+ var atxt = "formData.total_amount";
- //读取线下的门店库存
- 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];
- }
- })
+ total_m = total_m.toFixed(2);
+ order_m = order_m.toFixed(2);
- var isok = 1;
- if (!plist || goods_num > plist.CanOutQty - lock) {
- isok = 0;
- }
- func(isok);
- },
+ th.setData({ [atxt]: total_m, })
+
+ var txt = "formData.user_money";
+ var txt2 = "formData.order_amount";
+ var txt3 = "formData.coupon_price";
+
+ //-- 最后的金额小于佣金 --
+ if (parseFloat(order_m) < parseFloat(th.data.bn_goods.use_commission)) {
- useCoupon: function () {
- if (this.data.order.couponNum <= 0) {
- getApp().my_warnning("无可用优惠券", 0, this);
- return;
+ if (th.data.bn_use_commission) {
+ wx.showToast({
+ title: '应付金额小于本单佣金,不可使用!',
+ icon: 'none',
+ duration: 2000
+ })
}
- var a = {
- lid: this.data.coupon ? this.data.coupon.id : "0"
- };
- wx.navigateTo({
- url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a)
- });
- },
- enterAddressPage: function () {
- getApp().globalData.is_cart_old = 1;
- this.data.isget_by_quan = {};
- this.data.enterAddressPage = !0, wx.navigateTo({
- url: "/pages/user/address_list/address_list"
+ th.setData({
+ bn_use_commission: 0
});
- },
+ }
- //--------购物车购买时,选择自提和物流-----------
- setexptype_w: function (t) {
- var def_exp_code = getApp().globalData.userInfo.def_exp_code, th = this;
- var ty = t.currentTarget.dataset.t, txt = t.currentTarget.dataset.txt,
- wl_txt = t.currentTarget.dataset.wl_txt,
- ont = t.currentTarget.dataset.ont;
+ var txt4 = "formData.use_commission";
- th.setData({ [txt]: ty });
- var iszt = 1;
+ if (th.data.bn_use_commission) {
+ order_m = (parseFloat(order_m) - parseFloat(th.data.bn_goods.use_commission)).toFixed(2);
+ th.setData({ [txt4]: th.data.bn_goods.use_commission })
+ }
- if (ty == 0) {
- th.setData({ is_all_zt: 0 });
+ var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money);
+ //--------------如果使用余额---------------------
+ if (th.data.bn_use_money == 1) {
+ if (amoney > parseFloat(order_m)) {
+ order_m = parseFloat(order_m).toFixed(2);
+ th.setData({ [txt]: order_m, [txt2]: 0, [txt3]: coupon_price, show_submit: 1, submit: 0 })
} else {
- for (var i = 0; i < th.data.cartlist.length; i++) {
- var item = th.data.cartlist[i];
- if (item.exp_type == 0 || item.exp_type==2 ) {
- iszt = 0;
- break;
- }
- }
+ order_m = parseFloat(order_m) - parseFloat(amoney);
+ order_m = order_m.toFixed(2);
+ th.setData({ [txt]: amoney, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 })
+ }
+ } else {
+ th.setData({ [txt]: 0, [txt2]: order_m, [txt3]: coupon_price, show_submit: 1, submit: 0 })
+ }
+ //优惠活动送积分
+ if (good.s_intValue) {
+ txt = "formData.give_integral";
+ th.setData({ [txt]: good.s_intValue });
+ }
+ //优惠送券
+ if (good.s_coupon_id) {
+ var i_txt = "formData.give_coupon_id";
+ //这个是json格式的
+ var i_txt1 = "formData.g_coupon_num";
+ var ob = [{ "num": good.s_coupon_num, "c_id": good.s_coupon_id }];
+ ob = JSON.stringify(ob);
+ th.setData({ [i_txt]: good.s_coupon_id, [i_txt1]: ob });
+ }
+ //优惠礼包
+ if (good.s_libao) {
+ var l_txt = "formData.give_lb_id";
+ //这个是json格式的
+ var l_txt1 = "formData.g_lb_num";
+ var ob = [{ "num": good.s_lb_num, "l_id": good.s_libao }];
+ ob = JSON.stringify(ob);
+ th.setData({ [l_txt]: good.s_libao, [l_txt1]: ob });
+ }
+
+ //专享礼包
+ if (good.zx_libao) {
+ var l_txt = "formData.give_zxlb_id";
+ //这个是json格式的
+ var l_txt1 = "formData.g_zxlb_num";
+ var ob = [{ "num": good.zx_lb_num, "l_id": good.zx_libao }];
+ ob = JSON.stringify(ob);
+ th.setData({ [l_txt]: good.zx_libao, [l_txt1]: ob });
+
+ }
+ }
- th.setData({ is_all_zt: iszt });
+ wx.hideLoading();
- var ind = t.currentTarget.dataset.ind;
- var c_item = th.data.cartlist[ind];
- var pickid = c_item.pickup_id;
+ //});
- if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1) {
- th.data.using_quan[pickid] = {};
- th.setData({ using_quan: th.data.using_quan });
- }
+ },
+ requestSubscribe() {
+ const th = this;
+ const template_id = this.data.template_id;
+ wx.getSetting({
+ withSubscriptions: true,
+ success(res) {
+ let itemSettings = res.subscriptionsSetting.itemSettings;
+ if (itemSettings && itemSettings[template_id] == "accept") {
+ //要检查一下赠品有可以足够
+ th.sub_check_gift(function () {
+ th.submit_func();
+ })
+ } else {
+ th.sendsm(function () {
+ //要检查一下赠品有可以足够
+ th.sub_check_gift(function () {
+ th.submit_func();
+ })
+ })
}
- //判断有没有默认的物流地址值
- if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
- var wu_arr = this.data.wu_arr;
- if (wu_arr != null && wu_arr != "") {
- for (var i = 0; i < wu_arr.length; i++) {
- if (wu_arr[i].shipping_code == def_exp_code) {
- var set_txt = "cartlist"
- th.setData({ wl_txt: i });
- }
- }
- }
- }
- //----计算此时购物车的价格----
- th.calculatePrice();
- },
+ }
+ })
+ this.setData({
+ submit: 1,
+ })
+ },
+
+
+ //分配代发商品
+ add_df_goods(good, df_goods, whsle_id, room_id) {
+ var df_price = parseFloat(good.goods_num * good.goods_price);
+
+ var index = df_goods.findIndex(function (e) {
+ return e.whsle_id == whsle_id
+ })
+ if (index > -1) {
+ df_goods[index].df_price += df_price;
+ df_goods[index].df_goods.push(good);
+
+ if (room_id) {
+ if (!df_goods[index].df_room_ids)
+ df_goods[index].df_room_ids = "";
+ df_goods[index].df_room_ids += room_id + ",";
+
+ }
+
+ } else {
+ var e = {
+ whsle_id: whsle_id,
+ df_price: df_price,
+ df_goods: []
+ }
+ if (room_id) e.df_room_ids = room_id + ','
+
+ e.df_goods.push(good);
+ df_goods.push(e);
+ }
- //--------立即购买时,选择自提和物流----------
- setexptype: function (t) {
- var th = this;
- var ty = t.currentTarget.dataset.t, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- th.setData({ bn_exp_type: ty });
- if (ty == 0) {
- th.setData({ is_all_zt: 0 });
- }
+ },
+ async submit_func(){
+ let cartlist = this.data.cartlist
+ let allarr=[]
+ let strarr=[]
+ let cbarr=[]
+ let cbarr_id=[]
+ for (let index = 0,length=cartlist.length; index < length; index++) {
+ let item=cartlist[index].goods
+ for (let i = 0,leng=item.length; i < leng; i++) {
+ if (item[i].prom_type==7) {
+ strarr.push(item[i])
+ }
+ if (item[i].prom_type !=7 && item[i].goods_prom_type==7) {
+ allarr.push(item[i])
+ }
+ }
+ }
+ if(strarr.length>0){
+ if(allarr.length>0){
+ allarr.map(item=>{
+ let aitem = strarr.find(ite=>item.goods_prom_id==ite.goods_prom_id)
+ if(aitem){
+ strarr.push(item)
+ }
+ })
+ }
- //当物流为空的时候。
- if (ty == 0 && th.data.wu_arr == null) {
- th.data.isget_by_quan = {};
- return th.get_wuliu(th.calculatePrice2());
- }
+ for (let j = 0,length=strarr.length; j < length; j++) {
- //--自提就要把包邮券清理掉--
- if (ty == 1) {
- th.data.isget_by_quan = {};
- if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].isby == 1) {
- th.setData({ using_quan: {} });
- }
+ let userbuynum = await this.getUserBuyPromNum(strarr[j].goods_prom_id)
+ if (userbuynum >=strarr[j].act.buy_limit) {
+ cbarr.push(strarr[j].goods_name)
+ cbarr_id.push(strarr[j].id)
}
-
- //判断有没有默认的物流地址值
- if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
- var wu_arr = this.data.wu_arr;
- if (wu_arr != null && wu_arr != "") {
- for (var i = 0; i < wu_arr.length; i++) {
- if (wu_arr[i].shipping_code == def_exp_code) {
- th.setData({ index: i });
- }
+ }
+ if(cbarr.length>0){
+ let str = cbarr.join()
+ wx.showModal({
+ title: '提示',
+ content: `${str}超出组合购限购次数,将以普通商品购买`,
+ success: async (res)=>{
+ if (res.confirm) {
+ //-- 数据的更新 --
+ for (let k = 0,length=cbarr_id.length; k < length; k++) {
+ let data = {
+ id: cbarr_id[k],
+ selected: 1,
+ store_id: oo.stoid,
+ prom_type:0,
+ prom_id:0
+ };
+ await getApp().request.promisePut("/api/weshop/cart/update", {
+ data:data
+ });
}
+
+ wx.reLaunch({
+ url: '/pages/cart/cart2/cart2',
+ })
+ } else if (res.cancel) {
+ console.log('用户点击取消')
+ this.setData({
+ submit:0
+ })
}
+ }
+ })
+ }else{
+ this.submit_func2()
+ }
+ }else{
+ this.submit_func2()
+ }
+ },
+
+ //获取用户活动参与次数
+ 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
+ },
+
+ //--------------------提交订单-----------------------
+ async submit_func2() {
+
+ if (this.data.is_summit_ing) return false;
+ this.data.is_summit_ing = 1;
+
+ var th = this, pdata = new Array();
+ var ff = true;
+ //------------立即购买-------------
+ if (th.data.is_b_now == 1 && th.data.bn_goods.prom_type != 5) {
+ if (th.data.bn_exp_type == 0 && th.data.user_addr == null) {
+ ff = false;
+ getApp().my_warnning("请选择收货地址", 0, th);
+ th.data.is_summit_ing = 0;
+ }
+ if (!ff) return false;
+ var addr = th.data.user_addr;
+ if (th.data.bn_exp_type == 1) addr = null;
+ if (th.data.bn_exp_type == 0)
+ if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
+ getApp().my_warnning("读取物流失败", 0, th);
+ th.data.is_summit_ing = 0;
+ return false;
}
- th.calculatePrice2()
-
- },
-
- //--------立即购买时,使用余额--------
- set_bn_useyuer: function () {
- var th = this;
- th.setData({ bn_use_money: !th.data.bn_use_money });
- th.calculatePrice2();
- },
-
- //立即购买的时候,使用余额
- set_bn_commission:function(){
- var th = this;
- th.setData({ bn_use_commission: !th.data.bn_use_commission });
- th.calculatePrice2();
- },
- //加入购物车使用余额
- set_cart_commission:function(){
- var th = this;
- th.setData({ cart_use_commission: !th.data.cart_use_commission });
- th.calculatePrice();
- },
- set_js_useyuer: function () {
- var th = this;
- th.setData({ js_use_money: !th.data.js_use_money });
- th.calculatePrice();
- },
+ var item = {
+ 'user_id': to.globalData.user_id,
+ 'consignee': addr == null ? "" : addr.consignee,
+ 'province': addr == null ? 0 : addr.province,
+ 'city': addr == null ? 0 : addr.city,
+ 'district': addr == null ? 0 : addr.district,
+ 'twon': addr == null ? 0 : addr.twon,
+ 'address': addr == null ? "" : addr.address,
+ 'more_address': addr == null ? "" : addr.more_address,
+ //'mobile': th.data.userinfo.mobile,
+ 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
+ 'email': '',
+ 'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code,
+ 'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name,
+ 'invoice_title': '',
+ 'goods_price': parseFloat(th.data.formData.all_price).toFixed(2), //商品总价
+ 'shipping_price': parseFloat(th.data.formData.shipping_price).toFixed(2), //物流金额
+ 'user_money': parseFloat(th.data.formData.user_money).toFixed(2), //使用余额
+ 'total_amount': parseFloat(th.data.formData.total_amount).toFixed(2), //订单总价
+ 'order_amount': parseFloat(th.data.formData.order_amount).toFixed(2), //应付
+ 'user_note': th.data.user_note['0'] ? th.data.user_note['0'] : "", //用户备注
+ 'store_id': oo.stoid, //商家
+ 'pickup_id': th.data.bn_pick, //门店
+ 'exp_type': th.data.bn_exp_type, //配送方式
+ 'order_goods': new Array(),
+ };
+ //是不是重新提交
+ if (th.data.is_continue == 1) item.is_continue = 1;
+
+ //-- 如果有使用佣金抵扣的话 --
+ if (th.data.bn_use_commission) {
+ item.use_commission = th.data.bn_goods.use_commission;
+ }
+
+ //获取立即购买的商品的信息
+ var gg = to.get_b_now();
+ //--商品的房间号--
+ if (gg.room_id && gg.room_id > 0) {
+ item.room_ids = gg.room_id;
+ }
+
+ var order_prom_list = {};
+ //--判断有没有优惠活动--
+ if (th.data.order_prom[item.pickup_id]) {
+ if (th.data.formData.order_prom_amount > 0) {
+ order_prom_list.order_prom_id = th.data.formData.order_prom_id;
+ order_prom_list.order_prom_amount = th.data.formData.order_prom_amount;
+ }
+ }
+
+ //--判断优惠活动的提交--
+ if (th.data.formData.cut_price > 0) {
+ order_prom_list.discount_amount = th.data.formData.cut_price.toFixed(2);
+ var ob = [{
+ "prom_id": th.data.bn_goods.prom_id,
+ "dis": parseFloat(th.data.formData.cut_price).toFixed(2),
+ "ispt": 0
+ }]
+ order_prom_list.prom_pt_json = JSON.stringify(ob);
+ }
+ if (th.data.formData.give_integral > 0) {
+ order_prom_list.give_integral = th.data.formData.give_integral;
+ }
+ if (th.data.formData.give_coupon_id > 0) {
+ order_prom_list.give_coupon_id = th.data.formData.give_coupon_id;
+ order_prom_list.g_coupon_num = th.data.formData.g_coupon_num;
+ }
+ if (th.data.formData.give_lb_id > 0) {
+ order_prom_list.give_lb_id = th.data.formData.give_lb_id;
+ order_prom_list.g_lb_num = th.data.formData.g_lb_num;
+ }
+ //--- 专享礼包 ---
+ if (th.data.formData.give_zxlb_id > 0) {
+ order_prom_list.give_zxlb_id = th.data.formData.give_zxlb_id;
+ order_prom_list.g_zxlb_num = th.data.formData.g_zxlb_num;
+ }
+
+ item.order_prom_list = order_prom_list;
+
+ //组装优惠券的钱
+ if (parseFloat(th.data.formData.coupon_price) > 0) {
+ item.coupon_price = th.data.formData.coupon_price;
+ item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
+ }
+ if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].coupon_no && th.data.using_quan[th.data.bn_pick].isby) {
+ item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
+ item.coupon_price = 0;
+ }
+
+ //老会员成为分销下线需要的参数
+ if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
+ //判断一下分享人是不是分享商
+ await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
+ if (res.data.code == 0) {
+ var user = res.data.data;
+ if (user.is_distribut == 1) {
+ item.first_leader = parseInt(getApp().globalData.first_leader);
+ }
+ }
+ })
+ }
+
+
+ var goods = {
+ 'goods_id': gg.goods_id,
+ 'goods_name': gg.goods_name,
+ 'goods_sn': gg.goods_sn,
+ 'goods_num': gg.goods_num,
+ 'market_price': th.data.bn_goods.market_price,
+ 'goods_price': th.data.bn_goods.shop_price,
+ 'member_goods_price': th.data.bn_goods.shop_price,
+ 'store_id': oo.stoid,
+ 'prom_type': th.data.bn_goods.prom_type, //促销活动类型
+ 'prom_id': th.data.bn_goods.prom_id, //促销活动id
+ };
+
+ if (th.data.bn_goods.whsle_id) {
+ item.is_whsle = 1;
+ item.whsle_id = th.data.bn_goods.whsle_id;
+ goods.is_whsle_goods = 1;
+ }
+
+ if (getApp().globalData.skinface_id) {
+ goods.skinface_id = getApp().globalData.skinface_id;
+ }
+
+ //-- 把导购的信息填入--
+ if (gg.guide_id) {
+ goods.guide_id = gg.guide_id;
+ goods.guide_type = gg.guide_type;
+ //调用接口判断是不是会员
+ await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => {
+ if (res.data.code == 0) {
+ goods.guide_name = res.data.data.salesman;
+ goods.guide_sn = res.data.data.salesman_no;
+ }
+ })
+ }
+ //--商品的房间号--
+ if (gg.room_id && gg.room_id > 0) {
+ goods.room_id = gg.room_id;
+ }
- //----------立即购买,选择物流-------------
- bindPickerChange: function (e) {
- var ind = e.detail.value
- this.setData({ index: ind });
- this.calculatePrice2();
- },
- //----------购物车结算,选择物流-------------
- bindPickerChange_w: function (e) {
- var ind = e.detail.value, txt = e.currentTarget.dataset.txt;
- this.setData({ [txt]: ind });
- this.calculatePrice();
- },
+ //积分购,先要带is_integral_normal=1
+ if (gg.is_integral_normal) {
+ goods.is_integral_normal = 1; item.is_normal = 1;
+ }
- /*----券的所有操作----*/
- open_coupon_list: function (e) {
- var th = this;
- var pickid = e.currentTarget.dataset.pickid;
- var bn = e.currentTarget.dataset.bn;
- var cindx = e.currentTarget.dataset.cind;
- var get_by_quan_list_cart = th.data.get_by_quan_list_cart[pickid];
+ //先要带is_pd_normal=1
+ if (gg.is_pd_normal) {
+ goods.is_pd_normal = 1; item.is_normal = 1;
+ }
- if (bn == 1) {
- th.setData({ open_quan: 1, selected_quan_pick: pickid, disabled: 1 });
- } else {
- //---多单打开券的时候,就要判断券在其他门店是否有使用---
- var quanlist = th.data.cartlist[cindx].quan_list;
- var exp_type = th.data.cartlist[cindx].exp_type;
+ //如果不立即购买或者秒杀,如果是线下库存购买的时候
+ if (goods.prom_type != 1 && goods.prom_type != 6 && goods.prom_type != 2 && th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id) {
+ var isok = 1;
+ await th.check_store_num(goods.goods_id, th.data.bn_pick, gg.goods_num, function (res) {
+ isok = res;
+ });
+ if (!isok) {
+ getApp().confirmBox("商品的门店库存不足");
+ th.data.is_summit_ing = 0;
+ return false;
+ }
+ }
+
+ //-- 如果有线下取价的话 --
+ if (th.data.bn_goods.is_offline) {
+ item.sum_offline_cut = (th.data.bn_goods.shop_price - th.data.bn_goods.offline_price).toFixed(2);
+ goods.offline_cut = item.sum_offline_cut;
+ goods.pricing_type = th.data.bn_goods.pricing_type;
+ goods.goods_price = th.data.bn_goods.offline_price;
+ goods.member_goods_price = th.data.bn_goods.offline_price;
+ }
+
+ //--- 如果有优惠促销的金额,要把金额先平摊下去 ---
+ if (th.data.formData.cut_price > 0 && !th.data.ispt_goods) {
+ var g_arr = new Array();
+ g_arr.push(goods);
+ var pt_data = {
+ 'prom_id': goods.prom_id,
+ 'dis': parseFloat(th.data.formData.cut_price),
+ 'goods': g_arr,
+ }
+ var pt_res = null;
+ await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
+ is_json: 1,
+ data: pt_data
+ }).then(res => {
+ if (res.data.code == 0) {
+ pt_res = res.data.data;
+ }
+ })
- //对于在其他门店已经选择了的券 要判断是否显示到界面
- var t_user = th.data.using_quan[pickid];
+ if (pt_res) {
+ //平摊赋值
+ goods.account = pt_res[0].fisrt_account;
+ goods.account_yu = pt_res[0].fisrt_account_yu;
+ item.is_discount_amount = 1;
+ }
+ }
+
+ //--组装优惠券的钱--
+ if (th.data.formData.coupon_price) {
+ item.coupon_price = th.data.formData.coupon_price;
+ item.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
+ goods.quan_num = th.data.formData.coupon_price;
+ goods.quan_no = item.coupon_no;
+ }
+
+ item.order_goods.push(goods);
+
+ //--如果有赠品的时候,赠品也要提交---
+ if (th.data.buy_now_gift_goods) {
+ var gift_gg_arr = th.data.buy_now_gift_goods;
+ for (let i in gift_gg_arr) {
+ let gift_gg = gift_gg_arr[i];
+ var g_goods = {
+ 'goods_id': gift_gg.goods_id,
+ 'goods_name': gift_gg.goods_name,
+ 'goods_sn': gift_gg.goods_sn,
+ 'goods_num': gift_gg.buynum,
+ 'market_price': gift_gg.market_price,
+ 'goods_price': 0,
+ 'member_goods_price': 0,
+ 'store_id': oo.stoid,
+ 'is_gift': 1,
+ 'gift_id': gift_gg.gift_id,
+ 'prom_id': gift_gg.prom_id,
+ };
+ //-- 把导购的信息填入--
+ if (gg.guide_id) {
+ g_goods.guide_id = gg.guide_id;
+ g_goods.guide_type = gg.guide_type;
+ //调用接口判断是不是会员
+ await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(res => {
+ if (res.data.code == 0) {
+ g_goods.guide_name = res.data.data.salesman;
+ g_goods.guide_sn = res.data.data.salesman_no;
+ }
+ })
+ }
+ item.order_goods.push(g_goods);
- for (var i in quanlist) {
- quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid);
- if (t_user && quanlist[i].CashRepNo == t_user.coupon_no)
- quanlist[i].show_red = 1;
- else
- quanlist[i].show_red = 0;
- }
+ }
- if (get_by_quan_list_cart) {
- for (var i in get_by_quan_list_cart) {
- get_by_quan_list_cart[i].is_using = th.check_in_sele(get_by_quan_list_cart[i].no, pickid);
- if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no)
- get_by_quan_list_cart[i].show_red = 1;
- else
- get_by_quan_list_cart[i].show_red = 0;
- }
- th.setData({ by_quan_list_cart: get_by_quan_list_cart });
- } else {
- th.setData({ by_quan_list_cart: null });
- }
+ }
+ pdata.push(item);
+ } else {
+
+ //---------购物车的结算---------
+ if (th.data.is_all_zt == 0 && th.data.user_addr == null) {
+ th.data.is_summit_ing = 0;
+ ff = false;
+ getApp().confirmBox("请新建收货地址");
+ }
+ if (!ff) return false;
+
+ var addr = th.data.user_addr;
+ // 自提,地址数据清空 exp_type设置为1
+ if (th.data.is_all_zt == 1) addr = null;
+ var val_arr = th.data.user_note;
+
+ if (th.data.is_all_zt != 1)
+ if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
+ th.data.is_summit_ing = 0;
+ getApp().confirmBox("读取物流失败");
+ return false;
+ }
- console.log("2222222券的列表", quanlist);
- th.setData({
- sele_cart_ind: cindx,
- sele_exp_type: exp_type,
- open_quan: 1,
- selected_quan_pick: pickid,
- selected_quan_list: quanlist,
- disabled: 1
- });
+ var order_prom_list_cart = th.data.order_prom_list_cart;
+
+ //--组装推送数据--
+ for (var i = 0; i < order_prom_list_cart.length; i++) {
+ var t_item = order_prom_list_cart[i];
+ var item = {
+ 'user_id': to.globalData.user_id,
+ 'consignee': addr == null ? th.data.userinfo.mobile : addr.consignee,
+ 'province': addr == null ? 0 : addr.province,
+ 'city': addr == null ? 0 : addr.city,
+ 'district': addr == null ? 0 : addr.district,
+ 'twon': addr == null ? 0 : addr.twon,
+ 'address': addr == null ? "" : addr.address,
+ 'more_address': addr == null ? "" : addr.more_address,
+ 'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
+ 'email': '',
+ 'shipping_code': th.data.is_all_zt == 1 ? 0 : th.data.wu_arr[t_item.wind].code,
+ 'shipping_name': th.data.is_all_zt == 1 ? '' : th.data.wu_arr[t_item.wind].name,
+ 'invoice_title': '',
+ 'goods_price': parseFloat(t_item.goods_price).toFixed(2), //商品总价
+ 'shipping_price': parseFloat(t_item.shipping_price).toFixed(2), //物流金额
+ 'user_money': parseFloat(t_item.user_money).toFixed(2), //使用余额
+ 'total_amount': parseFloat(t_item.total_amount).toFixed(2), //订单总价
+ 'order_amount': parseFloat(t_item.order_amount).toFixed(2), //应付
+ 'user_note': val_arr[i], //用户备注
+ 'store_id': oo.stoid, //商家
+ 'pickup_id': t_item.pickup_id, //门店
+ 'exp_type': t_item.exp_type, //配送方式
+ 'order_goods': new Array(),
+ };
+ //是不是重新提交
+ if (th.data.is_continue == 1) item.is_continue = 1;
+ //----- 如果有线下取价的话 ----
+ if (t_item.is_offline == 1) {
+ item.sum_offline_cut = t_item.offline_price.toFixed(2);
}
- },
- close_coupon: function (e) {
- var th = this;
- th.setData({ open_quan: 0, disabled: 0 });
- },
- //---判断券时候在已经选择的列表中---
- check_in_sele: function (no, pick_id) {
- var th = this;
- if (th.data.using_quan.length <= 0) return false;
- for (var i in th.data.using_quan) {
- //--如果键值等于本身就要跳出--
- if (parseInt(i) == parseInt(pick_id)) continue;
- var item = th.data.using_quan[i];
- if (item.coupon_no == no) {
- return true;
- }
+ //组装优惠券的钱
+ if (t_item.coupon_price) {
+ item.coupon_price = t_item.coupon_price;
+ item.coupon_no = th.data.using_quan[t_item.pickup_id].coupon_no;
+ } else if (t_item.quan_no) {
+ item.coupon_no = t_item.quan_no;
+ item.coupon_price = 0;
}
- return false;
- },
- /*--点击选择券--*/
- sele_quan_item: function (e) {
-
- var ind = e.currentTarget.dataset.ind;
- var quan_item = this.data.selected_quan_list[ind];
- var pickid = this.data.selected_quan_pick; //现在选择的是哪一个门店
- //--如果券是单品使用的时候--
- if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") {
- //---只有多件购买的时候才要计算,//购物车购买和搭配勾的时候---
- var gg = getApp().get_b_now();
- if (this.data.is_b_now == 0 || gg.prom_type == 5) {
- var arr = this.data.order_prom_list_cart;
- var t_pk_item = null;
- for (var ii in arr) {
- var ep = arr[ii];
- if (pickid == ep.pickup_id) {
- t_pk_item = ep;
- break;
- }
- }
- //--寻找券指定的商品--
- var gd = null;
- if (t_pk_item) {
- var goods = t_pk_item.goods;
- for (var gid in goods) {
- if (quan_item.UseObjectID == goods[gid].erpwareid) {
- gd = goods[gid];
- }
- }
- }
- if (!gd) {
- getApp().my_warnning("未找到指定商品使用", 0, this, 600);
- return false;
- }
- //计算价格,如果有平摊的实收要计算实收的金额
- var item_price = gd.goods_price * gd.goods_num;
- //-- 如果有平摊下去,有实收价格的时候,就要用account_fir来计算价格 --
- if (gd.account_fir != null && gd.account_fir != undefined) {
- item_price = gd.account_fir * gd.goods_num;
- }
+ //-- 如果有使用佣金抵扣的话 --
+ if (th.data.cart_use_commission) {
+ item.use_commission = t_item.can_usecommise;
+ }
- if (item_price < parseFloat(quan_item.BuySum)) {
- getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600);
- return false;
- }
- }
+ var order_prom_list = {};
+ //--判断有没有优惠活动--
+ if (t_item.order_prom_amount > 0) {
+ order_prom_list.order_prom_id = t_item.order_prom_id;
+ order_prom_list.order_prom_amount = t_item.order_prom_amount;
}
- var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list;
- //---所有的券的显示红色选择都清理一遍---
- for (var i in quanlist) {
- quanlist[i].show_red = 0;
+ order_prom_list.discount_amount = 0;
+ //--判断优惠活动的提交--
+ if (t_item.cut_price > 0) {
+ order_prom_list.discount_amount += t_item.cut_price;
}
- this.setData({ selected_quan_list: quanlist });
- var by_quanlist = this.data.get_by_quan_list;
- if (by_quanlist) {
- //---所有的券的显示红色选择都清理一遍---
- for (var inb in by_quanlist) {
- by_quanlist[inb].show_red = 0;
- }
- this.setData({ get_by_quan_list: by_quanlist });
+ //--判断组合优惠活动的提交--
+ if (t_item.zh_cut_price > 0 || t_item.zh_cut_price < 0) {
+ order_prom_list.discount_amount += t_item.zh_cut_price;
+ order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json);
}
- var by_cart_list = this.data.by_quan_list_cart;
- if (by_cart_list) {
- //---所有的券的显示红色选择都清理一遍---
- for (var inc in by_cart_list) {
- by_cart_list[inc].show_red = 0;
- }
- this.setData({ by_quan_list_cart: by_cart_list });
+ //--判断阶梯优惠活动的提交--
+ if (t_item.ladder_cut_price > 0 || t_item.ladder_cut_price < 0) {
+ order_prom_list.discount_amount += t_item.ladder_cut_price;
}
- var using_quan = this.data.using_quan;
- var th = this;
- //---如果是不使用优惠券---
- if (no_use == 1) {
- console.log("有进来吗券", no_use);
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
- }
- else {
- using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 };
- }
- this.setData({ using_quan: using_quan, is_coupon: th.is_coupon });
- return;
+ if (t_item.prom_pt_json) {
+ order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json);
}
-
- var txt = "selected_quan_list[" + ind + "].show_red";
- var obj = {};
- obj[txt] = 1;
- if (quan_item.show_red) {
- obj[txt] = 0;
+ if (t_item.s_intValue > 0) {
+ order_prom_list.give_integral = t_item.s_intValue;
}
- this.setData(obj);
- console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt);
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
+ if (t_item.s_coupon_id) {
+ order_prom_list.give_coupon_id = t_item.s_coupon_id;
+ order_prom_list.g_coupon_num = JSON.stringify(t_item.g_coupon_num);
}
- else {
- using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 };
+ if (t_item.s_libao) {
+ order_prom_list.give_lb_id = t_item.s_libao;
+ order_prom_list.g_lb_num = JSON.stringify(t_item.g_lb_num);
}
- this.setData({ using_quan: using_quan });
-
- },
- /*----- 点击选择包邮券 -----*/
- sele_quan_item_by: function (e) {
- var no_use = e.currentTarget.dataset.no;
- //立即购买的包邮券
- var by_quanlist = this.data.get_by_quan_list;
- if (by_quanlist) {
- //---所有的券的显示红色选择都清理一遍---
- for (var ind in by_quanlist) {
- by_quanlist[ind].show_red = 0;
- }
- this.setData({ get_by_quan_list: by_quanlist });
+ //-- 送专享礼包的时候 --
+ if (t_item.zx_libao) {
+ order_prom_list.give_zxlb_id = t_item.zx_libao;
+ order_prom_list.g_zxlb_num = JSON.stringify(t_item.g_zxlb_num);
}
- //--购物车过来的包邮券--
- var by_cart_list = this.data.by_quan_list_cart;
- if (by_cart_list) {
- //---所有的券的显示红色选择都清理一遍---
- for (var ind in by_cart_list) {
- by_cart_list[ind].show_red = 0;
- }
- this.setData({ by_quan_list_cart: by_cart_list });
- }
- //普通券
- var quanlist = this.data.selected_quan_list;
- if (quanlist) {
- //---所有的券的显示红色选择都清理一遍---
- for (var ind in quanlist) {
- quanlist[ind].show_red = 0;
- }
- this.setData({ selected_quan_list: quanlist });
- }
+ if (Object.keys(order_prom_list).length > 0) {
+ if (order_prom_list.discount_amount)
+ order_prom_list.discount_amount = parseFloat(order_prom_list.discount_amount).toFixed(2);
+ if (order_prom_list.order_prom_amount)
+ order_prom_list.order_prom_amount = parseFloat(order_prom_list.order_prom_amount).toFixed(2);
- var th = this;
- var using_quan = this.data.using_quan;
- //---如果是不使用优惠券---
- if (no_use == 1) {
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
- }
- else {
- using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 };
- }
- this.setData({ using_quan: using_quan, is_coupon: th.is_coupon });
- return;
- }
-
- var pickid = th.data.selected_quan_pick; //现在选择的是哪一个门店
- var ind = e.currentTarget.dataset.ind;
- //--如果是立即购买的部分--
- var txt = "";
- var txt1 = "";
- var quan_item = null;
- if (th.data.is_b_now) {
- quan_item = this.data.get_by_quan_list[ind];
- txt = "get_by_quan_list[" + ind + "].show_red";
- var obj = {};
- obj[txt] = 1;
- this.setData(obj);
- } else {
- txt = "by_quan_list_cart[" + ind + "].show_red";
- quan_item = th.data.by_quan_list_cart[ind];
- var obj = {};
- obj[txt] = 1;
- this.setData(obj);
- th.data.get_by_quan_list_cart[pickid] = JSON.parse(JSON.stringify(th.data.by_quan_list_cart)); //要把选中的弄回数组
+ item.order_prom_list = order_prom_list;
}
- if (using_quan[th.data.selected_quan_pick]) {
- using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
- }
- else {
- using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 };
- }
- this.setData({ using_quan: using_quan });
- },
- //--确认使用券---
- confirm_quan: function () {
- var using_quan = this.data.using_quan; //正在使用中的券列表
- var pickid = this.data.selected_quan_pick; //选中的门店ID
- var th = this;
- var selected_quan_list = this.data.selected_quan_list; //选择了那个门店的券列表
- var get_by_quan_list = this.data.get_by_quan_list; //立即购买的包邮券列表
- var by_quan_list_cart = this.data.by_quan_list_cart; //购物车购买的包邮券列表
- //选择了的券
- var sele_quan = null;
-
- //循环普通的券
- for (var i in selected_quan_list) {
- var item = selected_quan_list[i];
- if (item.show_red) {
- th.insert_into_using_quan(item, using_quan, pickid);
- return;
+ //老会员成为分销下线需要的参数
+ if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
+ //判断一下分享人是不是分享商
+ await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(res => {
+ if (res.data.code == 0) {
+ var user = res.data.data;
+ if (user.is_distribut == 1) {
+ item.first_leader = parseInt(getApp().globalData.first_leader);
+ }
}
+ })
}
- //循环包邮的券,立即购买的
- for (var i in get_by_quan_list) {
- var item = get_by_quan_list[i];
- if (item.show_red) {
- if (th.data.is_no_by[pickid] == 1) {
- getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
- return false;
- }
- if (th.data.is_by[pickid] == 1) {
- getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
- return false;
- }
- th.insert_into_using_quan(item, using_quan, pickid, 1);
- return;
- }
+
+ //房间号的ids
+ var room_ids = "";
+
+ //-- 把券的钱,写入从表 ---
+ if (t_item.quan_youhui_list && t_item.coupon_price) {
+ for (var kk in t_item.quan_youhui_list) {
+ var you_item = t_item.quan_youhui_list[kk];
+ //-- 对券的价格进行平摊 --
+ await th.split_set_goods_quanprice(you_item, t_item);
+ }
}
- //循环包邮的券
- for (var i in by_quan_list_cart) {
- var item = by_quan_list_cart[i];
- if (item.show_red) {
- if (th.data.is_no_by[pickid] == 1) {
- getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
- return false;
- }
- if (th.data.is_by[pickid] == 1) {
- getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
- return false;
- }
- th.insert_into_using_quan(item, using_quan, pickid, 1);
- return;
+ //代发商品的集合
+ var df_goods = [];
+ var df_price = 0;
+ var df_room_ids = "";
+
+
+ var check_map = {};
+
+ //-------------让商品添加到商品列表--------------------
+ for (var k = 0; k < t_item.goods.length; k++) {
+
+ console.log("222");
+ var g_item = t_item.goods[k];
+ if (g_item.goods_num <= 0) continue;
+ var goods = {
+ 'goods_id': g_item.goods_id,
+ 'goods_name': g_item.goods_name,
+ 'goods_sn': g_item.goods_sn,
+ 'goods_num': g_item.goods_num,
+ 'market_price': g_item.market_price,
+ 'goods_price': g_item.goods_price,
+ 'member_goods_price': g_item.goods_price,
+ 'store_id': oo.stoid,
+ };
+
+ if (getApp().globalData.skinface_id) {
+ goods.skinface_id = getApp().globalData.skinface_id;
+ }
+
+ //-- 线下取价也要写入,组合购的商品不能去线下价格 --
+ if (g_item.offline_price && t_item.is_offline == 1 && g_item.prom_type != 7) {
+ goods.goods_price = g_item.offline_price;
+ goods.member_goods_price = g_item.offline_price;
+ goods.offline_cut = (g_item.goods_price - g_item.offline_price).toFixed(2);
+ goods.pricing_type = g_item.pricing_type;
+ }
+ if (g_item.quan_num) {
+ goods.quan_num = g_item.quan_num;
+ goods.quan_no = g_item.quan_no;
+ }
+ //--判断活动的类型--
+ switch (g_item.prom_type) {
+ case 1:
+ case 2:
+ case 10:
+ goods.prom_type = g_item.prom_type;
+ goods.prom_id = g_item.prom_id;
+ break;
+ case 3:
+ goods.prom_type = 3;
+ goods.prom_id = g_item.prom_id;
+ if (g_item.is_gift) {
+ goods.is_gift = g_item.is_gift;
+ goods.gift_id = g_item.gift_id;
+ }
+ break;
+ case 5:
+ goods.prom_type = 5;
+ goods.prom_id = g_item.prom_id;
+ if (g_item.is_collocation) {
+ goods.is_collocation = g_item.is_collocation;
+ }
+ break
+ case 7:
+ goods.prom_type = 7;
+ goods.prom_id = g_item.prom_id;
+ break
+ default:
+ goods.prom_type = 0;
+ goods.prom_id = 0;
+ }
+
+ var txt = goods.prom_id + ',' + goods.prom_type + ',' + goods.goods_id + ',' + goods.is_gift;
+ //--赠品的时候,阶梯促销会右重复的情况 --
+ if (check_map[txt] && goods.prom_type != 10) {
+ getApp().confirmBox(goods.goods_name + "计算金额错误,请重新刷新");
+ return false;
+ } else {
+ check_map[txt] = 1;
+ }
+
+ //如果不立即购买或者秒杀,如果是线下库存购买的时候
+ if (goods.prom_type == 0 && th.data.sales_rules >= 2) {
+ var isok = 1;
+ await th.check_store_num(goods.goods_id, t_item.pickup_id, goods.goods_num, function (res) {
+ isok = res;
+ });
+ if (!isok) {
+ getApp().confirmBox(goods.goods_name + "的门店库存不足");
+ th.data.is_summit_ing = 0;
+ return false;
+ }
+ }
+
+ //把优惠的平摊结果写进去
+ if (g_item.account >= 0 || (g_item.account_yu != 0 && g_item.account != undefined)) {
+ if (g_item.account >= 0) goods.account = g_item.account;
+ if (g_item.account_yu != 0) goods.account_yu = g_item.account_yu;
+ item.is_discount_amount = 1;
+ }
+
+ //导购ID
+ if (g_item.guide_id) {
+ goods.guide_id = g_item.guide_id;
+ goods.guide_type = g_item.guide_type;
+ //调用接口判断是不是会员
+ await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + g_item.guide_id, {}).then(res => {
+ if (res.data.code == 0) {
+ goods.guide_name = res.data.data.salesman;
+ goods.guide_sn = res.data.data.salesman_no;
+ }
+ })
+ }
+
+ //如果有阶梯促销
+ if (g_item.ladder_list_id) {
+ goods.ladder_list_id = g_item.ladder_list_id;
+ }
+
+ //-- 如果有代发商品,就要开始拆单 --
+ if (g_item.whsle_id && t_item.goods.length > 1) {
+ df_price += parseFloat(g_item.goods_num * g_item.goods_price);
+ goods.is_whsle_goods = 1;
+ th.add_df_goods(goods, df_goods, g_item.whsle_id, g_item.room_id);
+
+ //df_goods.push(goods);
+ // df_room_ids += g_item.room_id + ",";
+ } else {
+
+ //-- 如果只有一件的时候,商品又是代发商品,订单的状态要改成代发订单 --
+ if (g_item.whsle_id) {
+ goods.is_whsle_goods = 1;
+ item.is_whsle = 1;
+ item.whsle_id = g_item.whsle_id
}
- }
- //选择了的券,看是不是点击了不使用券,点击了不使用优惠券
- if (using_quan[pickid]) {
- if (using_quan[pickid].is_nouse_red == 1) {
- using_quan[pickid] = { is_nouse_red: 1 };
- th.setData({ using_quan: using_quan });
- if (th.data.is_b_now == 1) {
- th.calculatePrice2();
- } else {
- th.calculatePrice();
- }
- th.setData({ open_quan: 0 });
- return;
+ item.order_goods.push(goods);
+ //如果房间号不为空的时候
+ if (g_item.room_id) {
+ goods.room_id = g_item.room_id;
+ room_ids += g_item.room_id + ",";
}
+ }
}
- },
- //----把券插入之后的操作,同时还要重新计算价格----
- insert_into_using_quan:async function (item, using_quan, pickid, isby) {
- var th = this;
- var old_quan=null;
- if (isby == 1) {
- using_quan[pickid] = {
- coupon_no: item.no,
- money: 0,
- is_nouse_red: 0,
- region_list: item.region_list,
- goods_list: item.goods_list
- };
- using_quan[pickid].isby = 1;
- } else {
- if(using_quan[pickid]) old_quan=using_quan[pickid];
- using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 };
- using_quan[pickid].isby = 0;
- }
- this.setData({ using_quan: using_quan });
- if (th.data.is_b_now == 1) {
- th.calculatePrice2(function () {
- if(old_quan) using_quan[pickid]=old_quan;
- else using_quan[pickid]=null;
- th.setData({ using_quan: using_quan,submit:0 });
- wx.showToast({
- title: "不能使用优惠券,同城起送价不足",
- icon: 'none',
- duration: 2000
- })
+ //如果房间号不为空的时候
+ if (room_ids != "") item.room_ids = ut.sub_last(room_ids);
- });
- } else {
- th.calculatePrice(function () {
- if(old_quan) using_quan[pickid]=old_quan;
- else using_quan[pickid]=null;
- th.setData({ using_quan: using_quan ,submit:0 });
- wx.showToast({
- title: "不能使用优惠券,同城起送价不足",
- icon: 'none',
- duration: 2000
- })
- });
- }
- th.setData({ open_quan: 0 });
- },
+ //处理代发商品的拆分
+ if (df_goods.length > 0) {
- cart_set_err: function (e) {
- var txt = e.currentTarget.dataset.err;
- var ob = {};
- ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif";
- this.setData(ob);
- },
- cart_set_err1: function (e) {
- var txt = e.currentTarget.dataset.err;
- var ob = {};
- ob[txt] = "/miniapp/images/default_g_img.gif";
- this.setData(ob);
- },
- //--验证是否已经冻结--
- check_is_frozenQuan: function (quanlist, frozenQuan, isby) {
- console.log("券列表", quanlist);
- if (!quanlist) return null;
- if (!frozenQuan) return quanlist;
- var arr = [];
- for (var i = 0; i < quanlist.length; i++) {
- var item = quanlist[i];
- var is_find = 0;
- var Q_no = quanlist[i].CashRepNo;
- if (isby) Q_no = quanlist[i].no;
- for (var j = 0; j < frozenQuan.length; j++) {
- var q_no = frozenQuan[j].cashRepNo;
- if (Q_no == q_no) {
- is_find = 1;
- break;
- }
- }
- if (!is_find) arr.push(item);
- }
- return arr;
- },
- //// 开启物流的弹窗
- show_wu_arr: function (e) {
- var wu_arr_txt = e.currentTarget.dataset.txt;
- var w_sele_index = e.currentTarget.dataset.w_sele_index;
- var is_express = null;
- var ob = { open_express: 1, wu_arr_txt: wu_arr_txt, disabled: 1 };
+ item.goods_price = parseFloat(item.goods_price - df_price).toFixed(2);
+ item.total_amount = parseFloat(item.total_amount - df_price).toFixed(2);
- //--如果是多个门店的时候--
- if (w_sele_index != undefined) {
- is_express = this.data.cartlist[w_sele_index].wind;
- ob['is_express'] = is_express;
- }
- this.setData(ob);
- },
- // 关闭物流的弹窗
- close_express: function () {
- this.setData({ open_express: 0, disabled: 0 });
- },
- // 选择物流
- click_express_name: function (e) {
- var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode;
- var index = e.currentTarget.dataset.idxe;
- var ob = { is_express: index, is_shipping_code: shippingcode, disabled: 0 };
- ob[this.data.wu_arr_txt] = index;
- this.setData(ob);
- },
+ for (let j = 0; j < df_goods.length; j++) {
- //点击确定物流
- determine_expres: function (e) {
- this.setData({ open_express: 0 });
- if (this.data.is_b_now == 1)
- this.calculatePrice2();
- else
- this.calculatePrice();
- },
+ var df_item = JSON.parse(JSON.stringify(item));
- //点击打开优惠券使用说明
- clik_coupons: function (e) {
- var ind = e.currentTarget.dataset.idx;
- var is_open = this.data.selected_quan_list[ind].is_open;
+ var ddff_item = df_goods[j];
- if (is_open == 1) is_open = 0;
- else is_open = 1;
+ df_item.is_whsle = 1;
+ df_item.whsle_id = ddff_item.whsle_id;
+ df_item.is_discount_amount = 0;
+ df_item.goods_price = ddff_item.df_price;
+ df_item.total_amount = ddff_item.df_price;
+ df_item.shipping_price = 0; //没有运费
+ if (df_item.order_prom_list) df_item.order_prom_list = {};
+ if (df_item.coupon_price) delete (df_item.coupon_price);
+ if (df_item.coupon_no) delete (df_item.coupon_no);
- var txt = "selected_quan_list[" + ind + "].is_open"
- var obj = {};
- obj[txt] = is_open;
+ //看一下是用余额比较多,还是用钱比较多
+ if (item.order_amount > item.user_money) {
+ if (item.order_amount > ddff_item.df_price) {
+ item.order_amount = parseFloat(item.order_amount - ddff_item.df_price).toFixed(2);
+ df_item.order_amount = ddff_item.df_price.toFixed(2);
+ } else {
+ var more_p = parseFloat(ddff_item.df_price - item.order_amount).toFixed(2);
+ item.order_amount = 0;
+ item.user_money = parseFloat(item.user_money - more_p).toFixed(2);
+ df_item.user_money = more_p;
+ }
+ } else {
- this.setData(obj);
- this.setData({ disabled: 1 })
- },
+ if (item.user_money > ddff_item.df_price) {
+ item.user_money = parseFloat(item.user_money - ddff_item.df_price).toFixed(2);
+ df_item.user_money = ddff_item.df_price.toFixed(2);
+ } else {
+ var more_p = parseFloat(ddff_item.df_price - item.user_money).toFixed(2);
+ item.user_money = 0;
+ item.order_amount = parseFloat(item.user_money - more_p).toFixed(2);
+ df_item.order_amount = more_p;
- clik_coupons2: function (e) {
- var ind = e.currentTarget.dataset.idx;
- var is_open = this.data.get_by_quan_list[ind].is_open;
+ }
+ }
- if (is_open == 1) is_open = 0;
- else is_open = 1;
+ if (ddff_item.df_room_ids)
+ df_item.room_ids = ut.sub_last(ddff_item.df_room_ids);
+ df_item.order_goods = ddff_item.df_goods;
+ pdata.push(df_item);
+ }
- var txt = "get_by_quan_list[" + ind + "].is_open"
- var obj = {};
- obj[txt] = is_open;
- this.setData(obj);
- this.setData({ disabled: 1 })
- },
+ }
+ //如果只有代发商品的时候
+ if (item.order_goods.length > 0) {
+ //item.order_goods=df_goods;
+ //item.is_whsle=1;
+ pdata.push(item);
+ }
+ }
- //设置默认物流
- select_default_logistics: function () {
- var th = this;
- var is_shipping_code = this.data.is_shipping_code
- getApp().request.put("/api/weshop/users/update", {
- data: { user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code },
- success: function (rse) {
- if (rse.data.code == 0) {
- getApp().globalData.userInfo.def_exp_code = is_shipping_code;
- th.setData({ open_express: 0 });
- //----计算此时购物车的价格----
- if (th.data.is_b_now == 1) th.calculatePrice2();
- else th.calculatePrice();
- }
- }
- })
- },
+ }
- //更新下默认,在onshow里面
- update_code() {
- var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
- //--定时器,判断wu_arr不未空--
- var uii = setInterval(function () {
- if (th.data.wu_arr) {
- clearInterval(uii);
- for (var k = 0; k < th.data.wu_arr.length; k++) {
- var item = th.data.wu_arr[k];
- if (def_exp_code == item.code) {
- m_wind = k;
- }
- }
- //--如果是立即购买--
- if (th.data.is_b_now == 1) {
- th.setData({ index: m_wind, is_express: m_wind });
- } else {
- var ui = setInterval(function () {
- if (th.data.cartlist) {
- var c_arr = th.data.cartlist;
- for (var i in c_arr) {
- c_arr[i].wind = m_wind;
- }
- th.setData({ cartlist: c_arr, is_express: m_wind })
- clearInterval(ui);
- }
- }, 500)
- }
+ if (pdata.length == 0) return;
+ var str = JSON.stringify(pdata);
+
+ wx.showLoading({ title: "加载中" });
+ th.setData({ submit: 1, })
+ wx.request({
+ url: oo.url + '/api/weshop/order/createWxdOrder',
+ data: str,
+ method: 'POST',
+ header: {
+ 'content-type': 'application/json'
+ },// 设置请求的 header
+ success: function (res) {
+ wx.hideLoading();
+ if (res.statusCode == 200) {
+ var data = res.data;
+ if (data.code == 0) {
+ th.setData({ submit: 1, })
+ //如果是购物车结算,还要删除购物车
+ if (th.data.is_b_now == 0) {
+ console.log(th.data.cartlist_y);
+ var list = th.data.cartlist_y;
+ for (var i = 0; i < list.length; i++) {
+ //删除购物车
+ a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {});
+ }
}
- }, 500);
- },
- //-----获取购物车进来的劵-------
- get_cart_quan: async function (order_prom_list_cart) {
- var th = this;
- var user_id = getApp().globalData.user_id;
- //等待值的出现
- //getApp().waitfor2(this,"g_cart_q_time","order_prom_list_cart",async function () {
- //var arr=th.data.order_prom_list_cart;
- var arr = order_prom_list_cart;
- if (!arr) arr = [];
- //如果系统有限制使用优惠券
- if (th.data.is_close_quan) return false;
-
- //------------开始计算使用优惠券相关------------
- for (var ind in arr) {
- var ep = arr[ind];
- var goodlist = ep.goods;
- var pickup_id = ep.pickup_id;
- //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西
- //就要把相应的值,写入cartlist数组中--
- var ckeck_quan_price = 0,
- check_quan_price_list = '',
- check_quan_ware_list = '',
- check_quan_price_list_arr = [],
- check_quan_ware_list_arr = [];
-
- for (var i in goodlist) {
- var gd = goodlist[i];
- //--如果是秒杀就跳出,如果是赠品,如果是组合购限制使用优惠券--
- if (gd.whsle_id==1 || gd.prom_type == 1 || gd.is_gift || (gd.prom_type == 7 && gd.act.is_xz_yh) || gd.is_xz_yh == 1) {
- continue;
- }
-
- //--如果是团购,要判断有没有限制使用优惠券
- if (gd.prom_type == 2) {
- var prom1 = null;
- await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, {
- }).then(res => {
- if (res.data.code == 0) prom1 = res.data.data;
- })
- if (prom1 && !prom1.isQuan) {
- continue;
- }
- }
+ var order_amount = 0;
+ pdata.forEach(function (em, ind) {
+ order_amount += parseFloat(em.order_amount);
+ })
+ //要进行判断,如果是用微信支付,就要跳转到支付界面
+ if (order_amount > 0) {
+ th.setData({ isclose: 0 });
+ //void e.jumpToCart4({
+ // order_sn: data.data,
+ //}, 1);
+ util_pay.pay(data.data, function () {
+ //app.my_warnning("支付成功",1,th);
+ //setTimeout(function () {
+ wx.redirectTo({
+ url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data
+ })
+ //},1000)
- //--如果是阶梯购,要判断有没有限制使用优惠券
- if (gd.prom_type == 10) {
- var prom1 = null;
- await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + gd.prom_id, {
- }).then(res => {
- if (res.data.code == 0) prom1 = res.data.data;
- })
- if (prom1 && prom1.isuse && prom1.is_usecoupon) {
- continue;
- }
- }
+ }, function () {
- //如果有限制使用优惠券,就要返回
- if (gd.prom_type == 3) {
- if(th.data.prom_goods_map && th.data.prom_goods_map[pickup_id] && th.data.prom_goods_map[pickup_id][gd.prom_id] ) {
- if (th.data.prom_goods_map[pickup_id][gd.prom_id].is_xz_yh) continue;
- th.data.prom_goods_map[pickup_id][gd.prom_id].coupon_sele = 1;
- }
- }
- var item_price = gd.goods_price * gd.goods_num;
- var item_price2 = item_price;
+ return false;
+ //支付失败
+ setTimeout(function () {
+ var cps = getCurrentPages();
+ if (cps.length > 1) {
+ wx.navigateBack({ delta: 1 })
+ } else {
+ getApp().goto("/pages/index/index/index");
+ }
- //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 --
- if (gd.account_fir != null && gd.account_fir != undefined) {
- item_price2 = gd.account_fir * gd.goods_num;
- }
+ }, 1000)
+ }, oo.stoid);
- if (gd.ld_account) {
- item_price2 = gd.ld_account * gd.goods_num;
- }
- ckeck_quan_price += item_price;
- //如果商品有重复的过滤,一般是组合购和阶梯购的情况下
- var idx = check_quan_ware_list_arr.findIndex(function (ele) {
- return ele == encodeURIComponent(gd['erpwareid']);
- })
+ } else {
+ var dd = {
+ parent_sn: data.data,
+ store_id: oo.stoid,
+ type: 2,
+ };
+ a.post("/api/weshop/order/pay/createOrder", {
+ data: dd,
+ success: function (t) {
+ //console.log(t);
+ if (t.data.code == 0) {
+ //app.my_warnning("支付成功",1,th);
+ //setTimeout(function () {
+ th.setData({ isclose: 0 });
+ wx.redirectTo({
+ url: "/pages/payment/pay_success/pay_success?type=2&order_sn=" + data.data,
+ })
+ //}, 1000)
+ }
+ },
+ fail: function () {
- if (idx > -1) {
- check_quan_price_list_arr[idx] += item_price2;
- } else {
- check_quan_ware_list_arr.push(encodeURIComponent(gd['erpwareid']));
- check_quan_price_list_arr.push(item_price2);
- }
- //--组装价格list--
- /*--
- if (check_quan_price_list) {
- check_quan_price_list += "," + item_price;
- } else {
- check_quan_price_list = item_price;
- }
- //--组装商品的线下erpwareid--
- if (check_quan_ware_list) {
- check_quan_ware_list += "," + encodeURIComponent(gd['erpwareid']);
- } else {
- check_quan_ware_list = encodeURIComponent(gd['erpwareid']);
- }---*/
- }
- //优惠券优惠的金额要控制到优惠券的选择条件
- var cut_price = 0;
- for (var i in th.data.prom_goods_map[pickup_id]) {
- var obj = th.data.prom_goods_map[pickup_id][i];
- if (obj.coupon_sele) {
- cut_price += obj.price - obj.prom_price;
}
+ });
}
- var prom_pt_json = ep.prom_pt_json;
- if (prom_pt_json) {
- for (let oj in prom_pt_json) {
- let item_j = prom_pt_json[oj];
- //要对一下阶梯优惠促销的功能
- if (item_j.ladder_prom_id) {
- //看一下要不要限制使用优惠券
- if (th.data.ladder_map[item_j.ladder_prom_id] && th.data.ladder_map[item_j.ladder_prom_id].is_usecoupon) {
- continue;
- }
- cut_price += parseFloat(item_j.dis);
- }
- //要对一下组合购促销的功能
- if (item_j.zhprom_id) {
- //看一下要不要限制使用优惠券
- if (th.data.zhhe_act_map[item_j.zhprom_id] && th.data.zhhe_act_map[item_j.zhprom_id].is_xz_yh) {
- continue;
- }
- cut_price += parseFloat(item_j.dis);
- }
+ }
+ else {
+ //--内容换行--
+ var msg = data.msg;
+ //赠品活动已经取消,无法赠送,是否继续买单?
+ if (msg.indexOf("是否继续买单") > 0) {
+ wx.showModal({
+ title: "提示",
+ content: data.msg,
+ cancelText: '取消',
+ confirmText: '确定',
+ showCancel: true,
+ success(res) {
+ if (res.cancel) {
+ return;
+ } else if (res.confirm) {
+ th.data.is_continue = 1;
+ th.data.is_summit_ing = 0; //是否提交中
+ th.submit_func();
+ }
}
+ })
+ return;
+ } else {
+ if (msg.length > 13) {
+ msg = msg.slice(0, 13) + "\r\n" + msg.slice(13);
+ }
+ getApp().confirmBox(msg);
+ th.data.is_summit_ing = 0; //是否提交中
+ th.setData({
+ submit: 0,
+ })
}
- if (check_quan_price_list_arr.length) check_quan_price_list = check_quan_price_list_arr.join(',');
- if (check_quan_ware_list_arr.length) check_quan_ware_list = check_quan_ware_list_arr.join(',')
-
- arr[ind].ckeck_quan_price = ckeck_quan_price - (cut_price ? cut_price : 0);
- arr[ind].check_quan_ware_list = check_quan_ware_list;
- arr[ind].check_quan_price_list = check_quan_price_list;
- //-- 是否关闭使用优惠券,循环有找到商品 --
- if (th.data.is_close_quan != 1 && check_quan_ware_list) {
- //--调用接口,获取优惠券的列表,3秒钟内控制接口请求--
- var url = "/api/weshop/couponList/getUseCouponList";
- await app.request.promiseGet(url, {
- data: {
- storeId: oo.stoid,
- userId: app.globalData.user_id,
- BuySum: arr[ind].ckeck_quan_price,
- WareIds: check_quan_ware_list,
- pageSize: 100
- }
- }).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);
- }
- })
- }
- }
- //如果是搭配购的立即购买的时候
- 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 })
- }
+ }
} else {
- th.setData({ cartlist: arr })
- th.set_can_num();
+ th.data.is_summit_ing = 0; //是否提交中
+ console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
+ th.setData({
+ submit: 0,
+ })
+ }
+ },
+ fail: function () {
+ th.data.is_summit_ing = 0;
+ wx.hideLoading();
+ console.log("index.js wx.request CheckCallUser fail");
+ th.setData({
+ submit: 0,
+ })
+ }
+ })
+
+ },
+ //---确认线下门店的数量足不足---
+ async check_store_num(goods_id, pick, goods_num, func) {
+ var lock = 0, pick_no, plist, erpwareid;
+
+ var lock_rq = { store_id: os.stoid, wareId: goods_id, storageId: pick, pageSize: 1000 };
+ if (this.data.sales_rules == 3) {
+ lock_rq.appoint_pick_keyid = this.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;
+ }
+ })
+
+ if (this.data.sales_rules == 2) {
+ //先获取门店的编号
+ await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + pick, {
+ data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick }
+ }).then(res => {
+ if (res.data.code == 0) {
+ pick_no = res.data.data.pickup_no;
}
+ })
+ }
- //})
- },
+ //先获取商品的线下库存
+ await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, {
+ data: { storeId: os.stoid, goodsId: t.goods_id, pickupId: pick }
+ }).then(res => {
+ if (res.data.code == 0) {
+ erpwareid = res.data.data.erpwareid;
+ }
+ })
- //------ 获取立即购买的购物车的劵 --------
- get_buy_now_quan: function () {
- var quanlist = null, th = this, frozenQuan = null;
- var good = this.data.bn_goods;
-
- //一件代发商品不使用优惠券
- if(good.whsle_id) return false;
- if (good.prom_price) {
- th.data.ckeck_quan_price = good.prom_price; //如果有优惠价,就用优惠价
- } else if (good.is_offline) {
- th.data.ckeck_quan_price = good.offline_price; //如果有线下取价,就用线下价
- }
- //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
- if (th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh != 1) {
- var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
- var url = "/api/weshop/couponList/getUseCouponList";
- app.request.promiseGet(url0, { 1: 1 }).then(res => {
- if (res.data.code == 0) {
- frozenQuan = res.data.data;
- th.data.frozenQuan = frozenQuan;
- }
- app.request.time_limit_get(6, url, {
- data: {
- storeId: oo.stoid,
- userId: app.globalData.user_id,
- BuySum: th.data.ckeck_quan_price,
- WareIds: encodeURIComponent(th.data.check_quan_ware_list),
- pageSize: 100
- },
- success: function (res) {
- if (res.data.code == 0) {
- quanlist = res.data.data.pageData;
- if (quanlist) {
- quanlist = th.check_is_frozenQuan(quanlist, frozenQuan);
- th.setData({ selected_quan_list: quanlist })
- }
- }
- }
- })
- })
- }
- },
- //检查区域是不是包邮
- check_area: function (arr) {
- var user_addr = this.data.user_addr;
- if (!user_addr) return 0;
- for (var i in arr) {
- var item = arr[i];
- if (user_addr.twon == item || user_addr.district == item
- || user_addr.city == item || user_addr.province == item) {
- return 0;
- }
- }
- return 1;
- },
+ var sto_rq = { storageNos: pick_no, wareIds: encodeURIComponent(erpwareid), storeId: os.stoid, pageSize: 2000 };
+ if (this.data.sales_rules == 3) {
+ sto_rq.storageIds = this.data.appoint_pick_keyid;
+ delete sto_rq.storageNos
+ }
- //检查立即购买的商品是不是不包邮
- check_good: function (arr, goods_id) {
- if (!goods_id) goods_id = this.data.bn_goods.goods_id;
- for (var i in arr) {
- var item = arr[i];
- if (goods_id == item) return 0;
- }
- return 1;
- },
- check_by_area: function (region_list) {
- var arr = region_list.split(",");
- var check = this.check_area(arr);
- return !check;
- },
- check_by_goods: function (goods_list, goods_id) {
- var arr = goods_list.split(",");
- var check = this.check_good(arr, goods_id);
- return !check;
- },
- //立即购买获取优惠活动的内容
- buy_now_prom_goods: function (prom_id, arr, func) {
- var th = this;
- var price = arr.shop_price * arr.goods_num;
- var prom = null;
- var gg = to.get_b_now();
- getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => {
- if (res.data.code == 0) {
- prom = res.data.data;
- return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
- data: {
- price: parseFloat(price).toFixed(2),
- prom_id: prom_id,
- goods_num: arr.goods_num,
- user_id: getApp().globalData.user_id,
- is_bz: prom.is_bz
- }
- })
- } else {
- func(arr);
- }
- }).then(res => {
- if (res.data.code == 0) {
- var get_data = res.data.data;
- arr.is_bz = prom.is_bz; //是不是倍增
- arr.is_xz_yh = arr.is_xz_yh ? arr.is_xz_yh : prom.is_xz_yh; //是不是优惠
- arr.bs = get_data.bs; //是不是倍数
- arr.is_past = get_data.is_past; //是不是包邮
- arr.prom_price = get_data.price >= 0 ? get_data.price : price;
- arr.s_intValue = get_data.intValue;
- arr.s_coupon_id = get_data.coupon_id;
- arr.s_coupon_num = get_data.coupon_num;
- arr.zp_mode = get_data.zp_mode;
- arr.zp_num = get_data.zp_num ? get_data.zp_num : 1; //确保默认一个
-
- //-- 看是不是有赠品 --
- if (get_data.gift_id && parseInt(get_data.zp_mode) != 1
- && get_data.zp_num * arr.bs <= get_data.limit_num
- && get_data.zp_num * arr.bs <= get_data.gift_storecount
- ) {
- arr.gift_id = get_data.gift_id;
- arr.gift_goods_id = get_data.goods_id;
- arr.gift_goods_name = get_data.goods_name;
- arr.gift_goods_sn = get_data.goodsinfo.goods_sn;
- arr.gift_goods_color = get_data.goodsinfo.goods_color;
- arr.gift_goods_spec = get_data.goodsinfo.goods_spec;
- arr.gift_original_img = get_data.goodsinfo.original_img;
- arr.gift_weight = get_data.goodsinfo.weight;
- arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
- arr.gift_uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum;
- arr.gift_limit_num = get_data.limit_num;
- arr.gift_storecount = get_data.gift_storecount;
- arr.whsle_id=get_data.goodsinfo.whsle_id;
- }
- arr.s_libao = get_data.libao;
- arr.s_lb_num = get_data.lb_num;
- arr.lbtitle = get_data.lbtitle;
- arr.zxlbtitle = get_data.zxlbtitle;
- arr.zx_libao = get_data.zxlibao;
- arr.zx_lb_num = get_data.zxlb_num;
+ //读取线下的门店库存
+ await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
+ data: sto_rq
+ }).then(res => {
+ if (res.data.code == 0) {
+ plist = res.data.data.pageData[0];
+ }
+ })
+
+ var isok = 1;
+ if (goods_num > plist.CanOutQty - lock) {
+ isok = 0;
+ }
+ func(isok);
+ },
- arr.prom_id = prom_id;
+ useCoupon: function () {
+ if (this.data.order.couponNum <= 0) {
+ getApp().my_warnning("无可用优惠券", 0, this);
+ return;
+ }
- var send_gf = {};
- var pickid = gg.pick_id;
- if (parseInt(get_data.zp_mode) == 1) {
- if (!send_gf[pickid]) send_gf[pickid] = [];
-
- var a_stock_num = 0;
- var a_limit_num = 0;
- for (let iy in get_data.giftsinfo) {
- let item = get_data.giftsinfo[iy];
- a_stock_num += parseInt(item.gift_storecount);
- a_limit_num += parseInt(item.limit_num);
- }
+ var a = {
+ lid: this.data.coupon ? this.data.coupon.id : "0"
+ };
+ wx.navigateTo({
+ url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a)
+ });
+ },
+ enterAddressPage: function () {
+ getApp().globalData.is_cart_old = 1;
+ this.data.isget_by_quan = {};
+ this.data.enterAddressPage = !0, wx.navigateTo({
+ url: "/pages/user/address_list/address_list"
+ });
+ },
+
+ //--------购物车购买时,选择自提和物流-----------
+ setexptype_w: function (t) {
+
+ var def_exp_code = getApp().globalData.userInfo.def_exp_code, th = this;
+ var ty = t.currentTarget.dataset.t, txt = t.currentTarget.dataset.txt,
+ wl_txt = t.currentTarget.dataset.wl_txt,
+ ont = t.currentTarget.dataset.ont;
+
+ th.setData({ [txt]: ty });
+ var iszt = 1;
+
+ if (ty == 0) {
+ th.setData({ is_all_zt: 0 });
+ } else {
+ for (var i = 0; i < th.data.cartlist.length; i++) {
+ var item = th.data.cartlist[i];
+ if (item.exp_type == 0 || item.exp_type == 2) {
+ iszt = 0;
+ break;
+ }
+ }
- var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs);
- if (a_limit_num >= t_zp_num && a_stock_num >= t_zp_num) {
- send_gf[pickid].push({
- pickup_id: pickid, giftsinfo: get_data.giftsinfo, zp_num: get_data.zp_num * get_data.bs,
- gf_pr_name: prom.name, prom_id: prom.prom_id
- });
- }
- th.setData({ send_gf: send_gf });
- }
- }
- func(arr);
- })
- },
- //--检查订单优惠--
- check_is_order_prom: function (condition, func, pick) {
- var th = this;
- if (this.data.is_b_now == 1) pick = this.data.bn_pick;
- //---获取订单优惠---
- getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
- data: { store_id: os.stoid, orderAmount: condition, user_id: getApp().globalData.user_id }
- }).then(res => {
- if (res.data.code == 0) {
- var data = res.data.data;
- th.data.order_prom[pick] = data;
- }
- func();
- })
- },
+ th.setData({ is_all_zt: iszt });
- //--- 加入优惠活动的映射中,同时要有一个good列表 ---
- add_prom_goods_map: async function (item) {
- var th = this;
- var pickid = item.pick_id;
- var map = th.data.prom_goods_map;
- var obj = map[pickid];
-
- if (map[pickid]) {
- if (map[pickid][item.prom_id]) {
-
- var ob = map[pickid][item.prom_id];
- //-- 避免同一件商品重复添加 --
- if(ob.goods && ob.goods.length){
- var fid=ob.goods.findIndex(function (e){
- e.goods_id==item.goods_id
- })
- if(fid>-1) return false;
- }
+ var ind = t.currentTarget.dataset.ind;
+ var c_item = th.data.cartlist[ind];
+ var pickid = c_item.pickup_id;
- ob.price += item.goods_price * item.goods_num;
- ob.goods_num += item.goods_num;
- ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num });
+ if (th.data.using_quan[pickid] && th.data.using_quan[pickid].isby == 1) {
+ th.data.using_quan[pickid] = {};
+ th.setData({ using_quan: th.data.using_quan });
+ }
- } 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;
- }
- })
- var ob = {};
- ob.prom_id = item.prom_id;
- ob.name = prom.name;
- ob.price = item.goods_price * item.goods_num;
- ob.goods_num = item.goods_num;
- ob.is_bz = prom.is_bz;
- ob.is_xz_yh = prom.is_xz_yh;
- ob.goods = new Array();
- ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num });
- map[pickid][item.prom_id] = ob;
- }
- } 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;
- }
- })
- ob.prom_id = item.prom_id;
- ob.name = prom.name;
- ob.price = item.goods_price * item.goods_num;
- ob.goods_num = item.goods_num;
- ob.is_bz = prom.is_bz;
- ob.is_xz_yh = prom.is_xz_yh;
- ob.goods = new Array();
- ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num });
- var obj = {};
- obj[item.prom_id] = ob;
- map[pickid] = obj;
+ }
+ //判断有没有默认的物流地址值
+ if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
+ var wu_arr = this.data.wu_arr;
+ if (wu_arr != null && wu_arr != "") {
+ for (var i = 0; i < wu_arr.length; i++) {
+ if (wu_arr[i].shipping_code == def_exp_code) {
+ var set_txt = "cartlist"
+ th.setData({ wl_txt: i });
+ }
}
- },
- //---检查有没有优惠活动---
- check_is_youhui: function (r_data, pick_id) {
- let send_lb = this.data.send_lb;
- let lodash = null;
- r_data.forEach(item => {
- if (send_lb[pick_id]) {
- for (let i = 0; i < send_lb[pick_id].length; i++) {
- let sends = send_lb[pick_id][i];
- if (item.lb_id) {
- if (sends.id === item.lb_id) {
- sends['num']++;
- } else {
- let send_arr1 = send_lb[pick_id].filter(ii => ii.id === item.lb_id);
- if (send_arr1.length == 0) {
- if (item.lb_id) {
- let ob = {};
- ob.num = 1;
- ob.title = item.lbtitle;
- ob.id = item.lb_id;
- lodash.push(ob);
- // break;
- }
- }
-
- }
- }
- if (item.zxlb_id) {
- if (sends.id === item.zxlb_id) {
- sends['num']++;
- } else {
- let send_arr = send_lb[pick_id].filter(ii => ii.id === item.zxlb_id);
- if (send_arr.length == 0) {
- if (item.zxlb_id) {
- let ob = {};
- ob.num = 1;
- ob.flag = 1;
- ob.title = item.zxlbtitle;
- ob.id = item.zxlb_id;
- lodash.push(ob);
- // break;
- }
- }
- }
- }
- }
-
- } else {
- let arr = new Array();
- if (item.lb_id) {
- let ob = {};
- ob.num = 1;
- ob.title = item.lbtitle;
- ob.id = item.lb_id;
- arr.push(ob);
- }
- if (item.zxlb_id) {
- let ob = {};
- ob.num = 1;
- ob.flag = 1;
- ob.title = item.zxlbtitle;
- ob.id = item.zxlb_id;
- arr.push(ob);
- }
- send_lb[pick_id] = arr;
- lodash = JSON.parse(JSON.stringify(send_lb[pick_id]));
- }
- })
- send_lb[pick_id] = lodash;
- th.setData({
- send_lb,
- })
+ }
+ }
+ //----计算此时购物车的价格----
+ th.calculatePrice();
+ },
+
+ //--------立即购买时,选择自提和物流----------
+ setexptype: function (t) {
+ var th = this;
+ var ty = t.currentTarget.dataset.t, def_exp_code = getApp().globalData.userInfo.def_exp_code;
+ th.setData({ bn_exp_type: ty });
+ if (ty == 0) {
+ th.setData({ is_all_zt: 0 });
+ }
+ //当物流为空的时候。
+ if (ty == 0 && th.data.wu_arr == null) {
+ th.data.isget_by_quan = {};
+ return th.get_wuliu(th.calculatePrice2());
+ }
- },
+ //--自提就要把包邮券清理掉--
+ if (ty == 1) {
+ th.data.isget_by_quan = {};
+ if (th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].isby == 1) {
+ th.setData({ using_quan: {} });
+ }
+ }
- //从优惠的映射中拿出商品从表的item
- item_map_get_goods: function (goods_id, map) {
- for (var i in map.goods) {
- if (map.goods[i].goods_id == goods_id) return map.goods[i];
+ //判断有没有默认的物流地址值
+ if (def_exp_code != "" && def_exp_code != null && def_exp_code != undefined) {
+ var wu_arr = this.data.wu_arr;
+ if (wu_arr != null && wu_arr != "") {
+ for (var i = 0; i < wu_arr.length; i++) {
+ if (wu_arr[i].shipping_code == def_exp_code) {
+ th.setData({ index: i });
+ }
}
- },
- //从优惠的映射中拿出商品从表的item
- arr_get_goods: function (goods_id, arr) {
- for (var i in arr) {
- if (arr[i].goods_id == goods_id) return arr[i];
+ }
+ }
+ th.calculatePrice2()
+
+ },
+
+ //--------立即购买时,使用余额--------
+ set_bn_useyuer: function () {
+ var th = this;
+ th.setData({ bn_use_money: !th.data.bn_use_money });
+ th.calculatePrice2();
+ },
+
+ //立即购买的时候,使用余额
+ set_bn_commission: function () {
+ var th = this;
+ th.setData({ bn_use_commission: !th.data.bn_use_commission });
+ th.calculatePrice2();
+ },
+ //加入购物车使用余额
+ set_cart_commission: function () {
+ var th = this;
+ th.setData({ cart_use_commission: !th.data.cart_use_commission });
+ th.calculatePrice();
+ },
+
+ set_js_useyuer: function () {
+ var th = this;
+ th.setData({ js_use_money: !th.data.js_use_money });
+ th.calculatePrice();
+ },
+
+
+ //----------立即购买,选择物流-------------
+ bindPickerChange: function (e) {
+ var ind = e.detail.value
+ this.setData({ index: ind });
+ this.calculatePrice2();
+ },
+ //----------购物车结算,选择物流-------------
+ bindPickerChange_w: function (e) {
+ var ind = e.detail.value, txt = e.currentTarget.dataset.txt;
+ this.setData({ [txt]: ind });
+ this.calculatePrice();
+ },
+
+ /*----券的所有操作----*/
+ open_coupon_list: function (e) {
+ var th = this;
+ var pickid = e.currentTarget.dataset.pickid;
+ var bn = e.currentTarget.dataset.bn;
+ var cindx = e.currentTarget.dataset.cind;
+ var get_by_quan_list_cart = th.data.get_by_quan_list_cart[pickid];
+
+
+ if (bn == 1) {
+ th.setData({ open_quan: 1, selected_quan_pick: pickid, disabled: 1 });
+ } else {
+ //---多单打开券的时候,就要判断券在其他门店是否有使用---
+ var quanlist = th.data.cartlist[cindx].quan_list;
+ var exp_type = th.data.cartlist[cindx].exp_type;
+
+
+ //对于在其他门店已经选择了的券 要判断是否显示到界面
+ var t_user = th.data.using_quan[pickid];
+
+ for (var i in quanlist) {
+ quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid);
+ if (t_user && quanlist[i].CashRepNo == t_user.coupon_no)
+ quanlist[i].show_red = 1;
+ else
+ quanlist[i].show_red = 0;
+ }
+
+ if (get_by_quan_list_cart) {
+ for (var i in get_by_quan_list_cart) {
+ get_by_quan_list_cart[i].is_using = th.check_in_sele(get_by_quan_list_cart[i].no, pickid);
+ if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no)
+ get_by_quan_list_cart[i].show_red = 1;
+ else
+ get_by_quan_list_cart[i].show_red = 0;
}
- },
-
- //检查是不是有其他门店的订单在选择了券
- check_other_use: function (iter, pkid) {
- var using = this.data.using_quan;
- var is_use = 0;
- if (using) {
- for (var i in using) {
- if (i == pkid) continue;
- if (iter.CashRepNo == using[i].coupon_no) {
- is_use = 1;
- break;
- }
- }
+ th.setData({ by_quan_list_cart: get_by_quan_list_cart });
+ } else {
+ th.setData({ by_quan_list_cart: null });
+ }
+
+ console.log("2222222券的列表", quanlist);
+ th.setData({
+ sele_cart_ind: cindx,
+ sele_exp_type: exp_type,
+ open_quan: 1,
+ selected_quan_pick: pickid,
+ selected_quan_list: quanlist,
+ disabled: 1
+ });
+ }
+ },
+ close_coupon: function (e) {
+ var th = this;
+ th.setData({ open_quan: 0, disabled: 0 });
+ },
+
+ //---判断券时候在已经选择的列表中---
+ check_in_sele: function (no, pick_id) {
+ var th = this;
+ if (th.data.using_quan.length <= 0) return false;
+ for (var i in th.data.using_quan) {
+ //--如果键值等于本身就要跳出--
+ if (parseInt(i) == parseInt(pick_id)) continue;
+ var item = th.data.using_quan[i];
+ if (item.coupon_no == no) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+ /*--点击选择券--*/
+ sele_quan_item: function (e) {
+
+ var ind = e.currentTarget.dataset.ind;
+ var quan_item = this.data.selected_quan_list[ind];
+ var pickid = this.data.selected_quan_pick; //现在选择的是哪一个门店
+ //--如果券是单品使用的时候--
+ if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") {
+ //---只有多件购买的时候才要计算,//购物车购买和搭配勾的时候---
+ var gg = getApp().get_b_now();
+ if (this.data.is_b_now == 0 || gg.prom_type == 5) {
+ var arr = this.data.order_prom_list_cart;
+ var t_pk_item = null;
+ for (var ii in arr) {
+ var ep = arr[ii];
+ if (pickid == ep.pickup_id) {
+ t_pk_item = ep;
+ break;
+ }
}
- return is_use;
- },
- //检查是不是有其他门店的订单在选择了包邮券
- check_other_use_by: function (iter, pkid) {
- var using = this.data.using_quan;
- var is_use = 0;
- if (using) {
- for (var i in using) {
- if (i == pkid) continue;
- if (iter.no == using[i].coupon_no) {
- is_use = 1;
- break;
- }
+ //--寻找券指定的商品--
+ var gd = null;
+ if (t_pk_item) {
+ var goods = t_pk_item.goods;
+ for (var gid in goods) {
+ if (quan_item.UseObjectID == goods[gid].erpwareid) {
+ gd = goods[gid];
}
+ }
+ }
+ if (!gd) {
+ getApp().my_warnning("未找到指定商品使用", 0, this, 600);
+ return false;
+ }
+ //计算价格,如果有平摊的实收要计算实收的金额
+ var item_price = gd.goods_price * gd.goods_num;
+ //-- 如果有平摊下去,有实收价格的时候,就要用account_fir来计算价格 --
+ if (gd.account_fir != null && gd.account_fir != undefined) {
+ item_price = gd.account_fir * gd.goods_num;
}
- return is_use;
- },
- //跳转到购买卡
- buycard: function () {
- getApp().goto("/pages/user/plus/plus");
- getApp().globalData.plus_buy_back = 1;
- },
+ if (item_price < parseFloat(quan_item.BuySum)) {
+ getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600);
+ return false;
+ }
+ }
+ }
- //跳转关闭弹出框的显示
- close_offline: function () {
- this.setData({ is_offline_show: 0 });
- },
+ var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list;
+ //---所有的券的显示红色选择都清理一遍---
+ for (var i in quanlist) {
+ quanlist[i].show_red = 0;
+ }
+ this.setData({ selected_quan_list: quanlist });
+ var by_quanlist = this.data.get_by_quan_list;
+ if (by_quanlist) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var inb in by_quanlist) {
+ by_quanlist[inb].show_red = 0;
+ }
+ this.setData({ get_by_quan_list: by_quanlist });
+ }
- //立即购买显示弹出框
- bn_pop_offline: function () {
- var off_price = this.data.bn_goods.shop_price - this.data.bn_goods.offline_price;
- //是不是线下
- var is_get_offline = this.data.bn_goods.is_offline;
- this.setData({ is_offline_show: 1, show_off_price: off_price.toFixed(2), is_get_offline: is_get_offline });
- },
+ var by_cart_list = this.data.by_quan_list_cart;
+ if (by_cart_list) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var inc in by_cart_list) {
+ by_cart_list[inc].show_red = 0;
+ }
+ this.setData({ by_quan_list_cart: by_cart_list });
+ }
- // 促销 -> 送礼包 -> 查看详情
- viewLbDetails(e) {
- let id = e.currentTarget.dataset.id; // 获取礼包id
- let flag = e.currentTarget.dataset.flag;
- let url = '';
- if (flag == 1) { // flag =1 控制跳转到专享礼包
- url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`;
- } else {
- url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
- };
- // console.log('myurl', url);
- getApp().goto(url);
- },
+ var using_quan = this.data.using_quan;
+ var th = this;
+ //---如果是不使用优惠券---
+ if (no_use == 1) {
+ console.log("有进来吗券", no_use);
+ if (using_quan[th.data.selected_quan_pick]) {
+ using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
+ }
+ else {
+ using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 };
+ }
+ this.setData({ using_quan: using_quan, is_coupon: th.is_coupon });
+ return;
+ }
- //确定使用线下取价
- sure_offline: function () {
- var bn_goods = this.data.bn_goods;
- if (bn_goods && bn_goods.prom_type == 0) {
- bn_goods.is_offline = 1;
- this.setData({ is_offline_show: 0, bn_goods: bn_goods });
- this.calculatePrice2();
- }
- //就是购物车结算时的
- else {
- var index = this.data.pop_offline_index;
- var txt = "cartlist[" + index + "].is_offline";
- this.setData({ [txt]: 1, is_offline_show: 0, });
- this.data.old_cartlist[index].is_offline = 1;
- this.calculatePrice();
- }
- },
- //取消使用线下取价
- cancle_offline: function () {
- //判断是不是立即购买
- var bn_goods = this.data.bn_goods;
- if (bn_goods && bn_goods.prom_type == 0) {
- bn_goods.is_offline = 0;
- this.setData({ is_offline_show: 0, bn_goods: bn_goods });
- this.calculatePrice2();
- }
- //就是购物车结算时的
- else {
- var index = this.data.pop_offline_index;
- var txt = "cartlist[" + index + "].is_offline";
- this.setData({ [txt]: 0, is_offline_show: 0, })
- this.data.old_cartlist[index].is_offline = 0;
- this.calculatePrice();
- }
- },
+ var txt = "selected_quan_list[" + ind + "].show_red";
+ var obj = {};
+ obj[txt] = 1;
+ if (quan_item.show_red) {
+ obj[txt] = 0;
+ }
+ this.setData(obj);
+ console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt);
+ if (using_quan[th.data.selected_quan_pick]) {
+ using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
+ }
+ else {
+ using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 };
+ }
+ this.setData({ using_quan: using_quan });
+
+ },
+
+ /*----- 点击选择包邮券 -----*/
+ sele_quan_item_by: function (e) {
+ var no_use = e.currentTarget.dataset.no;
+ //立即购买的包邮券
+ var by_quanlist = this.data.get_by_quan_list;
+ if (by_quanlist) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var ind in by_quanlist) {
+ by_quanlist[ind].show_red = 0;
+ }
+ this.setData({ get_by_quan_list: by_quanlist });
+ }
- //-- 弹出购物车选择是不是要店铺优惠 --
- cart_pop_offline: function (e) {
- var index = e.currentTarget.dataset.index;
- var item = this.data.cartlist[index];
- var off_price = item.offline_price;
- //是不是线下
- var is_get_offline = item.is_offline;
- this.setData({
- pop_offline_index: index,
- is_offline_show: 1,
- show_off_price: off_price.toFixed(2),
- is_get_offline: is_get_offline
- });
- },
+ //--购物车过来的包邮券--
+ var by_cart_list = this.data.by_quan_list_cart;
+ if (by_cart_list) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var ind in by_cart_list) {
+ by_cart_list[ind].show_red = 0;
+ }
+ this.setData({ by_quan_list_cart: by_cart_list });
+ }
+ //普通券
+ var quanlist = this.data.selected_quan_list;
+ if (quanlist) {
+ //---所有的券的显示红色选择都清理一遍---
+ for (var ind in quanlist) {
+ quanlist[ind].show_red = 0;
+ }
+ this.setData({ selected_quan_list: quanlist });
+ }
- go_url: function (e) {
- var url = e.currentTarget.dataset.url;
- getApp().goto(url);
- },
+ var th = this;
+ var using_quan = this.data.using_quan;
+ //---如果是不使用优惠券---
+ if (no_use == 1) {
+ if (using_quan[th.data.selected_quan_pick]) {
+ using_quan[th.data.selected_quan_pick].is_nouse_red = 1;
+ }
+ else {
+ using_quan[th.data.selected_quan_pick] = { is_nouse_red: 1 };
+ }
+ this.setData({ using_quan: using_quan, is_coupon: th.is_coupon });
+ return;
+ }
- //进行对商品的平摊g_item是单个商品,you_item是这个商品分多少优惠券的钱,goods是商品列表
- split_set_goods_quanprice: async function (you_item, t_item) {
- var coupon_price = you_item.WareCashSum;
- var goods = t_item.goods;
- var arr = [];
- //判断是不是有goods_id重复
- for (var i = 0; i < goods.length; i++) {
- if (goods[i].erpwareid == you_item.WareId) {
- var gg_ite = {
- goods_id: goods[i].goods_id,
- goods_num: goods[i].goods_num,
- goods_price: goods[i].goods_price,
- };
- if (goods[i].account) gg_ite.goods_price = goods[i].account;
- gg_ite.idx = i; arr.push(gg_ite);
- }
- }
+ var pickid = th.data.selected_quan_pick; //现在选择的是哪一个门店
+ var ind = e.currentTarget.dataset.ind;
+ //--如果是立即购买的部分--
+ var txt = "";
+ var txt1 = "";
+ var quan_item = null;
+ if (th.data.is_b_now) {
+ quan_item = this.data.get_by_quan_list[ind];
+ txt = "get_by_quan_list[" + ind + "].show_red";
+ var obj = {};
+ obj[txt] = 1;
+ this.setData(obj);
+ } else {
+ txt = "by_quan_list_cart[" + ind + "].show_red";
+ quan_item = th.data.by_quan_list_cart[ind];
+ var obj = {};
+ obj[txt] = 1;
+ this.setData(obj);
+ th.data.get_by_quan_list_cart[pickid] = JSON.parse(JSON.stringify(th.data.by_quan_list_cart)); //要把选中的弄回数组
+ }
- if (arr.length <= 0) return false;
- if (arr.length == 1) {
- var idx = arr[0].idx;
- t_item.goods[idx].quan_num = Math.floor(coupon_price * 100) / 100;
- t_item.goods[idx].quan_no = t_item.quan_no;
- return false;
+ if (using_quan[th.data.selected_quan_pick]) {
+ using_quan[th.data.selected_quan_pick].is_nouse_red = 0;
+ }
+ else {
+ using_quan[th.data.selected_quan_pick] = { is_nouse_red: 0 };
+ }
+ this.setData({ using_quan: using_quan });
+ },
+
+ //--确认使用券---
+ confirm_quan: function () {
+ var using_quan = this.data.using_quan; //正在使用中的券列表
+ var pickid = this.data.selected_quan_pick; //选中的门店ID
+ var th = this;
+ var selected_quan_list = this.data.selected_quan_list; //选择了那个门店的券列表
+ var get_by_quan_list = this.data.get_by_quan_list; //立即购买的包邮券列表
+ var by_quan_list_cart = this.data.by_quan_list_cart; //购物车购买的包邮券列表
+ //选择了的券
+ var sele_quan = null;
+
+ //循环普通的券
+ for (var i in selected_quan_list) {
+ var item = selected_quan_list[i];
+ if (item.show_red) {
+ th.insert_into_using_quan(item, using_quan, pickid);
+ return;
+ }
+ }
+ //循环包邮的券,立即购买的
+ for (var i in get_by_quan_list) {
+ var item = get_by_quan_list[i];
+ if (item.show_red) {
+ if (th.data.is_no_by[pickid] == 1) {
+ getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
+ return false;
+ }
+ if (th.data.is_by[pickid] == 1) {
+ getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
+ return false;
}
- var pt_data = {
- 'dis': parseFloat(coupon_price),
- 'goods': arr,
+ th.insert_into_using_quan(item, using_quan, pickid, 1);
+ return;
+ }
+ }
+
+ //循环包邮的券
+ for (var i in by_quan_list_cart) {
+ var item = by_quan_list_cart[i];
+ if (item.show_red) {
+ if (th.data.is_no_by[pickid] == 1) {
+ getApp().my_warnning("已全场不能包邮,不能选择包邮券", 0, th);
+ return false;
+ }
+ if (th.data.is_by[pickid] == 1) {
+ getApp().my_warnning("已全场包邮,不能选择包邮券", 0, th);
+ return false;
}
+ th.insert_into_using_quan(item, using_quan, pickid, 1);
+ return;
+ }
+ }
- var pt_res = null;
- await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
- is_json: 1,
- data: pt_data
- }).then(res => {
- if (res.data.code == 0) {
- pt_res = res.data.data;
- }
+ //选择了的券,看是不是点击了不使用券,点击了不使用优惠券
+ if (using_quan[pickid]) {
+ if (using_quan[pickid].is_nouse_red == 1) {
+ using_quan[pickid] = { is_nouse_red: 1 };
+ th.setData({ using_quan: using_quan });
+ if (th.data.is_b_now == 1) {
+ th.calculatePrice2();
+ } else {
+ th.calculatePrice();
+ }
+ th.setData({ open_quan: 0 });
+ return;
+ }
+ }
+ },
+
+ //----把券插入之后的操作,同时还要重新计算价格----
+ insert_into_using_quan: async function (item, using_quan, pickid, isby) {
+
+
+ var th = this;
+ var old_quan = null;
+ if (isby == 1) {
+ using_quan[pickid] = {
+ coupon_no: item.no,
+ money: 0,
+ is_nouse_red: 0,
+ region_list: item.region_list,
+ goods_list: item.goods_list
+ };
+ using_quan[pickid].isby = 1;
+ } else {
+ if (using_quan[pickid]) old_quan = using_quan[pickid];
+ using_quan[pickid] = { coupon_no: item.CashRepNo, money: item.Sum, is_nouse_red: 0 };
+ using_quan[pickid].isby = 0;
+ }
+ this.setData({ using_quan: using_quan });
+ if (th.data.is_b_now == 1) {
+ th.calculatePrice2(function () {
+
+ if (old_quan) using_quan[pickid] = old_quan;
+ else using_quan[pickid] = null;
+ th.setData({ using_quan: using_quan, submit: 0 });
+ wx.showToast({
+ title: "不能使用优惠券,同城起送价不足",
+ icon: 'none',
+ duration: 2000
})
- if (pt_res) {
- var q_s_num = 0;
- for (var i in pt_res) {
- var idx = pt_res[i].idx;
- //有account的实收价,就要用account实收价
- var price = (t_item.goods[idx].account ? t_item.goods[idx].account : t_item.goods[idx].goods_price);
- price = (price - pt_res[i].fisrt_account) * t_item.goods[idx].goods_num;
- t_item.goods[idx].quan_num = price;
-
- t_item.goods[idx].quan_num = Math.floor(t_item.goods[idx].quan_num * 100) / 100;
- t_item.goods[idx].quan_no = t_item.quan_no;
- q_s_num += t_item.goods[idx].quan_num;
- }
- if (q_s_num > parseFloat(coupon_price) || q_s_num < parseFloat(coupon_price)) {
- for (var ik in arr) {
- if (arr[ik].goods_num == 1) {
- var id = arr[ik].idx;
- var pri = Math.floor(coupon_price * 100) / 100 - Math.floor(q_s_num * 100) / 100
- t_item.goods[id].quan_num += pri;
- break;
- }
- }
- }
+ });
+ } else {
+ th.calculatePrice(function () {
+ if (old_quan) using_quan[pickid] = old_quan;
+ else using_quan[pickid] = null;
+ th.setData({ using_quan: using_quan, submit: 0 });
+ wx.showToast({
+ title: "不能使用优惠券,同城起送价不足",
+ icon: 'none',
+ duration: 2000
+ })
+ });
+ }
+ th.setData({ open_quan: 0 });
+ },
+
+ cart_set_err: function (e) {
+ var txt = e.currentTarget.dataset.err;
+ var ob = {};
+ ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif";
+ this.setData(ob);
+ },
+ cart_set_err1: function (e) {
+ var txt = e.currentTarget.dataset.err;
+ var ob = {};
+ ob[txt] = "/miniapp/images/default_g_img.gif";
+ this.setData(ob);
+ },
+
+ //--验证是否已经冻结--
+ check_is_frozenQuan: function (quanlist, frozenQuan, isby) {
+ console.log("券列表", quanlist);
+ if (!quanlist) return null;
+ if (!frozenQuan) return quanlist;
+ var arr = [];
+ for (var i = 0; i < quanlist.length; i++) {
+ var item = quanlist[i];
+ var is_find = 0;
+ var Q_no = quanlist[i].CashRepNo;
+ if (isby) Q_no = quanlist[i].no;
+ for (var j = 0; j < frozenQuan.length; j++) {
+ var q_no = frozenQuan[j].cashRepNo;
+ if (Q_no == q_no) {
+ is_find = 1;
+ break;
}
- },
- //订阅消息提醒
- sendsm: function (func) {
- let th = this;
- var template_id = this.data.template_id;
- // //授权订阅
- wx.requestSubscribeMessage({
- tmplIds: [template_id],
- success(res) {
- func();
- },
- fail(res) {
- func();
+ }
+ if (!is_find) arr.push(item);
+ }
+ return arr;
+ },
+
+ //// 开启物流的弹窗
+ show_wu_arr: function (e) {
+ var wu_arr_txt = e.currentTarget.dataset.txt;
+ var w_sele_index = e.currentTarget.dataset.w_sele_index;
+ var is_express = null;
+ var ob = { open_express: 1, wu_arr_txt: wu_arr_txt, disabled: 1 };
+
+ //--如果是多个门店的时候--
+ if (w_sele_index != undefined) {
+ is_express = this.data.cartlist[w_sele_index].wind;
+ ob['is_express'] = is_express;
+ }
+ this.setData(ob);
+ },
+ // 关闭物流的弹窗
+ close_express: function () {
+ this.setData({ open_express: 0, disabled: 0 });
+ },
+ // 选择物流
+ click_express_name: function (e) {
+ var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode;
+ var index = e.currentTarget.dataset.idxe;
+ var ob = { is_express: index, is_shipping_code: shippingcode, disabled: 0 };
+ ob[this.data.wu_arr_txt] = index;
+ this.setData(ob);
+ },
+
+ //点击确定物流
+ determine_expres: function (e) {
+ this.setData({ open_express: 0 });
+ if (this.data.is_b_now == 1)
+ this.calculatePrice2();
+ else
+ this.calculatePrice();
+ },
+
+ //点击打开优惠券使用说明
+ clik_coupons: function (e) {
+ var ind = e.currentTarget.dataset.idx;
+ var is_open = this.data.selected_quan_list[ind].is_open;
+
+ if (is_open == 1) is_open = 0;
+ else is_open = 1;
+
+ var txt = "selected_quan_list[" + ind + "].is_open"
+ var obj = {};
+ obj[txt] = is_open;
+
+ this.setData(obj);
+ this.setData({ disabled: 1 })
+ },
+
+ clik_coupons2: function (e) {
+ var ind = e.currentTarget.dataset.idx;
+ var is_open = this.data.get_by_quan_list[ind].is_open;
+
+ if (is_open == 1) is_open = 0;
+ else is_open = 1;
+
+ var txt = "get_by_quan_list[" + ind + "].is_open"
+ var obj = {};
+ obj[txt] = is_open;
+
+ this.setData(obj);
+ this.setData({ disabled: 1 })
+ },
+
+
+ //设置默认物流
+ select_default_logistics: function () {
+ var th = this;
+ var is_shipping_code = this.data.is_shipping_code
+ getApp().request.put("/api/weshop/users/update", {
+ data: { user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code },
+ success: function (rse) {
+ if (rse.data.code == 0) {
+ getApp().globalData.userInfo.def_exp_code = is_shipping_code;
+ th.setData({ open_express: 0 });
+ //----计算此时购物车的价格----
+ if (th.data.is_b_now == 1) th.calculatePrice2();
+ else th.calculatePrice();
+ }
+ }
+ })
+ },
+
+ //更新下默认,在onshow里面
+ update_code() {
+ var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
+ //--定时器,判断wu_arr不未空--
+ var uii = setInterval(function () {
+ if (th.data.wu_arr) {
+ clearInterval(uii);
+ for (var k = 0; k < th.data.wu_arr.length; k++) {
+ var item = th.data.wu_arr[k];
+ if (def_exp_code == item.code) {
+ m_wind = k;
+ }
+ }
+ //--如果是立即购买--
+ if (th.data.is_b_now == 1) {
+ th.setData({ index: m_wind, is_express: m_wind });
+ } else {
+ var ui = setInterval(function () {
+ if (th.data.cartlist) {
+ var c_arr = th.data.cartlist;
+ for (var i in c_arr) {
+ c_arr[i].wind = m_wind;
+ }
+ th.setData({ cartlist: c_arr, is_express: m_wind })
+ clearInterval(ui);
}
- })
+ }, 500)
+ }
+ }
+ }, 500);
+ },
+ //-----获取购物车进来的劵-------
+ get_cart_quan: async function (order_prom_list_cart) {
+ var th = this;
+ var user_id = getApp().globalData.user_id;
+ //等待值的出现
+ //getApp().waitfor2(this,"g_cart_q_time","order_prom_list_cart",async function () {
+ //var arr=th.data.order_prom_list_cart;
+ var arr = order_prom_list_cart;
+ if (!arr) arr = [];
+ //如果系统有限制使用优惠券
+ if (th.data.is_close_quan) return false;
+
+ //------------开始计算使用优惠券相关------------
+ for (var ind in arr) {
+ var ep = arr[ind];
+ var goodlist = ep.goods;
+ var pickup_id = ep.pickup_id;
+ //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西
+ //就要把相应的值,写入cartlist数组中--
+ var ckeck_quan_price = 0,
+ check_quan_price_list = '',
+ check_quan_ware_list = '',
+ check_quan_price_list_arr = [],
+ check_quan_ware_list_arr = [];
+
+ for (var i in goodlist) {
+ var gd = goodlist[i];
+ //--如果是秒杀就跳出,如果是赠品,如果是组合购限制使用优惠券--
+ if (gd.whsle_id == 1 || gd.prom_type == 1 || gd.is_gift || (gd.prom_type == 7 && gd.act.is_xz_yh) || gd.is_xz_yh == 1) {
+ continue;
+ }
- },
+ //--如果是团购,要判断有没有限制使用优惠券
+ if (gd.prom_type == 2) {
+ var prom1 = null;
+ await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gd.goods_id + "/" + gd.prom_id, {
+ }).then(res => {
+ if (res.data.code == 0) prom1 = res.data.data;
+ })
+ if (prom1 && !prom1.isQuan) {
+ continue;
+ }
+ }
- setexptype2: function (e) {
- this.debounce(this.setexptype.bind(this, e), 400)();
- },
+ //--如果是阶梯购,要判断有没有限制使用优惠券
+ if (gd.prom_type == 10) {
+ var prom1 = null;
+ await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + gd.prom_id, {
+ }).then(res => {
+ if (res.data.code == 0) prom1 = res.data.data;
+ })
+ if (prom1 && prom1.isuse && prom1.is_usecoupon) {
+ continue;
+ }
+ }
- setexptype_w2: function (e) {
- this.debounce(this.setexptype_w.bind(this, e), 400)();
- },
+ //如果有限制使用优惠券,就要返回
+ if (gd.prom_type == 3) {
- // 函数防抖
- debounce: function (func, wait) {
- return () => {
- clearTimeout(timer);
- timer = setTimeout(func, wait);
- };
- },
+ if (th.data.prom_goods_map && th.data.prom_goods_map[pickup_id] && th.data.prom_goods_map[pickup_id][gd.prom_id]) {
+ if (th.data.prom_goods_map[pickup_id][gd.prom_id].is_xz_yh) continue;
+ th.data.prom_goods_map[pickup_id][gd.prom_id].coupon_sele = 1;
+ }
+ }
+ var item_price = gd.goods_price * gd.goods_num;
+ var item_price2 = item_price;
+ //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 --
+ if (gd.account_fir != null && gd.account_fir != undefined) {
+ item_price2 = gd.account_fir * gd.goods_num;
+ }
- //-- 判断是不是选中 --
- check_th_item: function (e) {
- var th = this;
- var idx = e.currentTarget.dataset.item;
- var check = e.currentTarget.dataset.check;
- var txt = "giftsinfo[" + idx + "].selected";
- var gift_item = this.data.giftsinfo[idx];
+ if (gd.ld_account) {
+ item_price2 = gd.ld_account * gd.goods_num;
+ }
+ ckeck_quan_price += item_price;
+ //如果商品有重复的过滤,一般是组合购和阶梯购的情况下
+ var idx = check_quan_ware_list_arr.findIndex(function (ele) {
+ return ele == encodeURIComponent(gd['erpwareid']);
+ })
- if (check) {
- th.setData({ [txt]: 0 });
+ if (idx > -1) {
+ check_quan_price_list_arr[idx] += item_price2;
} else {
-
- var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, gift_item.goods_num);
- if (!is_true) { return false; }
-
- th.setData({ [txt]: 1 });
+ check_quan_ware_list_arr.push(encodeURIComponent(gd['erpwareid']));
+ check_quan_price_list_arr.push(item_price2);
}
- },
-
-
- //输入框输入数量的时候
- valueToNum: function (e) {
- var th = this;
- var idx = e.currentTarget.dataset.item;
- var gift_item = this.data.giftsinfo[idx];
- var num = parseInt(e.detail.value);
- var txt = "giftsinfo[" + idx + "].goods_num";
- var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num);
- if (!is_true) {
- th.setData({ [txt]: 1 });
- return false;
+ //--组装价格list--
+ /*--
+ if (check_quan_price_list) {
+ check_quan_price_list += "," + item_price;
+ } else {
+ check_quan_price_list = item_price;
}
- th.setData({ [txt]: num });
-
- },
+ //--组装商品的线下erpwareid--
+ if (check_quan_ware_list) {
+ check_quan_ware_list += "," + encodeURIComponent(gd['erpwareid']);
+ } else {
+ check_quan_ware_list = encodeURIComponent(gd['erpwareid']);
+ }---*/
+ }
+ //优惠券优惠的金额要控制到优惠券的选择条件
+ var cut_price = 0;
+ for (var i in th.data.prom_goods_map[pickup_id]) {
+ var obj = th.data.prom_goods_map[pickup_id][i];
+ if (obj.coupon_sele) {
+ cut_price += obj.price - obj.prom_price;
+ }
+ }
+
+ var prom_pt_json = ep.prom_pt_json;
+ if (prom_pt_json) {
+ for (let oj in prom_pt_json) {
+ let item_j = prom_pt_json[oj];
+ //要对一下阶梯优惠促销的功能
+ if (item_j.ladder_prom_id) {
+ //看一下要不要限制使用优惠券
+ if (th.data.ladder_map[item_j.ladder_prom_id] && th.data.ladder_map[item_j.ladder_prom_id].is_usecoupon) {
+ continue;
+ }
+ cut_price += parseFloat(item_j.dis);
+ }
+ //要对一下组合购促销的功能
+ if (item_j.zhprom_id) {
+ //看一下要不要限制使用优惠券
+ if (th.data.zhhe_act_map[item_j.zhprom_id] && th.data.zhhe_act_map[item_j.zhprom_id].is_xz_yh) {
+ continue;
+ }
+ cut_price += parseFloat(item_j.dis);
+ }
+ }
+ }
+
+ if (check_quan_price_list_arr.length) check_quan_price_list = check_quan_price_list_arr.join(',');
+ if (check_quan_ware_list_arr.length) check_quan_ware_list = check_quan_ware_list_arr.join(',')
+
+ arr[ind].ckeck_quan_price = ckeck_quan_price - (cut_price ? cut_price : 0);
+ arr[ind].check_quan_ware_list = check_quan_ware_list;
+ arr[ind].check_quan_price_list = check_quan_price_list;
+ //-- 是否关闭使用优惠券,循环有找到商品 --
+ if (th.data.is_close_quan != 1 && check_quan_ware_list) {
+ //--调用接口,获取优惠券的列表,3秒钟内控制接口请求--
+ var url = "/api/weshop/couponList/getUseCouponList";
+ await app.request.promiseGet(url, {
+ data: {
+ storeId: oo.stoid,
+ userId: app.globalData.user_id,
+ BuySum: arr[ind].ckeck_quan_price,
+ WareIds: check_quan_ware_list,
+ pageSize: 100
+ }
+ }).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);
+ }
+ })
+ }
+ }
+ //如果是搭配购的立即购买的时候
+ 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 })
+ }
+ } else {
+ th.setData({ cartlist: arr })
+ th.set_can_num();
+ }
+ //})
+ },
- addNum: function (e) {
- var th = this;
- var idx = e.currentTarget.dataset.item;
- var txt = "giftsinfo[" + idx + "].goods_num";
- var num = th.data.giftsinfo[idx].goods_num + 1;
- var gift_item = this.data.giftsinfo[idx];
- var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num);
- if (!is_true) { return false; }
- th.setData({ [txt]: num });
- },
+ //------ 获取立即购买的购物车的劵 --------
+ get_buy_now_quan: function () {
+ var quanlist = null, th = this, frozenQuan = null;
+ var good = this.data.bn_goods;
- subNum: function (e) {
- var th = this;
- var idx = e.currentTarget.dataset.item;
- var txt = "giftsinfo[" + idx + "].goods_num";
- var num = th.data.giftsinfo[idx].goods_num - 1;
- var gift_item = this.data.giftsinfo[idx];
- var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num);
- if (!is_true) {
- return false;
+ //一件代发商品不使用优惠券
+ if (good.whsle_id) return false;
+ if (good.prom_price) {
+ th.data.ckeck_quan_price = good.prom_price; //如果有优惠价,就用优惠价
+ } else if (good.is_offline) {
+ th.data.ckeck_quan_price = good.offline_price; //如果有线下取价,就用线下价
+ }
+ //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
+ if (th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh != 1) {
+ var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
+ var url = "/api/weshop/couponList/getUseCouponList";
+ app.request.promiseGet(url0, { 1: 1 }).then(res => {
+ if (res.data.code == 0) {
+ frozenQuan = res.data.data;
+ th.data.frozenQuan = frozenQuan;
}
- if (num < 1) return false;
- th.setData({ [txt]: num });
- },
-
- //-- 点击选中赠品 --
- show_sele_gift: function (e) {
- var index = e.currentTarget.dataset.index;
- var pk = e.currentTarget.dataset.pk;
- var giftsinfo = this.data.send_gf[pk][index].giftsinfo;
-
- for (let i in giftsinfo) {
- let item = giftsinfo[i];
- if (!item.goods_num) giftsinfo[i].goods_num = 1;
- }
-
- this.setData({
- show_duo_gift: 1,
- giftsinfo: giftsinfo,
- gf_pr_name: this.data.send_gf[pk][index].gf_pr_name,
- zp_num: this.data.send_gf[pk][index].zp_num,
- gift_pkid: pk,
- gf_prom_id: this.data.send_gf[pk][index].prom_id,
- send_gf_index: index
+ app.request.time_limit_get(6, url, {
+ data: {
+ storeId: oo.stoid,
+ userId: app.globalData.user_id,
+ BuySum: th.data.ckeck_quan_price,
+ WareIds: encodeURIComponent(th.data.check_quan_ware_list),
+ pageSize: 100
+ },
+ success: function (res) {
+ if (res.data.code == 0) {
+ quanlist = res.data.data.pageData;
+ if (quanlist) {
+ quanlist = th.check_is_frozenQuan(quanlist, frozenQuan);
+ th.setData({ selected_quan_list: quanlist })
+ }
+ }
+ }
})
- },
-
- close_sele_gift: function () {
- this.setData({ show_duo_gift: 0 })
- },
-
- //购物车赠品有咩有超出库存。有灭有超出限购
- check_out_num_cart: function (discount, pick_id, num) {
- var prom_id = discount.prom_id;
- var alllist = this.data.cartlist;
- var all_num = num;
- var all_limit_num = num;
- var gift_id = discount.gift_id;
- for (var i in alllist) {
- var list_item = alllist[i];
- //-- 门店相同,活动相同的时候 --
- if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue;
- for (var j in list_item.goods) {
- //如果赠品的ID一样,要进行统计数量
- if (list_item.goods[j].is_gift == 1 &&
- list_item.goods[j].gift_id == gift_id) {
- all_num += list_item.goods[j].goods_num;
- }
- if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) {
- all_limit_num += list_item.goods[j].limit_num;
- }
+ })
+ }
+ },
+
+ //检查区域是不是包邮
+ check_area: function (arr) {
+ var user_addr = this.data.user_addr;
+ if (!user_addr) return 0;
+ for (var i in arr) {
+ var item = arr[i];
+ if (user_addr.twon == item || user_addr.district == item
+ || user_addr.city == item || user_addr.province == item) {
+ return 0;
+ }
+ }
+ return 1;
+ },
+
+ //检查立即购买的商品是不是不包邮
+ check_good: function (arr, goods_id) {
+ if (!goods_id) goods_id = this.data.bn_goods.goods_id;
+ for (var i in arr) {
+ var item = arr[i];
+ if (goods_id == item) return 0;
+ }
+ return 1;
+ },
+ check_by_area: function (region_list) {
+ var arr = region_list.split(",");
+ var check = this.check_area(arr);
+ return !check;
+ },
+ check_by_goods: function (goods_list, goods_id) {
+ var arr = goods_list.split(",");
+ var check = this.check_good(arr, goods_id);
+ return !check;
+ },
+ //立即购买获取优惠活动的内容
+ buy_now_prom_goods: function (prom_id, arr, func) {
+ var th = this;
+ var price = arr.shop_price * arr.goods_num;
+ var prom = null;
+ var gg = to.get_b_now();
+ getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => {
+ if (res.data.code == 0) {
+ prom = res.data.data;
+ let min_value = 0
+ if (prom && prom.is_xz_yh) {
+ let arr = prom.promGoodsList || []
+ arr.map(item => {
+ if (min_value) {
+ min_value = item.condition
+ } else {
+ if (min_value < item.condition) {
+ min_value = item.condition
+ }
}
+ })
+ if (arr.length > 0) {
+ if (arr[0].prom_type == 0) {
+ if (price < min_value) {
+ prom.is_xz_yh = 0
+ }
+ } else {
+ if (arr.goods_num < min_value) {
+ prom.is_xz_yh = 0
+ }
+ }
+ }
}
- //-- 赠品的数量超出库存数量和会员的限制,
- // 这里是保证所有的赠品部会超出 --
- if (discount.gift_storecount < all_num) {
- wx.showToast({
- title: "赠品库存不足",
- icon: 'none',
- duration: 2000
- });
- return false;
- }
- if (discount.limit_num < all_limit_num) {
- wx.showToast({
- title: "超出赠品限购",
- icon: 'none',
- duration: 2000
- });
- return false;
+ console.error('优惠活动1');
+ //-------------------
+ return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
+ data: {
+ price: parseFloat(price).toFixed(2),
+ prom_id: prom_id,
+ goods_num: arr.goods_num,
+ user_id: getApp().globalData.user_id,
+ is_bz: prom.is_bz
+ }
+ })
+ } else {
+ func(arr);
+ }
+ }).then(res => {
+ if (res.data.code == 0) {
+ var get_data = res.data.data;
+ arr.is_bz = prom.is_bz; //是不是倍增
+ arr.is_xz_yh = arr.is_xz_yh ? arr.is_xz_yh : prom.is_xz_yh; //是不是优惠
+ arr.bs = get_data.bs; //是不是倍数
+ arr.is_past = get_data.is_past; //是不是包邮
+ arr.prom_price = get_data.price >= 0 ? get_data.price : price;
+ arr.s_intValue = get_data.intValue;
+ arr.s_coupon_id = get_data.coupon_id;
+ arr.s_coupon_num = get_data.coupon_num;
+ arr.zp_mode = get_data.zp_mode;
+ arr.zp_num = get_data.zp_num ? get_data.zp_num : 1; //确保默认一个
+
+ //-- 看是不是有赠品 --
+ if (get_data.gift_id && parseInt(get_data.zp_mode) != 1
+ && get_data.zp_num * arr.bs <= get_data.limit_num
+ && get_data.zp_num * arr.bs <= get_data.gift_storecount
+ ) {
+ arr.gift_id = get_data.gift_id;
+ arr.gift_goods_id = get_data.goods_id;
+ arr.gift_goods_name = get_data.goods_name;
+ arr.gift_goods_sn = get_data.goodsinfo.goods_sn;
+ arr.gift_goods_color = get_data.goodsinfo.goods_color;
+ arr.gift_goods_spec = get_data.goodsinfo.goods_spec;
+ arr.gift_original_img = get_data.goodsinfo.original_img;
+ arr.gift_weight = get_data.goodsinfo.weight;
+ arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
+ arr.gift_uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum;
+ arr.gift_limit_num = get_data.limit_num;
+ arr.gift_storecount = get_data.gift_storecount;
+ arr.whsle_id = get_data.goodsinfo.whsle_id;
}
- return true;
- },
+ arr.s_libao = get_data.libao;
+ arr.s_lb_num = get_data.lb_num;
+ arr.lbtitle = get_data.lbtitle;
+ arr.zxlbtitle = get_data.zxlbtitle;
+ arr.zx_libao = get_data.zxlibao;
+ arr.zx_lb_num = get_data.zxlb_num;
- //-- 确定赠品 --
- sure_this_gift: async function () {
- var th = this;
- var gf_pickup_id = this.data.gift_pkid;
+ arr.prom_id = prom_id;
- var zp_num = this.data.zp_num;
- var giftsinfo = this.data.giftsinfo;
- var all_num = 0;
- for (let i in giftsinfo) {
- let item = giftsinfo[i];
- if (!item.selected) continue;
- all_num += item.goods_num;
- }
- if (all_num > zp_num) {
- wx.showToast({
- title: "超出活动赠品赠送的数量" + zp_num + "件",
- icon: 'none',
- duration: 2000
+ var send_gf = {};
+ var pickid = gg.pick_id;
+ if (parseInt(get_data.zp_mode) == 1) {
+ if (!send_gf[pickid]) send_gf[pickid] = [];
+
+ var a_stock_num = 0;
+ var a_limit_num = 0;
+ for (let iy in get_data.giftsinfo) {
+ let item = get_data.giftsinfo[iy];
+ a_stock_num += parseInt(item.gift_storecount);
+ a_limit_num += parseInt(item.limit_num);
+ }
+
+ var t_zp_num = parseInt(get_data.zp_num) * parseInt(get_data.bs);
+ if (a_limit_num >= t_zp_num && a_stock_num >= t_zp_num) {
+ send_gf[pickid].push({
+ pickup_id: pickid, giftsinfo: get_data.giftsinfo, zp_num: get_data.zp_num * get_data.bs,
+ gf_pr_name: prom.name, prom_id: prom.prom_id
});
- return false;
+ }
+ th.setData({ send_gf: send_gf });
}
- if (all_num < zp_num) {
- wx.showToast({
- title: "您还可以加" + (zp_num - all_num) + "件",
- icon: 'none',
- duration: 2000
- });
- return false;
+ }
+ func(arr);
+ })
+ },
+ //--检查订单优惠--
+ check_is_order_prom: function (condition, func, pick) {
+ var th = this;
+ if (this.data.is_b_now == 1) pick = this.data.bn_pick;
+ //---获取订单优惠---
+ getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
+ data: { store_id: os.stoid, orderAmount: condition, user_id: getApp().globalData.user_id }
+ }).then(res => {
+ if (res.data.code == 0) {
+ var data = res.data.data;
+ th.data.order_prom[pick] = data;
+ }
+ func();
+ })
+ },
+
+ //--- 加入优惠活动的映射中,同时要有一个good列表 ---
+ add_prom_goods_map: async function (item) {
+ var th = this;
+ var pickid = item.pick_id;
+ var map = th.data.prom_goods_map;
+ var obj = map[pickid];
+
+ if (map[pickid]) {
+ if (map[pickid][item.prom_id]) {
+
+ var ob = map[pickid][item.prom_id];
+ //-- 避免同一件商品重复添加 --
+ if (ob.goods && ob.goods.length) {
+ var fid = ob.goods.findIndex(function (e) {
+ e.goods_id == item.goods_id
+ })
+ if (fid > -1) return false;
}
- //-- 当是购物车购买的时候 --
- if (this.data.cartlist && this.data.cartlist.length > 0) {
- var alllist = this.data.cartlist;
- var index = alllist.findIndex(function (e) {
- return e.pickup_id == gf_pickup_id
- });
- var pk_list_goods = alllist[index].goods;
-
- var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id="
- + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.prom_id;
- await getApp().request.promiseDelete(url, {});
+ ob.price += item.goods_price * item.goods_num;
+ ob.goods_num += item.goods_num;
+ ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num });
- var new_pk_list_goods = [];
- for (let i in pk_list_goods) {
- let item = pk_list_goods[i];
- if (item.is_gift && item.prom_id == this.data.gf_prom_id) {
- continue;
+ } 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;
+
+ let min_value = 0
+ if (prom && prom.is_xz_yh) {
+ let arr = prom.promGoodsList || []
+ arr.map(ite => {
+ if (min_value) {
+ min_value = ite.condition
+ } else {
+ if (min_value < ite.condition) {
+ min_value = ite.condition
+ }
+ }
+ })
+ if (arr.length > 0) {
+ if (arr[0].prom_type == 0) {
+ if ((item.goods_price * item.goods_num) < min_value) {
+ prom.is_xz_yh = 0
+ }
+ } else {
+ if (item.goods_num < min_value) {
+ prom.is_xz_yh = 0
+ }
}
- new_pk_list_goods.push(item)
+ }
}
-
- //-- 循环把赠品添加进去 --
- for (var i = 0; i < giftsinfo.length; i++) {
- var gf_item = giftsinfo[i];
- if (!gf_item.selected) continue;
- var add_data = null;
- var newd = {
- goods_id: gf_item.goodsinfo.goods_id,
- goods_num: gf_item.goods_num,
- pick_id: gf_pickup_id,
- user_id: app.globalData.user_id,
- store_id: os.stoid,
- goods_price: 0,
- member_goods_price: 0,
- goods_name: gf_item.goodsinfo.goods_name,
- goods_sn: gf_item.goodsinfo.goods_sn,
- sku: gf_item.goodsinfo.sku,
- is_gift: 1,
- prom_id: th.data.gf_prom_id,
- prom_type: 3,
- selected: 1,
- gift_id: gf_item.gift_id,
- original_img: th.data.imgUrl + gf_item.goodsinfo.original_img,
- exp_sum_type: gf_item.goodsinfo.exp_sum_type,
- is_free_shipping: gf_item.goodsinfo.is_free_shipping,
- weight: gf_item.goodsinfo.weight,
- uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
- goods_spec: gf_item.goodsinfo.goods_spec,
- goods_color: gf_item.goodsinfo.goods_color,
- };
-
-
- //-- 如果是代发商品的时候 --
- if(gf_item.goodsinfo.whsle_id){
- newd.whsle_id=gf_item.goodsinfo.whsle_id;
+ }
+ })
+ var ob = {};
+ ob.prom_id = item.prom_id;
+ ob.name = prom.name;
+ ob.price = item.goods_price * item.goods_num;
+ ob.goods_num = item.goods_num;
+ ob.is_bz = prom.is_bz;
+ ob.is_xz_yh = prom.is_xz_yh;
+ ob.goods = new Array();
+ ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num });
+ map[pickid][item.prom_id] = ob;
+ }
+ } 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;
+
+ let min_value = 0
+ if (prom && prom.is_xz_yh) {
+ let arr = prom.promGoodsList || []
+ arr.map(ite => {
+ if (min_value) {
+ min_value = ite.condition
+ } else {
+ if (min_value < ite.condition) {
+ min_value = ite.condition
}
- await getApp().request.promisePost("/api/weshop/cart/save", {
- data: newd
- }).then(res => {
- if (res.data.code == 0) {
- add_data = res.data.data;
- }
- })
- if (add_data) {
- newd.id = add_data.id;
- new_pk_list_goods.push(newd);
+ }
+ })
+ if (arr.length > 0) {
+ if (arr[0].prom_type == 0) {
+ if ((item.goods_price * item.goods_num) < min_value) {
+ prom.is_xz_yh = 0
}
- }
-
- var set_data = this.data.send_gf[gf_pickup_id][this.data.send_gf_index];
- set_data.selected = 1;
- var txt9 = "cartlist[" + index + "].goods";
-
- th.setData({ [txt9]: new_pk_list_goods, send_gf: this.data.send_gf });
- this.data.old_cartlist[index].goods = new_pk_list_goods;
-
- console.log(this.data.send_gf, "----");
- th.calculatePrice();
-
- } else {
- var new_pk_list_goods = [];
- //-- 当是立即购买的时候 --
- for (var i = 0; i < giftsinfo.length; i++) {
- var gf_item = giftsinfo[i];
- if (!gf_item.selected) continue;
- var newd = {
- goods_id: gf_item.goodsinfo.goods_id,
- buynum: gf_item.goods_num,
- pick_id: gf_pickup_id,
- user_id: app.globalData.user_id,
- store_id: os.stoid,
- goods_price: 0,
- member_goods_price: 0,
- goods_name: gf_item.goodsinfo.goods_name,
- goods_sn: gf_item.goodsinfo.goods_sn,
- sku: gf_item.goodsinfo.sku,
- is_gift: 1,
- prom_id: th.data.gf_prom_id,
- prom_type: 3,
- selected: 1,
- gift_id: gf_item.gift_id,
- original_img: th.data.imgUrl + gf_item.goodsinfo.original_img,
- exp_sum_type: gf_item.goodsinfo.exp_sum_type,
- is_free_shipping: gf_item.goodsinfo.is_free_shipping,
- weight: gf_item.goodsinfo.weight,
- uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
- uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
- goods_spec: gf_item.goodsinfo.goods_spec,
- goods_color: gf_item.goodsinfo.goods_color,
- };
- //-- 如果是代发商品的时候 --
- if(gf_item.goodsinfo.whsle_id){
- newd.whsle_id=gf_item.goodsinfo.whsle_id;
+ } else {
+ if (item.goods_num < min_value) {
+ prom.is_xz_yh = 0
}
-
- new_pk_list_goods.push(newd);
+ }
}
- var set_data = this.data.send_gf[th.data.bn_pick][this.data.send_gf_index];
- set_data.selected = 1;
- var txt1 = "send_gf[" + gf_pickup_id + "][" + this.data.send_gf_index + "]";
-
- th.setData({ buy_now_gift_goods: new_pk_list_goods, [txt1]: set_data });
- th.calculatePrice2();
-
+ }
}
- th.close_sele_gift();
- },
+ })
+
+ ob.prom_id = item.prom_id;
+ ob.name = prom.name;
+ ob.price = item.goods_price * item.goods_num;
+ ob.goods_num = item.goods_num;
+ ob.is_bz = prom.is_bz;
+ ob.is_xz_yh = prom.is_xz_yh;
+ ob.goods = new Array();
+ ob.goods.push({ goods_id: item.goods_id, goods_price: item.goods_price, goods_num: item.goods_num });
+ var obj = {};
+ obj[item.prom_id] = ob;
+ map[pickid] = obj;
- //获取输入
- getInput: function (e) {
- this.data.gift_sear = e.detail.value;
- },
- //-- 搜索赠品 --
- submitSearch: function () {
- var giftsinfo = this.data.giftsinfo;
- if (!this.data.gift_sear) {
- for (let i in giftsinfo) {
- let item = giftsinfo[i];
- item.hide_div = 0;
- }
- } else {
- for (let i in giftsinfo) {
- let item = giftsinfo[i];
- item.hide_div = 0;
- if (item.goods_name.indexOf(this.data.gift_sear) == -1) {
- item.hide_div = 1;
+ }
+ },
+ //---检查有没有优惠活动---
+ check_is_youhui: function (r_data, pick_id) {
+ let send_lb = this.data.send_lb;
+ let lodash = null;
+ r_data.forEach(item => {
+ if (send_lb[pick_id]) {
+ for (let i = 0; i < send_lb[pick_id].length; i++) {
+ let sends = send_lb[pick_id][i];
+ if (item.lb_id) {
+ if (sends.id === item.lb_id) {
+ sends['num']++;
+ } else {
+ let send_arr1 = send_lb[pick_id].filter(ii => ii.id === item.lb_id);
+ if (send_arr1.length == 0) {
+ if (item.lb_id) {
+ let ob = {};
+ ob.num = 1;
+ ob.title = item.lbtitle;
+ ob.id = item.lb_id;
+ lodash.push(ob);
+ // break;
}
- }
- }
- this.setData({ giftsinfo: giftsinfo })
-
- },
+ }
- //-- 赠品的验证 --
- sub_check_gift(func) {
- var th = this;
- if (th.data.send_gf) {
- var error_arr = [];
- for (let io in th.data.send_gf) {
- let item_arr = th.data.send_gf[io];
- for (let ip in item_arr) {
- var gf_pr_name = item_arr[ip].gf_pr_name;
- var zp_num = item_arr[ip].zp_num;
- var giftsinfo = item_arr[ip].giftsinfo;
- var limit_all = 0;
- var stock_all = 0;
- for (let iu in giftsinfo) {
- let gf_item = giftsinfo[iu];
- limit_all += gf_item.limit_num;
- stock_all += gf_item.gift_storecount;
- }
- if (limit_all < zp_num) {
- error_arr.push(gf_pr_name + "限购不足");
- }
- if (stock_all < zp_num) {
- error_arr.push(gf_pr_name + "赠品库存不足");
- }
+ }
+ }
+ if (item.zxlb_id) {
+ if (sends.id === item.zxlb_id) {
+ sends['num']++;
+ } else {
+ let send_arr = send_lb[pick_id].filter(ii => ii.id === item.zxlb_id);
+ if (send_arr.length == 0) {
+ if (item.zxlb_id) {
+ let ob = {};
+ ob.num = 1;
+ ob.flag = 1;
+ ob.title = item.zxlbtitle;
+ ob.id = item.zxlb_id;
+ lodash.push(ob);
+ // break;
}
+ }
}
+ }
+ }
- //-- 有赠品错误的时候,是不是继续下单 --
- if (error_arr.length) {
- var err = error_arr.join(",");
- wx.showModal({
- title: '提示',
- content: err + ',无法赠送赠品,是否继续下单',
- success(res) {
- if (res.confirm) {
- func();
- } else if (res.cancel) {
- console.log('用户点击取消');
- th.setData({
- submit: 0,
- })
- }
- }
- })
- } else {
+ } else {
+ let arr = new Array();
+ if (item.lb_id) {
+ let ob = {};
+ ob.num = 1;
+ ob.title = item.lbtitle;
+ ob.id = item.lb_id;
+ arr.push(ob);
+ }
+ if (item.zxlb_id) {
+ let ob = {};
+ ob.num = 1;
+ ob.flag = 1;
+ ob.title = item.zxlbtitle;
+ ob.id = item.zxlb_id;
+ arr.push(ob);
+ }
+ send_lb[pick_id] = arr;
+ lodash = JSON.parse(JSON.stringify(send_lb[pick_id]));
+ }
+ })
+ send_lb[pick_id] = lodash;
+ th.setData({
+ send_lb,
+ })
+
+
+ },
+
+ //从优惠的映射中拿出商品从表的item
+ item_map_get_goods: function (goods_id, map) {
+ for (var i in map.goods) {
+ if (map.goods[i].goods_id == goods_id) return map.goods[i];
+ }
+ },
+ //从优惠的映射中拿出商品从表的item
+ arr_get_goods: function (goods_id, arr) {
+ for (var i in arr) {
+ if (arr[i].goods_id == goods_id) return arr[i];
+ }
+ },
+
+ //检查是不是有其他门店的订单在选择了券
+ check_other_use: function (iter, pkid) {
+ var using = this.data.using_quan;
+ var is_use = 0;
+ if (using) {
+ for (var i in using) {
+ if (i == pkid) continue;
+ if (iter.CashRepNo == using[i].coupon_no) {
+ is_use = 1;
+ break;
+ }
+ }
+ }
+ return is_use;
+ },
+ //检查是不是有其他门店的订单在选择了包邮券
+ check_other_use_by: function (iter, pkid) {
+ var using = this.data.using_quan;
+ var is_use = 0;
+ if (using) {
+ for (var i in using) {
+ if (i == pkid) continue;
+ if (iter.no == using[i].coupon_no) {
+ is_use = 1;
+ break;
+ }
+ }
+ }
+ return is_use;
+ },
+
+ //跳转到购买卡
+ buycard: function () {
+ getApp().goto("/pages/user/plus/plus");
+ getApp().globalData.plus_buy_back = 1;
+ },
+
+ //跳转关闭弹出框的显示
+ close_offline: function () {
+ this.setData({ is_offline_show: 0 });
+ },
+
+ //立即购买显示弹出框
+ bn_pop_offline: function () {
+ var off_price = this.data.bn_goods.shop_price - this.data.bn_goods.offline_price;
+ //是不是线下
+ var is_get_offline = this.data.bn_goods.is_offline;
+ this.setData({ is_offline_show: 1, show_off_price: off_price.toFixed(2), is_get_offline: is_get_offline });
+ },
+
+ // 促销 -> 送礼包 -> 查看详情
+ viewLbDetails(e) {
+ let id = e.currentTarget.dataset.id; // 获取礼包id
+ let flag = e.currentTarget.dataset.flag;
+ let url = '';
+ if (flag == 1) { // flag =1 控制跳转到专享礼包
+ url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`;
+ } else {
+ url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
+ };
+ // console.log('myurl', url);
+ getApp().goto(url);
+ },
+
+ //确定使用线下取价
+ sure_offline: function () {
+ var bn_goods = this.data.bn_goods;
+ if (bn_goods && bn_goods.prom_type == 0) {
+ bn_goods.is_offline = 1;
+ this.setData({ is_offline_show: 0, bn_goods: bn_goods });
+ this.calculatePrice2();
+ }
+ //就是购物车结算时的
+ else {
+ var index = this.data.pop_offline_index;
+ var txt = "cartlist[" + index + "].is_offline";
+ this.setData({ [txt]: 1, is_offline_show: 0, });
+ this.data.old_cartlist[index].is_offline = 1;
+ this.calculatePrice();
+ }
+ },
+
+ //取消使用线下取价
+ cancle_offline: function () {
+ //判断是不是立即购买
+ var bn_goods = this.data.bn_goods;
+ if (bn_goods && bn_goods.prom_type == 0) {
+ bn_goods.is_offline = 0;
+ this.setData({ is_offline_show: 0, bn_goods: bn_goods });
+ this.calculatePrice2();
+ }
+ //就是购物车结算时的
+ else {
+ var index = this.data.pop_offline_index;
+ var txt = "cartlist[" + index + "].is_offline";
+ this.setData({ [txt]: 0, is_offline_show: 0, })
+ this.data.old_cartlist[index].is_offline = 0;
+ this.calculatePrice();
+ }
+ },
+
+ //-- 弹出购物车选择是不是要店铺优惠 --
+ cart_pop_offline: function (e) {
+ var index = e.currentTarget.dataset.index;
+ var item = this.data.cartlist[index];
+ var off_price = item.offline_price;
+ //是不是线下
+ var is_get_offline = item.is_offline;
+ this.setData({
+ pop_offline_index: index,
+ is_offline_show: 1,
+ show_off_price: off_price.toFixed(2),
+ is_get_offline: is_get_offline
+ });
+ },
+
+ go_url: function (e) {
+ var url = e.currentTarget.dataset.url;
+ getApp().goto(url);
+ },
+
+ //进行对商品的平摊g_item是单个商品,you_item是这个商品分多少优惠券的钱,goods是商品列表
+ split_set_goods_quanprice: async function (you_item, t_item) {
+ var coupon_price = you_item.WareCashSum;
+ var goods = t_item.goods;
+ var arr = [];
+ //判断是不是有goods_id重复
+ for (var i = 0; i < goods.length; i++) {
+ if (goods[i].erpwareid == you_item.WareId) {
+ var gg_ite = {
+ goods_id: goods[i].goods_id,
+ goods_num: goods[i].goods_num,
+ goods_price: goods[i].goods_price,
+ };
+ if (goods[i].account) gg_ite.goods_price = goods[i].account;
+ gg_ite.idx = i; arr.push(gg_ite);
+ }
+ }
- var is_ok = 1;
- var error_arr = [];
- for (let io in th.data.send_gf) {
- let item_arr1 = th.data.send_gf[io];
- for (let ip1 in item_arr1) {
- var item_b = item_arr1[ip1];
- if (!item_b.selected) {
- is_ok = 0;
- break;
- }
- }
- if (!is_ok) break;
- }
+ if (arr.length <= 0) return false;
+ if (arr.length == 1) {
+ var idx = arr[0].idx;
+ t_item.goods[idx].quan_num = Math.floor(coupon_price * 100) / 100;
+ t_item.goods[idx].quan_no = t_item.quan_no;
+ return false;
+ }
- if (!is_ok) {
- getApp().confirmBox("请选择赠品");
- th.setData({
- submit: 0,
- })
- return false;
- }
- func();
- }
+ var pt_data = {
+ 'dis': parseFloat(coupon_price),
+ 'goods': arr,
+ }
+ var pt_res = null;
+ await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", {
+ is_json: 1,
+ data: pt_data
+ }).then(res => {
+ if (res.data.code == 0) {
+ pt_res = res.data.data;
+ }
+ })
+ if (pt_res) {
+ var q_s_num = 0;
+ for (var i in pt_res) {
+ var idx = pt_res[i].idx;
+ //有account的实收价,就要用account实收价
+ var price = (t_item.goods[idx].account ? t_item.goods[idx].account : t_item.goods[idx].goods_price);
+ price = (price - pt_res[i].fisrt_account) * t_item.goods[idx].goods_num;
+ t_item.goods[idx].quan_num = price;
+
+ t_item.goods[idx].quan_num = Math.floor(t_item.goods[idx].quan_num * 100) / 100;
+ t_item.goods[idx].quan_no = t_item.quan_no;
+ q_s_num += t_item.goods[idx].quan_num;
+ }
+
+ if (q_s_num > parseFloat(coupon_price) || q_s_num < parseFloat(coupon_price)) {
+ for (var ik in arr) {
+ if (arr[ik].goods_num == 1) {
+ var id = arr[ik].idx;
+ var pri = Math.floor(coupon_price * 100) / 100 - Math.floor(q_s_num * 100) / 100
+ t_item.goods[id].quan_num += pri;
+ break;
+ }
+ }
+ }
+ }
+ },
+ //订阅消息提醒
+ sendsm: function (func) {
+ let th = this;
+ var template_id = this.data.template_id;
+ // //授权订阅
+ wx.requestSubscribeMessage({
+ tmplIds: [template_id],
+ success(res) {
+ func();
+ },
+ fail(res) {
+ func();
+ }
+ })
+
+ },
+
+ setexptype2: function (e) {
+ this.debounce(this.setexptype.bind(this, e), 400)();
+ },
+
+ setexptype_w2: function (e) {
+ this.debounce(this.setexptype_w.bind(this, e), 400)();
+ },
+
+ // 函数防抖
+ debounce: function (func, wait) {
+ return () => {
+ clearTimeout(timer);
+ timer = setTimeout(func, wait);
+ };
+ },
+
+
+ //-- 判断是不是选中 --
+ check_th_item: function (e) {
+ var th = this;
+ var idx = e.currentTarget.dataset.item;
+ var check = e.currentTarget.dataset.check;
+ var txt = "giftsinfo[" + idx + "].selected";
+ var gift_item = this.data.giftsinfo[idx];
+
+ if (check) {
+ th.setData({ [txt]: 0 });
+ } else {
+
+ var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, gift_item.goods_num);
+ if (!is_true) { return false; }
+
+ th.setData({ [txt]: 1 });
+ }
+ },
+
+
+ //输入框输入数量的时候
+ valueToNum: function (e) {
+ var th = this;
+ var idx = e.currentTarget.dataset.item;
+ var gift_item = this.data.giftsinfo[idx];
+ var num = parseInt(e.detail.value);
+ var txt = "giftsinfo[" + idx + "].goods_num";
+ var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num);
+ if (!is_true) {
+ th.setData({ [txt]: 1 });
+ return false;
+ }
+ th.setData({ [txt]: num });
+
+ },
+
+
+
+ addNum: function (e) {
+ var th = this;
+ var idx = e.currentTarget.dataset.item;
+ var txt = "giftsinfo[" + idx + "].goods_num";
+ var num = th.data.giftsinfo[idx].goods_num + 1;
+ var gift_item = this.data.giftsinfo[idx];
+ var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num);
+ if (!is_true) { return false; }
+ th.setData({ [txt]: num });
+ },
+
+ subNum: function (e) {
+ var th = this;
+ var idx = e.currentTarget.dataset.item;
+ var txt = "giftsinfo[" + idx + "].goods_num";
+ var num = th.data.giftsinfo[idx].goods_num - 1;
+ var gift_item = this.data.giftsinfo[idx];
+ var is_true = th.check_out_num_cart(gift_item, this.data.gift_pkid, num);
+ if (!is_true) {
+ return false;
+ }
+ if (num < 1) return false;
+ th.setData({ [txt]: num });
+ },
+
+ //-- 点击选中赠品 --
+ show_sele_gift: function (e) {
+ var index = e.currentTarget.dataset.index;
+ var pk = e.currentTarget.dataset.pk;
+ var giftsinfo = this.data.send_gf[pk][index].giftsinfo;
+
+ for (let i in giftsinfo) {
+ let item = giftsinfo[i];
+ if (!item.goods_num) giftsinfo[i].goods_num = 1;
+ }
- } else {
- func();
+ this.setData({
+ show_duo_gift: 1,
+ giftsinfo: giftsinfo,
+ gf_pr_name: this.data.send_gf[pk][index].gf_pr_name,
+ zp_num: this.data.send_gf[pk][index].zp_num,
+ gift_pkid: pk,
+ gf_prom_id: this.data.send_gf[pk][index].prom_id,
+ send_gf_index: index
+ })
+ },
+
+ close_sele_gift: function () {
+ this.setData({ show_duo_gift: 0 })
+ },
+
+ //购物车赠品有咩有超出库存。有灭有超出限购
+ check_out_num_cart: function (discount, pick_id, num) {
+ var prom_id = discount.prom_id;
+ var alllist = this.data.cartlist;
+ var all_num = num;
+ var all_limit_num = num;
+ var gift_id = discount.gift_id;
+ for (var i in alllist) {
+ var list_item = alllist[i];
+ //-- 门店相同,活动相同的时候 --
+ if (pick_id == list_item.pickup_id && prom_id == list_item.prom_id) continue;
+ for (var j in list_item.goods) {
+ //如果赠品的ID一样,要进行统计数量
+ if (list_item.goods[j].is_gift == 1 &&
+ list_item.goods[j].gift_id == gift_id) {
+ all_num += list_item.goods[j].goods_num;
}
- },
+ if (list_item.goods[j].is_gift == 1 && list_item.goods[j].gift_id == gift_id && list_item.goods[j].prom_id == prom_id) {
+ all_limit_num += list_item.goods[j].limit_num;
+ }
+ }
+ }
+ //-- 赠品的数量超出库存数量和会员的限制,
+ // 这里是保证所有的赠品部会超出 --
+ if (discount.gift_storecount < all_num) {
+ wx.showToast({
+ title: "赠品库存不足",
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+ if (discount.limit_num < all_limit_num) {
+ wx.showToast({
+ title: "超出赠品限购",
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+ return true;
+ },
+
+ //-- 确定赠品 --
+ sure_this_gift: async function () {
+ var th = this;
+ var gf_pickup_id = this.data.gift_pkid;
+
+ var zp_num = this.data.zp_num;
+ var giftsinfo = this.data.giftsinfo;
+ var all_num = 0;
+ for (let i in giftsinfo) {
+ let item = giftsinfo[i];
+ if (!item.selected) continue;
+ all_num += item.goods_num;
+ }
+ if (all_num > zp_num) {
+ wx.showToast({
+ title: "超出活动赠品赠送的数量" + zp_num + "件",
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
+ if (all_num < zp_num) {
+ wx.showToast({
+ title: "您还可以加" + (zp_num - all_num) + "件",
+ icon: 'none',
+ duration: 2000
+ });
+ return false;
+ }
- //子组件返回的优化
- select_coll(e){
- console.log("--1111--aaa--");
- console.log(e);
- //-- 如果是购物车的选择添加搭配商品 --
- if(e.detail.is_cart==1){
- this.select_coll_buy_cart(e.detail);
- }else{
- this.select_coll_buy_now(e.detail);
+ //-- 当是购物车购买的时候 --
+ if (this.data.cartlist && this.data.cartlist.length > 0) {
+ var alllist = this.data.cartlist;
+ var index = alllist.findIndex(function (e) {
+ return e.pickup_id == gf_pickup_id
+ });
+ var pk_list_goods = alllist[index].goods;
+
+ var url = "/api/weshop/cart/delGift?store_id=" + os.stoid + "&user_id="
+ + getApp().globalData.user_id + "&is_gift=1&pick_id=" + this.data.gift_pkid + "&prom_id=" + this.data.prom_id;
+ await getApp().request.promiseDelete(url, {});
+
+ var new_pk_list_goods = [];
+ for (let i in pk_list_goods) {
+ let item = pk_list_goods[i];
+ if (item.is_gift && item.prom_id == this.data.gf_prom_id) {
+ continue;
}
- },
+ new_pk_list_goods.push(item)
+ }
+
+ //-- 循环把赠品添加进去 --
+ for (var i = 0; i < giftsinfo.length; i++) {
+ var gf_item = giftsinfo[i];
+ if (!gf_item.selected) continue;
+ var add_data = null;
+ var newd = {
+ goods_id: gf_item.goodsinfo.goods_id,
+ goods_num: gf_item.goods_num,
+ pick_id: gf_pickup_id,
+ user_id: app.globalData.user_id,
+ store_id: os.stoid,
+ goods_price: 0,
+ member_goods_price: 0,
+ goods_name: gf_item.goodsinfo.goods_name,
+ goods_sn: gf_item.goodsinfo.goods_sn,
+ sku: gf_item.goodsinfo.sku,
+ is_gift: 1,
+ prom_id: th.data.gf_prom_id,
+ prom_type: 3,
+ selected: 1,
+ gift_id: gf_item.gift_id,
+ original_img: th.data.imgUrl + gf_item.goodsinfo.original_img,
+ exp_sum_type: gf_item.goodsinfo.exp_sum_type,
+ is_free_shipping: gf_item.goodsinfo.is_free_shipping,
+ weight: gf_item.goodsinfo.weight,
+ uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
+ goods_spec: gf_item.goodsinfo.goods_spec,
+ goods_color: gf_item.goodsinfo.goods_color,
+ };
- //立即购买的时候,选中和不选中搭配商品
- async select_coll_buy_now(e){
- var th=this;
- //--按钮变灰色 --
- th.setData({submit:1});
- //如果是选中
- if(e.selected){
- var item=this.data.all_collocation_list[e.index];
- item.goods_num=1;
- item.goods_price=item.price;
- item.is_collocation=1;
- item.prom_type=5;
-
-
- var coll_arr=[];
- if(this.data.collocation_goods && this.data.collocation_goods.length){
- coll_arr=this.data.collocation_goods;
- }
- coll_arr.push(item);
- this.setData({collocation_goods:coll_arr});
- //让主商品的活动变成5,搭配购
- this.setData({'bn_goods.prom_type':5, 'bn_goods.prom_id':coll_arr[0].prom_id });
-
- var is_has_main=coll_arr.findIndex(function(e){
- return e.goods_id==th.data.bn_goods.goods_id;
- })
-
- //要进行深拷贝
- var coll_arr_new=JSON.parse(JSON.stringify(coll_arr));
- coll_arr_new.unshift(this.data.bn_goods);
-
- await th.get_collocation_list(coll_arr_new);
- //计算价格
- th.calculatePrice2();
- th.get_cart_quan();
-
- }else{
- var item=this.data.all_collocation_list[e.index];
- var coll_arr=this.data.collocation_goods;
- var find=coll_arr.findIndex(function (e){
- return e.goods_id==item.goods_id;
- })
- coll_arr.splice(find,1);
-
- //当coll_arr的长度等于1的时候,说明没有选中搭配商品,只有主商品了
- if(!coll_arr || coll_arr.length<1){
- //让主商品的活动变成0,取消搭配购
- this.setData({'bn_goods.prom_type':0, 'bn_goods.prom_id':0,collocation_goods:[] });
- //计算价格
- th.calculatePrice2();
- //获取优惠券
- th.get_buy_now_quan();
-
- }else{
- this.setData({collocation_goods:coll_arr});
- //要进行深拷贝
- var coll_arr_new=JSON.parse(JSON.stringify(coll_arr));
- coll_arr_new.unshift(this.data.bn_goods);
- await th.get_collocation_list(coll_arr);
- //计算价格
- th.calculatePrice2();
- th.get_cart_quan();
- }
+
+ //-- 如果是代发商品的时候 --
+ if (gf_item.goodsinfo.whsle_id) {
+ newd.whsle_id = gf_item.goodsinfo.whsle_id;
+ }
+ await getApp().request.promisePost("/api/weshop/cart/save", {
+ data: newd
+ }).then(res => {
+ if (res.data.code == 0) {
+ add_data = res.data.data;
+ }
+ })
+ if (add_data) {
+ newd.id = add_data.id;
+ new_pk_list_goods.push(newd);
+ }
+ }
+
+ var set_data = this.data.send_gf[gf_pickup_id][this.data.send_gf_index];
+ set_data.selected = 1;
+ var txt9 = "cartlist[" + index + "].goods";
+
+ th.setData({ [txt9]: new_pk_list_goods, send_gf: this.data.send_gf });
+ this.data.old_cartlist[index].goods = new_pk_list_goods;
+
+ console.log(this.data.send_gf, "----");
+ th.calculatePrice();
+
+ } else {
+ var new_pk_list_goods = [];
+ //-- 当是立即购买的时候 --
+ for (var i = 0; i < giftsinfo.length; i++) {
+ var gf_item = giftsinfo[i];
+ if (!gf_item.selected) continue;
+ var newd = {
+ goods_id: gf_item.goodsinfo.goods_id,
+ buynum: gf_item.goods_num,
+ pick_id: gf_pickup_id,
+ user_id: app.globalData.user_id,
+ store_id: os.stoid,
+ goods_price: 0,
+ member_goods_price: 0,
+ goods_name: gf_item.goodsinfo.goods_name,
+ goods_sn: gf_item.goodsinfo.goods_sn,
+ sku: gf_item.goodsinfo.sku,
+ is_gift: 1,
+ prom_id: th.data.gf_prom_id,
+ prom_type: 3,
+ selected: 1,
+ gift_id: gf_item.gift_id,
+ original_img: th.data.imgUrl + gf_item.goodsinfo.original_img,
+ exp_sum_type: gf_item.goodsinfo.exp_sum_type,
+ is_free_shipping: gf_item.goodsinfo.is_free_shipping,
+ weight: gf_item.goodsinfo.weight,
+ uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
+ uniform_exp_sum: gf_item.goodsinfo.uniform_exp_sum,
+ goods_spec: gf_item.goodsinfo.goods_spec,
+ goods_color: gf_item.goodsinfo.goods_color,
+ };
+ //-- 如果是代发商品的时候 --
+ if (gf_item.goodsinfo.whsle_id) {
+ newd.whsle_id = gf_item.goodsinfo.whsle_id;
}
- },
- //购物车购买的时候,选中和不选中搭配商品
- async select_coll_buy_cart(e){
- var th=this;
- var cart_index=e.cart_index;
- var index=e.index;
-
- var collocationList=this.data.cartlist[cart_index].collocationList;
- var item=collocationList[cart_index];
- var goods=this.data.cartlist[cart_index].goods;
- var txt='cartlist['+cart_index+'].goods';
- var txt2='cartlist['+cart_index+'].collocationList['+index+'].selected';
-
- //-- 如果是选中 --
- if(e.selected){
- item.goods_num=1;
- item.goods_price=item.price;
- item.prom_type=5;
- item.is_collocation=1;
-
- goods.push(item);
-
- th.setData({[txt]:goods,[txt2]:1});
-
- th.data.old_cartlist=JSON.parse(JSON.stringify(this.data.cartlist));
- th.calculatePrice();
- //th.get_cart_quan();
- }else{
- var fd=goods.findIndex(function (e){
- return e.goods_id ==item.goods_id && e.prom_type ==5;
- })
+ new_pk_list_goods.push(newd);
+ }
+ var set_data = this.data.send_gf[th.data.bn_pick][this.data.send_gf_index];
+ set_data.selected = 1;
+ var txt1 = "send_gf[" + gf_pickup_id + "][" + this.data.send_gf_index + "]";
- goods.splice(fd,1);
- th.setData({[txt]:goods,[txt2]:0});
- th.data.old_cartlist=JSON.parse(JSON.stringify(this.data.cartlist));
+ th.setData({ buy_now_gift_goods: new_pk_list_goods, [txt1]: set_data });
+ th.calculatePrice2();
- th.calculatePrice();
- //th.get_cart_quan();
+ }
+ th.close_sele_gift();
+ },
+
+ //获取输入
+ getInput: function (e) {
+ this.data.gift_sear = e.detail.value;
+ },
+ //-- 搜索赠品 --
+ submitSearch: function () {
+ var giftsinfo = this.data.giftsinfo;
+ if (!this.data.gift_sear) {
+ for (let i in giftsinfo) {
+ let item = giftsinfo[i];
+ item.hide_div = 0;
+ }
+ } else {
+ for (let i in giftsinfo) {
+ let item = giftsinfo[i];
+ item.hide_div = 0;
+ if (item.goods_name.indexOf(this.data.gift_sear) == -1) {
+ item.hide_div = 1;
}
- },
-
- //-- 搭配购的获取搭配商品的购物车计算价格的数组格式 --
- async get_collocation_list(narr){
- var gg = to.get_b_now();
- var th=this;
- var cart_arr = new Array();
- //-- 搭配促销的门店配送方式的修复 --
- var et = 1;
- var distr_t = 0; // 配送方式 0=用户自选 1=自提 2=物流
- for (var hi in narr) {
- var dis_t = narr[hi].distr_type;
- if (dis_t == 2) {
- th.setData({ is_all_zt: 0 });
- et = 0;
+ }
+ }
+ this.setData({ giftsinfo: giftsinfo })
+
+ },
+
+ //-- 赠品的验证 --
+ sub_check_gift(func) {
+ var th = this;
+ if (th.data.send_gf) {
+ var error_arr = [];
+ for (let io in th.data.send_gf) {
+ let item_arr = th.data.send_gf[io];
+ for (let ip in item_arr) {
+ var gf_pr_name = item_arr[ip].gf_pr_name;
+ var zp_num = item_arr[ip].zp_num;
+ var giftsinfo = item_arr[ip].giftsinfo;
+ var limit_all = 0;
+ var stock_all = 0;
+ for (let iu in giftsinfo) {
+ let gf_item = giftsinfo[iu];
+ limit_all += gf_item.limit_num;
+ stock_all += gf_item.gift_storecount;
+ }
+ if (limit_all < zp_num) {
+ error_arr.push(gf_pr_name + "限购不足");
+ }
+ if (stock_all < zp_num) {
+ error_arr.push(gf_pr_name + "赠品库存不足");
+ }
+ }
+ }
+
+ //-- 有赠品错误的时候,是不是继续下单 --
+ if (error_arr.length) {
+ var err = error_arr.join(",");
+ wx.showModal({
+ title: '提示',
+ content: err + ',无法赠送赠品,是否继续下单',
+ success(res) {
+ if (res.confirm) {
+ func();
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ th.setData({
+ submit: 0,
+ })
}
- if (dis_t > 0) {
- distr_t = dis_t;
+ }
+ })
+ } else {
+
+ var is_ok = 1;
+ var error_arr = [];
+ for (let io in th.data.send_gf) {
+ let item_arr1 = th.data.send_gf[io];
+ for (let ip1 in item_arr1) {
+ var item_b = item_arr1[ip1];
+ if (!item_b.selected) {
+ is_ok = 0;
+ break;
}
+ }
+ if (!is_ok) break;
+ }
- //-- 如果有一件代发的商品或者不是同城配送的配送 --
- if(narr[hi].is_same_city!=1 || narr[hi].whsle_id>0){
- th.setData({show_same_city:0})
- }
+ if (!is_ok) {
+ getApp().confirmBox("请选择赠品");
+ th.setData({
+ submit: 0,
+ })
+ return false;
}
- //自选的时候,系统配置了默认的配送方式是物流的时候
- if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) {
- et = 0; th.setData({ is_all_zt: 0 });
- }
-
- var m_wind=th.data.m_wind;
- var ie = {
- pickup_id: gg.pick_id,
- pname: gg.pick_name,
- goods: narr,
- exp_type: et,
- wind: m_wind,
- distr_t: distr_t,
- bn_t_exp_t: distr_t,
- goods_price: 0,
- shipping_price: 0,
- user_money: 0,
- total_amount: 0,
- order_amount: 0,
- user_note: ""
- };
+ func();
+ }
- var cart_commission=0;
- //-- 循环计算一下线下取价 --
- //计算佣金的商品
- var commission_gds=[];
- for (var c = 0; c < narr.length; c++) {
- var hr={
- goods_id:narr[c].goods_id,
- goods_num:narr[c].goods_num,
- prom_type:0,
- prom_id:0,
- }
- commission_gds.push(hr);
- }
+ } else {
+ func();
+ }
+ },
+
+ //子组件返回的优化
+ select_coll(e) {
+ console.log("--1111--aaa--");
+ console.log(e);
+ //-- 如果是购物车的选择添加搭配商品 --
+ if (e.detail.is_cart == 1) {
+ this.select_coll_buy_cart(e.detail);
+ } else {
+ this.select_coll_buy_now(e.detail);
+ }
+ },
+
+ //立即购买的时候,选中和不选中搭配商品
+ async select_coll_buy_now(e) {
+ var th = this;
+ //--按钮变灰色 --
+ th.setData({ submit: 1 });
+ //如果是选中
+ if (e.selected) {
+ var item = this.data.all_collocation_list[e.index];
+ item.goods_num = 1;
+ item.goods_price = item.price;
+ item.is_collocation = 1;
+ item.prom_type = 5;
+
+
+ var coll_arr = [];
+ if (this.data.collocation_goods && this.data.collocation_goods.length) {
+ coll_arr = this.data.collocation_goods;
+ }
+ coll_arr.push(item);
+ this.setData({ collocation_goods: coll_arr });
+ //让主商品的活动变成5,搭配购
+ this.setData({ 'bn_goods.prom_type': 5, 'bn_goods.prom_id': coll_arr[0].prom_id });
+
+ var is_has_main = coll_arr.findIndex(function (e) {
+ return e.goods_id == th.data.bn_goods.goods_id;
+ })
+
+ //要进行深拷贝
+ var coll_arr_new = JSON.parse(JSON.stringify(coll_arr));
+ coll_arr_new.unshift(this.data.bn_goods);
+
+ await th.get_collocation_list(coll_arr_new);
+ //计算价格
+ th.calculatePrice2();
+ th.get_cart_quan();
+
+ } else {
+ var item = this.data.all_collocation_list[e.index];
+ var coll_arr = this.data.collocation_goods;
+ var find = coll_arr.findIndex(function (e) {
+ return e.goods_id == item.goods_id;
+ })
+ coll_arr.splice(find, 1);
+
+ //当coll_arr的长度等于1的时候,说明没有选中搭配商品,只有主商品了
+ if (!coll_arr || coll_arr.length < 1) {
+ //让主商品的活动变成0,取消搭配购
+ this.setData({ 'bn_goods.prom_type': 0, 'bn_goods.prom_id': 0, collocation_goods: [] });
+ //计算价格
+ th.calculatePrice2();
+ //获取优惠券
+ th.get_buy_now_quan();
+
+ } else {
+ this.setData({ collocation_goods: coll_arr });
+ //要进行深拷贝
+ var coll_arr_new = JSON.parse(JSON.stringify(coll_arr));
+ coll_arr_new.unshift(this.data.bn_goods);
+ await th.get_collocation_list(coll_arr);
+ //计算价格
+ th.calculatePrice2();
+ th.get_cart_quan();
+ }
+ }
+ },
+ //购物车购买的时候,选中和不选中搭配商品
+ async select_coll_buy_cart(e) {
+ var th = this;
+ var cart_index = e.cart_index;
+ var index = e.index;
+
+ var collocationList = this.data.cartlist[cart_index].collocationList;
+ var item = collocationList[cart_index];
+ var goods = this.data.cartlist[cart_index].goods;
+ var txt = 'cartlist[' + cart_index + '].goods';
+ var txt2 = 'cartlist[' + cart_index + '].collocationList[' + index + '].selected';
+
+ //-- 如果是选中 --
+ if (e.selected) {
+ item.goods_num = 1;
+ item.goods_price = item.price;
+ item.prom_type = 5;
+ item.is_collocation = 1;
+
+ goods.push(item);
+
+ th.setData({ [txt]: goods, [txt2]: 1 });
+
+ th.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist));
+ th.calculatePrice();
+ //th.get_cart_quan();
+
+ } else {
+ var fd = goods.findIndex(function (e) {
+ return e.goods_id == item.goods_id && e.prom_type == 5;
+ })
+
+ goods.splice(fd, 1);
+ th.setData({ [txt]: goods, [txt2]: 0 });
+ th.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist));
+
+ th.calculatePrice();
+ //th.get_cart_quan();
+ }
+ },
+
+ //-- 搭配购的获取搭配商品的购物车计算价格的数组格式 --
+ async get_collocation_list(narr) {
+ var gg = to.get_b_now();
+ var th = this;
+ var cart_arr = new Array();
+ //-- 搭配促销的门店配送方式的修复 --
+ var et = 1;
+ var distr_t = 0; // 配送方式 0=用户自选 1=自提 2=物流
+ for (var hi in narr) {
+ var dis_t = narr[hi].distr_type;
+ if (dis_t == 2) {
+ th.setData({ is_all_zt: 0 });
+ et = 0;
+ }
+ if (dis_t > 0) {
+ distr_t = dis_t;
+ }
+
+ //-- 如果有一件代发的商品或者不是同城配送的配送 --
+ if (narr[hi].is_same_city != 1 || narr[hi].whsle_id > 0) {
+ th.setData({ show_same_city: 0 })
+ }
+ }
+ //自选的时候,系统配置了默认的配送方式是物流的时候
+ if (distr_t == 0 && th.data.json_d.pickupway && th.data.json_d.pickupway == 1) {
+ et = 0; th.setData({ is_all_zt: 0 });
+ }
- //获取购物车的佣金,此处要优化调用接口,获取佣金
- var req_d = {
- user_id:getApp().globalData.user_id,goods_ids:commission_gds,store_id: os.stoid
- }
- var back_data=null;
- await getApp().request.promisePost("/api/weshop/order/getrebateSum", {
- is_json: 1, data: req_d
- }).then(rs => {
- if (rs.data.code == 0) back_data =rs.data.data;
- });
+ var m_wind = th.data.m_wind;
+ var ie = {
+ pickup_id: gg.pick_id,
+ pname: gg.pick_name,
+ goods: narr,
+ exp_type: et,
+ wind: m_wind,
+ distr_t: distr_t,
+ bn_t_exp_t: distr_t,
+ goods_price: 0,
+ shipping_price: 0,
+ user_money: 0,
+ total_amount: 0,
+ order_amount: 0,
+ user_note: ""
+ };
+
+ var cart_commission = 0;
+ //-- 循环计算一下线下取价 --
+ //计算佣金的商品
+ var commission_gds = [];
+ for (var c = 0; c < narr.length; c++) {
+ var hr = {
+ goods_id: narr[c].goods_id,
+ goods_num: narr[c].goods_num,
+ prom_type: 0,
+ prom_id: 0,
+ }
+ commission_gds.push(hr);
- if(back_data && parseFloat(back_data)) {
- ie.can_usecommise =parseFloat(back_data);
- cart_commission = ie.can_usecommise;
- }
+ }
- cart_arr.push(ie);
- if(cart_commission){
- th.setData({cart_commission});
- }
+ //获取购物车的佣金,此处要优化调用接口,获取佣金
+ var req_d = {
+ user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid
+ }
+ var back_data = null;
+ await getApp().request.promisePost("/api/weshop/order/getrebateSum", {
+ is_json: 1, data: req_d
+ }).then(rs => {
+ if (rs.data.code == 0) back_data = rs.data.data;
+ });
+
+ if (back_data && parseFloat(back_data)) {
+ ie.can_usecommise = parseFloat(back_data);
+ cart_commission = ie.can_usecommise;
+ }
- th.data.old_cartlist = cart_arr;
+ cart_arr.push(ie);
+ if (cart_commission) {
+ th.setData({ cart_commission });
}
+ th.data.old_cartlist = cart_arr;
+ }
+
diff --git a/pages/cart/cart2_inte/cart2_inte.js b/pages/cart/cart2_inte/cart2_inte.js
index ece1c07..daebd2f 100644
--- a/pages/cart/cart2_inte/cart2_inte.js
+++ b/pages/cart/cart2_inte/cart2_inte.js
@@ -31,7 +31,7 @@ Page({
couponCode: "",//使用优惠券(多单就用逗号隔开)
shipping_price: 0,//物流费用
},
-
+ inv_is_post:0,//积分购是否包邮
/*----------------立即购买---------------------*/
is_b_now: 1, //0是购物车结算 1立即购买
@@ -410,7 +410,7 @@ Page({
th.setData({
bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et, index: m_wind,
- bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et
+ bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et,inv_is_post:inte_data.is_post
});
//计算价格
th.calculatePrice2();
@@ -490,7 +490,7 @@ Page({
var out_of_weight = null; //超出多少重量
//-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮----------
- if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past != 1) {
+ if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past != 1 && !th.data.inv_is_post) {
var user_addr=th.data.user_addr;
var req_d = {
diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js
index 8f47225..6b4a18a 100644
--- a/pages/goods/goodsInfo/goodsInfo.js
+++ b/pages/goods/goodsInfo/goodsInfo.js
@@ -37,7 +37,7 @@ Page({
resourceUrl: o.h5_url, //公众号那边的图片文件域名
iurl: o.imghost,
defaultAvatar: o.resourceUrl + "/static/images/user68.jpg",
-
+ userbuynum:0,//用户组合购购买的次数
data: null,
content: "", //商品详情
comments: null, //商品评论
@@ -965,6 +965,7 @@ Page({
th.setData({
zh_act: e.data.data
});
+ th.getUserBuyPromNum(e.data.data.id)
}
}
@@ -1422,7 +1423,21 @@ Page({
})
},
-
+ 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
+ }
+ this.setData({
+ userbuynum
+ })
+ // return userbuynum
+ },
//-- 加入购物的函数 --
add_cart_func: function (t) {
var i = getApp().request;
@@ -2050,33 +2065,80 @@ Page({
//这一步主要是要让立即购买 走 购物车的逻辑 参与活动
if (newd.prom_type == 10 || newd.prom_type == 7) {
- //----先看会员在购物车中是否加入了该商品,立即购买的-----
- getApp().request.get("/api/weshop/cart/page", {
- data: {
- store_id: e.data.stoid,
- user_id: oo.user_id,
- state: 1
- },
- success: function (res) {
- //-------如果购物车中有相关的数据---------
- if (res.data.code == 0 && res.data.data.total > 0) {
- for (let j in res.data.data.pageData) {
- let item_j = res.data.data.pageData[j];
- var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
- getApp().request.delete(url, {});
- }
+ if(newd.prom_type==7 && th.data.zh_act && th.data.zh_act.buy_limit !=0 && th.data.zh_act.buy_limit <= th.data.userbuynum && th.data.zh_act.zhbuyqty <= th.data.goodsInputNum){
+ wx.hideLoading()
+
+ wx.showModal({
+ title: '提示',
+ // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`,
+ content: `${th.data.data.goods_name}超出组合购限购次数,将以普通商品购买`,
+ success:res=>{
+ if (res.confirm) {
+ console.log('用户点击确定')
+ //----先看会员在购物车中是否加入了该商品,立即购买的-----
+ getApp().request.get("/api/weshop/cart/page", {
+ data: {
+ store_id: e.data.stoid,
+ user_id: oo.user_id,
+ state: 1
+ },
+ success: function (res) {
+ //-------如果购物车中有相关的数据---------
+ if (res.data.code == 0 && res.data.data.total > 0) {
+ for (let j in res.data.data.pageData) {
+ let item_j = res.data.data.pageData[j];
+ var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
+ getApp().request.delete(url, {});
+ }
+ }
+ newd.state = 1;
+ newd.prom_type=0;
+ newd.prom_id=0
+ getApp().request.post("/api/weshop/cart/save", {
+ data: newd,
+ success: function (t) {
+ th.closeSpecModal();
+ getApp().goto("/pages/cart/cart2/cart2?state=1");
+ }
+ });
+ }
+ })
+ } else if (res.cancel) {
+
+ console.log('用户点击取消')
}
- newd.state = 1;
- getApp().request.post("/api/weshop/cart/save", {
- data: newd,
- success: function (t) {
- th.closeSpecModal();
- getApp().goto("/pages/cart/cart2/cart2?state=1");
+ }
+ })
+ return false
+ }else{
+ //----先看会员在购物车中是否加入了该商品,立即购买的-----
+ getApp().request.get("/api/weshop/cart/page", {
+ data: {
+ store_id: e.data.stoid,
+ user_id: oo.user_id,
+ state: 1
+ },
+ success: function (res) {
+ //-------如果购物车中有相关的数据---------
+ if (res.data.code == 0 && res.data.data.total > 0) {
+ for (let j in res.data.data.pageData) {
+ let item_j = res.data.data.pageData[j];
+ var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
+ getApp().request.delete(url, {});
+ }
}
- });
- }
- })
- return false;
+ newd.state = 1;
+ getApp().request.post("/api/weshop/cart/save", {
+ data: newd,
+ success: function (t) {
+ th.closeSpecModal();
+ getApp().goto("/pages/cart/cart2/cart2?state=1");
+ }
+ });
+ }
+ })
+ return false;
+ }
}
if (th.data.prom_goods) {
diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml
index a612018..7d5b45d 100644
--- a/pages/goods/goodsInfo/goodsInfo.wxml
+++ b/pages/goods/goodsInfo/goodsInfo.wxml
@@ -6,7 +6,7 @@
-
+
规则
@@ -16,21 +16,21 @@
-
-
-
-
-
+
+
+
+
+
-
- {{item.nickname}}下单成功
-
-
-
-
-
+
+ {{item.nickname}}下单成功
+
+
+
+
+
@@ -45,8 +45,8 @@
-
-
+
+
@@ -106,11 +106,11 @@
-
+
开始时间
结束时间
-
+
{{djs.day}}天{{djs.hou}}小时{{djs.min}}分{{djs.sec}}秒
@@ -128,10 +128,10 @@
{{prom_price}}
- 零售价:¥{{filters.toFix(data.market_price,2)}}
- ¥{{filters.toFix(data.shop_price,2)}}
+ 零售价:¥{{filters.toFix(data.market_price,2)}}
+ ¥{{filters.toFix(data.shop_price,2)}}
-
+
已拼{{prom_act.buy_num}}件
@@ -141,18 +141,18 @@
{{prom_act.ct_num}}人拼
-
-
-
- 已成团{{prom_act.buy_num}}期
-
-
-
-
- {{prom_act.ct_num}}人团
-
-
-
+
+
+
+ 已成团{{prom_act.buy_num}}期
+
+
+
+
+ {{prom_act.ct_num}}人团
+
+
+
距活动结束还有
距活动开始还有
@@ -246,8 +246,8 @@
-
-
+
+
@@ -273,7 +273,7 @@
-
+
@@ -419,7 +419,7 @@
{{prom_price}}
零售价:¥{{filters.toFix(data.market_price,2)}}
- ¥{{filters.toFix(data.shop_price,2)}}
+ ¥{{filters.toFix(data.shop_price,2)}}
@@ -429,21 +429,21 @@
-
-
-
+
+
+
{{sele_g.goods_name}}
-
-
- {{sele_g.goods_name}}
-
-
-
- 分享
-
-
-
+
+
+ {{sele_g.goods_name}}
+
+
+
+ 分享
+
+
+
@@ -468,7 +468,7 @@
-
+
总数量:{{prom_act.goods_num+prom_act.virtualNum}}件
@@ -492,62 +492,65 @@
-
+
- 促销
-
-
-
-
- 消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}享优惠
-
-
-
-
- 减价{{item.money}}元
- 打{{item.sale}}折
- 包邮
- 送{{item.intValue}}积分
- 送{{item.couponMoney}}元优惠券
-
-
- 送赠品
- 送{{item.goods_name}}
-
-
-
-
- 送{{item.lbtitle}}
- 送{{item.zxlbtitle}}
-
-
-
-
+ 促销
+
+
+
+
+ 消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}享优惠
+
+
+
+
+ 减价{{item.money}}元
+ 打{{item.sale}}折
+ 包邮
+ 送{{item.intValue}}积分
+ 送{{item.couponMoney}}元优惠券
+
+
+ 送赠品
+
+
+ 送{{item.goods_name}}
+ x{{item.zp_num}}
+
+
+
+
+
+
+ 送{{item.lbtitle}}
+ 送{{item.zxlbtitle}}
+
+
+
+
-
-
- 阶梯促
-
-
- 阶
- {{jieti_prom}}
+
+
+ 阶梯促
+
+
+ 阶
+ {{jieti_prom}}
+
+
+
+
-
-
-
-
@@ -590,12 +593,11 @@
-
+
秒杀
-
+
秒
@@ -614,7 +616,7 @@
-
+
领券
@@ -625,20 +627,20 @@
-
+
-
-
-
+
+
+
选择门店
- 更多门店
+ 更多门店
@@ -671,7 +673,7 @@
- {{bconfig.service_bz}}
+ {{bconfig.service_bz}}
{{bconfig.service_bz}}
@@ -1029,11 +1031,11 @@
客服
-->
-
-
-
- 客服
-
+
+
+
+ 客服
+
@@ -1071,11 +1073,11 @@
- 单独购买
- 即将开始
+ 单独购买
+ 即将开始
- 即将开始
+ 即将开始
@@ -1255,11 +1257,11 @@
-
+
选择门店
- 更多门店
+ 更多门店
(库存不足)
@@ -1530,7 +1532,8 @@
- {{choice_sort_store==0?'更多门店':'返回'}}
+ {{choice_sort_store==0?'更多门店':'返回'}}
+
@@ -1696,12 +1699,12 @@
提示
-
- 该商品有参与{{item.act_name}} {{tool.act_type(item.prom_type)}} 活动
- 去参与
-
+
+ 该商品有参与{{item.act_name}} {{tool.act_type(item.prom_type)}} 活动
+ 去参与
+
+
-
@@ -1712,30 +1715,30 @@
- 规则详情
-
-
-
- 活动时间
- {{filters.format_time(prom_act.start_time,1)}} 至 {{filters.format_time(prom_act.end_time,1)}}
-
-
-
- 活动内容:
-
-
-
-
-
- 我知道了
-
-
+ 规则详情
+
+
+
+ 活动时间
+ {{filters.format_time(prom_act.start_time,1)}} 至 {{filters.format_time(prom_act.end_time,1)}}
+
+
+
+ 活动内容:
+
+
+
+
+
+ 我知道了
+
+
-
+
\ No newline at end of file
diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js
index 6de7ccf..1df2a5c 100644
--- a/pages/user/order_detail/order_detail.js
+++ b/pages/user/order_detail/order_detail.js
@@ -391,9 +391,11 @@ Page({
if(good.prom_type==7){
//如果有组合购
var isok = 1;
+ let zh_buy_info=null
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){
+ zh_buy_info = res.data.data
if(res.data.data.is_show!=1){
isok=0;
}
@@ -423,6 +425,15 @@ Page({
return false;
}
+ //增加组合购次数判断
+ let userbuynum = await th.getUserBuyPromNum(good.prom_id)
+ if (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,
@@ -999,7 +1010,19 @@ Page({
}
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){
diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js
index 03ccf24..a69f292 100644
--- a/pages/user/order_list/order_list.js
+++ b/pages/user/order_list/order_list.js
@@ -1,19 +1,19 @@
const app = getApp();
let self = null;
-var t = function(t) {
- return t && t.__esModule ? t : {
- default: t
- };
- }(require("../../../utils/LoadMore.js")),
+var t = function (t) {
+ return t && t.__esModule ? t : {
+ default: t
+ };
+}(require("../../../utils/LoadMore.js")),
e = getApp(),
os = e.globalData.setting,
oo = e.globalData,
r = e.request,
rq = r,
- a = require("../../../utils/common.js"),
+ a = require("../../../utils/common.js"),
s = new t.default();
var regeneratorRuntime = require('../../../utils/runtime.js');
-var ut= require('../../../utils/util.js');
+var ut = require('../../../utils/util.js');
var t = require("../../../utils/pay.js");
Page({
@@ -37,13 +37,13 @@ Page({
name: "待评价",
id: 4
}],
- tab_serviceCard: [{
+ tab_serviceCard: [{
name: "全部",
id: 0,
- },{
+ }, {
name: "待付款",
id: 1,
- },{
+ }, {
name: "待评价",
id: 2,
}],
@@ -54,376 +54,351 @@ Page({
is_get: 0,
conf: null,
iscodeall: null,
- sales_rules:1, //默认是显示线上库存
-
- //会员的等级价位
- card_field:null,
-
- back_goods_arr:null, //返回商品的列表
- currentIndex: 0,
- tabIndex: 0,
-
- startDate: '',
- endDate: '',
- list2: [],
- currentPage2: 1,
- currentDate: '',
- total: 0, //读取时段内记录数量
- is_no_data2: 0,
- is_no_more2: 0,
-
- cardList: [],
- // 搜索内容
- searchContent: '',
+ sales_rules: 1, //默认是显示线上库存
+
+ //会员的等级价位
+ card_field: null,
+
+ back_goods_arr: null, //返回商品的列表
+ currentIndex: 0,
+ tabIndex: 0,
+
+ startDate: '',
+ endDate: '',
+ list2: [],
+ currentPage2: 1,
+ currentDate: '',
+ total: 0, //读取时段内记录数量
+ is_no_data2: 0,
+ is_no_more2: 0,
+
+ cardList: [],
+ // 搜索内容
+ searchContent: '',
},
onLoad: function (t) {
- self = this;
- // 设置日期选择器的结束时间为当前日期
- var now = new Date();
- var nowDate = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();
- var date = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
- var startDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
-
-
- if (t.index && t.tabindex) {
- this.setData({
- currentIndex: t.index,
- tabIndex: t.tabindex,
- });
- this.clickTab();
- }
-
- this.setData({
- currentDate: this.currentDate(),
- startDate: startDate,
- endDate: nowDate,
- });
-
- var th = this;
- if (t.type != undefined) this.setData({
- activeCategoryId: t.type
- });
-
- s.init(this, "", "orderList");
-
- if(!getApp().globalData.user_id){
-
-
- wx.showModal({
- title: '提示',
- content: '当前账号未登录,请先登录!',
- success (res) {
- if (res.confirm) {
- getApp().goto('/packageE/pages/togoin/togoin');
- } else if (res.cancel) {
- console.log('用户点击取消')
- }
- }
- })
-
+ self = this;
+ // 设置日期选择器的结束时间为当前日期
+ var now = new Date();
+ var nowDate = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();
+ var date = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
+ var startDate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
+
+
+ if (t.index && t.tabindex) {
+ this.setData({
+ currentIndex: t.index,
+ tabIndex: t.tabindex,
+ });
+ this.clickTab();
+ };
- }
+ this.setData({
+ currentDate: this.currentDate(),
+ startDate: startDate,
+ endDate: nowDate,
+ });
+ var th = this;
+ if (t.type != undefined) this.setData({
+ activeCategoryId: t.type
+ });
+ s.init(this, "", "orderList");
},
+ onShow: function () {
+ var th = this;
+ //---查看会员的等级价---
+ getApp().getConfig2(function (e) {
+
+
+
+ th.setData({ conf: e, sales_rules: e.sales_rules });
+ //--- 看后台是不是有开通等级卡 ---
+ if (e.switch_list) {
+ var s_list = JSON.parse(e.switch_list);
+ th.setData({ appoint_pick_keyid: s_list.appoint_pick_keyid })
+
+ var user = getApp().globalData.userInfo;
+ var is_open_offline = s_list.is_pricing_open;
+ //-- 如果后台有开启等级价的功能 --
+ 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 < end) {
+ th.setData({ card_field: user.card_field })
+ }
+ }
+ //-- 判断有没有过期 --
+ getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" + os.stoid + "&type=6", {}).then(res => {
+ //未购买
+ 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 < ut.gettimestamp()) {
+ is_open_offline = 0;
+ }
+ }
- onShow: function() {
-
- if(!getApp().globalData.user_id){
- return false;
- }
-
+ th.data.is_open_offline = is_open_offline;
+ })
+ }
+ }, 1)
- var th=this;
- //---查看会员的等级价---
- getApp().getConfig2(function(e) {
-
- th.setData({conf: e,sales_rules:e.sales_rules });
- //--- 看后台是不是有开通等级卡 ---
- if(e.switch_list){
- var s_list=JSON.parse(e.switch_list);
- th.setData({appoint_pick_keyid:s_list.appoint_pick_keyid})
-
- var user=getApp().globalData.userInfo;
- var is_open_offline=s_list.is_pricing_open;
- //-- 如果后台有开启等级价的功能 --
- 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 {
+ tt = res;
+ })
+ var glist = tt.data.data.pageData;
+ for (var i in glist) {
+ if (glist[i].is_gift) {
+ data[ind].is_prom = 1;
+ }
}
- r += "&isdel=0";
- if (this.data.searchContent) {
- r += "&keyWord=" + this.data.searchContent;
+
+ data[ind]['ord_url'] = '/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, {
+ }).then(res => {
+ if (res.data.code == 0) {
+ data[ind]['presell'] = res.data.data;
+ data[ind]['ord_url'] = '/packageC/pages/presell/cart/cart';
+ }
+ })
}
- this.setData({activeCategoryId: t});
- r = r + "&page=" + e.data.currentPage;
- s.request(r, function (t) {
-
- th.setData({is_get: 1});
- var data = e.data.orderList;
- data.forEach(async function (item, ind) {
- var tt = null;
- await getApp().request.promiseGet('/api/weshop/ordergoods/list', {
- data: {order_id: item.order_id, store_id: os.stoid, pageSize: 600},
- }).then(res => {
- tt = res;
- })
- var glist = tt.data.data.pageData;
- for (var i in glist) {
- if (glist[i].is_gift) {
- data[ind].is_prom = 1;
- }
+ // 如果是幸运购活动
+ if (glist[0].prom_type == 9) {
+ await getApp().request.promiseGet('/api/weshop/prom/luckyOrder/list', {
+ data: {
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ order_id: item.order_id,
+ }
+ }).then(res => {
+ if (res.data.code == 0) {
+ // console.log('luckyGo+++++++++>>>', res.data.data);
+ // data[ind]['team_status'] = res.data.data[0]['team_status'];
+ if (res.data.data[0] && res.data.data[0]['team_status']) {
+ data[ind]['team_status'] = res.data.data[0]['team_status'];
+ } else {
+ data[ind]['team_status'] = 0;
+ };
+
+ // data[ind]['ord_url']='/packageC/pages/presell/cart/cart';
+ }
+ })
+ }
+ //------------对比一下有没有退款记录------------
+ await getApp().request.promiseGet("/api/weshop/order/returngoods/page", {
+ data: {
+ order_id: item.order_id, store_id: os.stoid,
+ user_id: oo.user_id, pageSize: 20
+ }
+ }).then(rs => {
+ var ttd = rs;
+ //--看一下订单的总数量--
+ var gtype_num = tt.data.data.total;
+ if (ttd.data.data.pageData == undefined) return false;
+ var goodslist = tt.data.data.pageData;
+
+ //----没有相关的退款记录----
+ if (ttd.data.data.total == 0) {
+ data[ind]['is_all_return'] = 0;
+ goodslist.forEach(function (ee, ii) {
+ if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1 && gtype_num > 1) {
+ item.goodslist = goodslist;
+ if (th.check_for_return_btn(item)) {
+ goodslist[ii]['return_btn'] = 1;
}
+ }
- data[ind]['ord_url']='/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, {
- }).then(res => {
- if(res.data.code==0){
- data[ind]['presell'] = res.data.data;
- data[ind]['ord_url']='/packageC/pages/presell/cart/cart';
- }
- })
+ });
+ } 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.退款已经完成
+ data[ind]['is_all_return'] = 1;
+ data[ind]['is_all_return_status'] = ttd.data.data.pageData[0].status;
+
+ if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) {
+ switch (eea.status) {
+ case 0:
+ case 1:
+ data[ind]['return_btn'] = 2;
+ break;
+ case 2:
+ data[ind]['return_btn'] = 4;
+ break;
+ case 3:
+ data[ind]['return_btn'] = 3;
+ break;
+ default:
+ data[ind]['return_btn'] = 0;
}
- // 如果是幸运购活动
- if(glist[0].prom_type==9){
- await getApp().request.promiseGet('/api/weshop/prom/luckyOrder/list', {
- data: {
- store_id: os.stoid,
- user_id: oo.user_id,
- order_id: item.order_id,
- }
- }).then(res => {
- if(res.data.code==0){
- // console.log('luckyGo+++++++++>>>', res.data.data);
- // data[ind]['team_status'] = res.data.data[0]['team_status'];
- if(res.data.data[0] && res.data.data[0]['team_status']) {
- data[ind]['team_status'] = res.data.data[0]['team_status'];
- } else {
- data[ind]['team_status'] = 0;
- };
-
- // data[ind]['ord_url']='/packageC/pages/presell/cart/cart';
- }
- })
- }
- //------------对比一下有没有退款记录------------
- await getApp().request.promiseGet("/api/weshop/order/returngoods/page", {
- data: {
- order_id: item.order_id, store_id: os.stoid,
- user_id: oo.user_id, pageSize: 20
- }
- }).then(rs => {
- var ttd = rs;
- //--看一下订单的总数量--
- var gtype_num = tt.data.data.total;
- if (ttd.data.data.pageData == undefined) return false;
- var goodslist = tt.data.data.pageData;
-
- //----没有相关的退款记录----
- if (ttd.data.data.total == 0) {
- data[ind]['is_all_return'] = 0;
- goodslist.forEach(function (ee, ii) {
- if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1 && gtype_num > 1) {
- item.goodslist = goodslist;
- if (th.check_for_return_btn(item)) {
- 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.退款已经完成
- data[ind]['is_all_return'] = 1;
- data[ind]['is_all_return_status'] = ttd.data.data.pageData[0].status;
-
- if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) {
- switch (eea.status) {
- case 0:
- case 1:
- data[ind]['return_btn'] = 2;
- break;
- case 2:
- data[ind]['return_btn'] = 4;
- break;
- case 3:
- data[ind]['return_btn'] = 3;
- break;
- default:
- data[ind]['return_btn'] = 0;
- }
- }
- } else {
- //1.退款正在进行中,
- //2.退款被拒绝就要显示可以退款
- //3.退款已经完成
- data[ind]['is_all_return'] = 0;
- var rt_ok_num = 0;
- //if(data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) {
- goodslist.forEach(function (eeb, iii) {
- if (data[ind]['order_status'] == 1 && data[ind]['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://退款处理中
- data[ind]['has_rt'] = 1; //有部分退
- goodslist[iii]['return_btn'] = 2;
- break;
- case 2://退款完成
- data[ind]['has_rt'] = 1; //有部分退
- goodslist[iii]['return_btn'] = 4;
- rt_ok_num++;
- break;
- case 3://已拒绝,重新退款
- goodslist[iii]['return_btn'] = 3;
- break;
- default:
- if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1)
- goodslist[iii]['return_btn'] = 1; //申请退款
- }
- return;
- }
- });
- });
- //}
- }
+ }
+ } else {
+ //1.退款正在进行中,
+ //2.退款被拒绝就要显示可以退款
+ //3.退款已经完成
+ data[ind]['is_all_return'] = 0;
+ var rt_ok_num = 0;
+ //if(data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1) {
+ goodslist.forEach(function (eeb, iii) {
+ if (data[ind]['order_status'] == 1 && data[ind]['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://退款处理中
+ data[ind]['has_rt'] = 1; //有部分退
+ goodslist[iii]['return_btn'] = 2;
+ break;
+ case 2://退款完成
+ data[ind]['has_rt'] = 1; //有部分退
+ goodslist[iii]['return_btn'] = 4;
+ rt_ok_num++;
+ break;
+ case 3://已拒绝,重新退款
+ goodslist[iii]['return_btn'] = 3;
+ break;
+ default:
+ if (data[ind]['order_status'] == 1 && data[ind]['pay_status'] == 1)
+ goodslist[iii]['return_btn'] = 1; //申请退款
}
+ return;
+ }
+ });
+ });
+ //}
+ }
+ }
+
+ //--如果是全部退款,也就可以删除--
+ if (rt_ok_num == goodslist.length) {
+ data[ind]['is_all_return_status'] = 2;
+ }
- //--如果是全部退款,也就可以删除--
- if (rt_ok_num == goodslist.length) {
- data[ind]['is_all_return_status'] = 2;
- }
+ data[ind]['order_goods'] = goodslist;
+ var g_num = 0;
+ goodslist.forEach(function (ee, ii) {
+ if (ee.return_btn != 4)
+ g_num += ee.goods_num;
+ });
+ data[ind]['g_num'] = g_num;
+ })
- data[ind]['order_goods'] = goodslist;
- var g_num = 0;
- goodslist.forEach(function (ee, ii) {
- if (ee.return_btn != 4)
- g_num += ee.goods_num;
- });
- data[ind]['g_num'] = g_num;
- })
+ data[ind].use_commission = 0;
+ //-- 如果有数据的话 --
+ await getApp().request.promiseGet("/api/weshop/orderMore/get/" + os.stoid + "/" + item.order_sn, {
- data[ind].use_commission=0;
- //-- 如果有数据的话 --
- await getApp().request.promiseGet("/api/weshop/orderMore/get/"+os.stoid + "/"+item.order_sn, {
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data) {
+ data[ind].use_commission = res.data.data.use_commission;
+ }
+ })
- }).then(res=>{
- if(res.data.code == 0 && res.data.data){
- data[ind].use_commission=res.data.data.use_commission;
- }
- })
+ th.setData({ orderList: data, });
- th.setData({orderList: data,});
+ });
- });
+ e.data.currentPage++,
+ wx.stopPullDownRefresh();
+ }, null, { store_id: os.stoid, user_id: oo.user_id });
+ },
- e.data.currentPage++ ,
- wx.stopPullDownRefresh();
- }, null, {store_id: os.stoid, user_id: oo.user_id});
- },
-
//滑倒底部
- onReachBottom: function() {
- if(this.data.currentIndex == 0) {
- if (s.data.goodsLoadFinishFlag) {
- this.setData({
- iscodeall: 1
- })
- }
- s.canloadMore() && this.requestOrderList(this.data.activeCategoryId);
- } else {
- if(this.data.currentIndex == 1) {
- this.request_list({
- store_id: os.stoid,
- user_id: oo.user_id,
- page: this.data.currentPage2,
- });
- } else { // 卡项订单
- this.request_list({
- store_id: os.stoid,
- user_id: oo.user_id,
- page: this.data.currentPage2,
- });
- }
-
- }
+ onReachBottom: function () {
+ if (this.data.currentIndex == 0) {
+ if (s.data.goodsLoadFinishFlag) {
+ this.setData({
+ iscodeall: 1
+ })
+ }
+ s.canloadMore() && this.requestOrderList(this.data.activeCategoryId);
+ } else {
+ if (this.data.currentIndex == 1) {
+ this.request_list({
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ page: this.data.currentPage2,
+ });
+ } else { // 卡项订单
+ this.request_list({
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ page: this.data.currentPage2,
+ });
+ }
+
+ }
},
-
- onPullDownRefresh: function(t) {
- // sty取消
+
+ onPullDownRefresh: function (t) {
+ // sty取消
// this.resetData(), this.requestOrderList(this.data.activeCategoryId);
},
/*-----------取消订单-----------*/
- cancelOrder: function(t) {
+ cancelOrder: function (t) {
var e = this,
a = t.currentTarget.dataset.id,
th = this;
@@ -433,7 +408,7 @@ Page({
var is_skill = 0;
var order_goods = order.order_goods;
//--判断是不是秒杀--
- order_goods.forEach(function(val, ind) {
+ order_goods.forEach(function (val, ind) {
if (val.prom_type == 1) {
is_skill = 1;
return false;
@@ -442,13 +417,13 @@ Page({
wx.showModal({
title: "是否取消订单?",
- success: function(t) {
+ success: function (t) {
//如果是秒杀和拼单的商品,取消订单要返回redis,并取消订单
if (t.confirm) {
//if(is_skill==1 || is_zsorder>=2){
- getApp().request.post("/api/weshop/order/cancelOrder/"+os.stoid+"/"+a+"/"+getApp().globalData.user_id, {
+ getApp().request.post("/api/weshop/order/cancelOrder/" + os.stoid + "/" + a + "/" + getApp().globalData.user_id, {
data: {},
- success: function(t) {
+ success: function (t) {
if (t.data.code == 0) {
0 == e.data.activeCategoryId ?
(e.resetData(), e.requestOrderList(e.data.activeCategoryId)) : e.deleteOrderData2(a);
@@ -463,42 +438,42 @@ Page({
},
/*-----------确认收货-----------*/
- confirmOrder: function(t) {
- var e = this,a = t.currentTarget.dataset.id;
+ confirmOrder: function (t) {
+ var e = this, a = t.currentTarget.dataset.id;
var is_zsorder = t.currentTarget.dataset.zsorder;
var th = this;
wx.showModal({
title: "是否确认收货?",
- success: function(t) {
- t.confirm && rq.post("/api/weshop/order/confirmOrder/"+os.stoid+"/"+a+"/"+getApp().globalData.user_id,{
- success:function (e) {
- if(e.data.code==0){
- th.deleteOrderData2(a);
- getApp().confirmBox( "确认收货成功!");
- }
+ success: function (t) {
+ t.confirm && rq.post("/api/weshop/order/confirmOrder/" + os.stoid + "/" + a + "/" + getApp().globalData.user_id, {
+ success: function (e) {
+ if (e.data.code == 0) {
+ th.deleteOrderData2(a);
+ getApp().confirmBox("确认收货成功!");
}
- })
+ }
+ })
}
});
},
//-----删除订单-----
- deleteOrderData: function(t) {
+ deleteOrderData: function (t) {
var th = this;
var order_id = t.currentTarget.dataset.order_id;
var index = t.currentTarget.dataset.index;
- var up_data={order_id: order_id,isdel:1};
- var order=th.data.orderList[index];
- if(order.order_status!=6){
- up_data.order_status=5;
- }
+ var up_data = { order_id: order_id, isdel: 1 };
+ var order = th.data.orderList[index];
+ if (order.order_status != 6) {
+ up_data.order_status = 5;
+ }
wx.showModal({
title: "是否删除订单?",
- success: function(tt) {
+ success: function (tt) {
tt.confirm && rq.put("/api/weshop/order/updatebyId", {
data: up_data,
- success: function(t) {
+ success: function (t) {
for (var e = 0; e < th.data.orderList.length; e++)
if (th.data.orderList[e].order_id == order_id) {
th.data.orderList.splice(e, 1), th.setData({
@@ -513,47 +488,47 @@ Page({
},
//-----删除订单(完成和带评价的)-----
- deleteOrderData_: function(t) {
- var th = this;
- var order_id = t.currentTarget.dataset.order_id;
- var index = t.currentTarget.dataset.index;
- var up_data={order_id: order_id,isdel:1};
+ deleteOrderData_: function (t) {
+ var th = this;
+ var order_id = t.currentTarget.dataset.order_id;
+ var index = t.currentTarget.dataset.index;
+ var up_data = { order_id: order_id, isdel: 1 };
- wx.showModal({
- title: "是否删除订单?",
- success: function(tt) {
- tt.confirm && rq.put("/api/weshop/order/updatebyId", {
- data: up_data,
- success: function(t) {
- for (var e = 0; e < th.data.orderList.length; e++)
- if (th.data.orderList[e].order_id == order_id) {
- th.data.orderList.splice(e, 1), th.setData({
- orderList: th.data.orderList
- });
- break;
- }
- }
- })
- }
- });
- },
+ wx.showModal({
+ title: "是否删除订单?",
+ success: function (tt) {
+ tt.confirm && rq.put("/api/weshop/order/updatebyId", {
+ data: up_data,
+ success: function (t) {
+ for (var e = 0; e < th.data.orderList.length; e++)
+ if (th.data.orderList[e].order_id == order_id) {
+ th.data.orderList.splice(e, 1), th.setData({
+ orderList: th.data.orderList
+ });
+ break;
+ }
+ }
+ })
+ }
+ });
+ },
//-----删除订单-----
- deleteSerOrderData: function(t) {
+ deleteSerOrderData: function (t) {
var th = this;
var order_id = t.currentTarget.dataset.orderid;
let order_sn = t.currentTarget.dataset.ordersn;
var index = t.currentTarget.dataset.index;
- // var up_data={order_id: order_id,isdel:1};
- // var order=th.data.orderList[index];
- // if(order.order_status!=6){
- // up_data.order_status=5;
- // }
+ // var up_data={order_id: order_id,isdel:1};
+ // var order=th.data.orderList[index];
+ // if(order.order_status!=6){
+ // up_data.order_status=5;
+ // }
wx.showModal({
title: "是否删除订单?",
- success: function(tt) {
+ success: function (tt) {
tt.confirm && rq.put("/api/weshop/recharge/update", {
data: {
store_id: os.stoid,
@@ -561,9 +536,9 @@ Page({
order_sn: order_sn,
order_status: 5,
},
- success: function(t) {
+ success: function (t) {
let cardList = th.data.cardList
- cardList.splice(index,1)
+ cardList.splice(index, 1)
th.setData({
cardList
})
@@ -580,7 +555,7 @@ Page({
});
},
- deleteOrderData2: function(order_id) {
+ deleteOrderData2: function (order_id) {
var th = this;
for (var e = 0; e < th.data.orderList.length; e++)
if (th.data.orderList[e].order_id == order_id) {
@@ -592,7 +567,7 @@ Page({
},
//---判断是不是有退款-----
- checkReturnGoodsStatus: function(t) {
+ checkReturnGoodsStatus: function (t) {
var e = t.currentTarget.dataset.recid;
var oid = t.currentTarget.dataset.oid;
r.get("/api/weshop/order/returngoods/page", {
@@ -601,7 +576,7 @@ Page({
order_id: oid,
store_id: os.stoid
},
- success: function(t) {
+ success: function (t) {
if (t.data.code == 0) {
var r = t.data.data.total;
if (0 == r) return wx.navigateTo({
@@ -621,668 +596,661 @@ Page({
}
});
},
- /*----------跳转支付-----------*/
- async jumpToCart4(t) {
-
- if(this.data.paying) return false;
- //this.setData({paying:1});
- var o_index = t.currentTarget.dataset.idx;
- var txt="paying["+o_index+"]";
- this.setData({[txt]:1});
-
-
- var e = this.data.orderList[o_index];
- var th = this;
- var order = e;
- var order_goods = e.order_goods;
- var user_id=getApp().globalData.userInfo.user_id;
-
- // 幸运购检查库存量 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;
- }
-
- });
+ /*----------跳转支付-----------*/
+ async jumpToCart4(t) {
- if (knum <= 0) {
- getApp().confirmBox("库存为0,支付失败");
- th.setData({paying:0});
- return false;
- }
+ if (this.data.paying) return false;
+ // this.setData({ paying: 1 });
+ var o_index = t.currentTarget.dataset.idx;
+ var txt="paying["+o_index+"]";
+ this.setData({[txt]:1});
+ var e = this.data.orderList[o_index];
+ var th = this;
+ var order = e;
+ var order_goods = e.order_goods;
+ var user_id = getApp().globalData.userInfo.user_id;
+
+ // 幸运购检查库存量 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;
}
- var wlist = "";
- 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;
- })
- 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;
- })
+ if (knum <= 0) {
+ getApp().confirmBox("库存为0,支付失败");
+ th.setData({ paying: 0 });
+ return false;
+ }
- 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;
- await getApp().request.promiseGet(url, {}).then(res => {
- if (res.data.code == 0 && 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;
- }
+ var wlist = "";
+ for (var i in order_goods) {
+ var good = order_goods[i];
- })
- if (!isok) {
- 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 (!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;
+ })
+ 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;
}
-
- //如果是预售的时候,
- 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
- }
- })
+ } else {
+ //未找到商品的活动
+ isok = 0;
+ }
- if(presellList){
+ })
+ if (!isok) {
+ var content = gg.goods_name + '活动已经结束,请取消订单';
+ th.toast(content);
+ th.setData({ paying: 0 });
+ return false;
+ }
+ //增加组合购次数判断
+ let userbuynum = await th.getUserBuyPromNum(good.prom_id)
+ if (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;
+ }
+ })
- 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 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;
+ }
+ })
-
- //如果优惠促销和搭配购的时候
- if ((good.prom_type == 3 || good.prom_type == 5) && good.is_gift != 1 && good.is_collocation != 1) {
- var p_ok = 1,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) {
- debugger
- 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 || item.prom_type==5){
- is_g_prom=1; break;
- }
- }
- }
- })
-
-
- if(is_g_prom){
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0"+"/"+getApp().globalData.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 {
-
- var content = good.goods_name + '未找到活动,请取消订单重新购买'
- th.toast(content);
- p_ok = 0;
- }
- })
- }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.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 {
-
- var content = good.goods_name + '未找到活动,请取消订单重新购买'
- th.toast(content);
- p_ok = 0;
- }
- })
+ 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) {
+ 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;
+ }
+ }
+ }
- if (!p_ok){
- th.setData({paying:0});
- return false;
- }
+ //如果优惠促销和搭配购的时候
+ if ((good.prom_type == 3 || good.prom_type == 5) && good.is_gift != 1 && good.is_collocation != 1) {
+ var p_ok = 1, 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 + "/0" + "/" + getApp().globalData.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 ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8)
- && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) {
- if (gg.prom_type != good.prom_type && gg.prom_type>0) {
- var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
- th.toast(content);
- th.setData({paying:0});
- return false;
- }
+ var content = good.goods_name + '未找到活动,请取消订单重新购买'
+ th.toast(content);
+ p_ok = 0;
+ }
+ })
+ } 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.collocationPromList && good.prom_type == 5) {
- } else {
-
-
- if ((gg.prom_type == 1 || good.prom_type == 2 || gg.prom_type == 3 || gg.prom_type == 5 || gg.prom_type == 6 || gg.prom_type == 4)
- && !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;
- }
- })
- }
+ var content = good.goods_name + '未找到活动,请取消订单重新购买';
+ th.toast(content)
- if (gg.prom_type == 4) {
- await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1", {
- data: {store_id: os.stoid, goods_id: gg.goods_id}
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.pageData) {
- prom = res.data.data.pageData[0];
- }
- })
- }
+ p_ok = 0;
+ }
+ if (!r_data.promGoodsLists && good.prom_type == 3) {
- if (prom) {
- var t_now = ut.gettimestamp();
- if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now) {
+ var content = good.goods_name + '未找到活动,请取消订单重新购买';
+ th.toast(content);
+ p_ok = 0;
+ }
+ } else {
- var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
- th.toast(content);
- th.setData({paying:0});
- return false;
- }
- }
- }
- else {
- if (!good.is_gift && good.prom_type != 3 && !good.is_collocation) {
- var t_ok = 1;
- await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0"+"/"+getApp().globalData.user_id, {}).then(res => {
- 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 content = good.goods_name + '未找到活动,请取消订单重新购买'
+ th.toast(content);
+ p_ok = 0;
+ }
+ })
-
- //赠品和搭配购不判断商品金额
- var isok = 1;
- var card_field = th.data.card_field;
+ }
+ if (!p_ok) {
+ th.setData({ paying: 0 });
+ return false;
+ }
+ }
- //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 --
- if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) {
- 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; //如果线下价格比较贵,则不通过
+ //商品的普通购买 ,不要进行判断
+ if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8)
+ && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) {
+ if (gg.prom_type != good.prom_type && gg.prom_type > 0) {
+ var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
+ th.toast(content);
+ th.setData({ paying: 0 });
+ return false;
+ }
- } 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; //如果线下价格比较贵,则不通过
- }
- var is_h = 0;
- if (!isok) {
+ } else {
+ if ((gg.prom_type == 1 || good.prom_type == 2 || gg.prom_type == 3 || gg.prom_type == 5 || gg.prom_type == 6 || gg.prom_type == 4)
+ && !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;
+ }
+ })
+ }
- var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1'
- th.toast(content);
- th.setData({paying:0});
- return false;
- }
- }
+ 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 (th.data.conf.sales_rules >= 2 && !gg.whsle_id) {
- 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.goods_num > store_count) {
+ 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;
+ }
+ })
+ }
- var content = gg.goods_name + '商品的库存不足,请取消订单';
- th.toast(content);
- th.setData({paying:0});
- return false;
- }
+ if (gg.prom_type == 4) {
+ await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1", {
+ data: { store_id: os.stoid, goods_id: gg.goods_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 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;
- }
- })
+ var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
+ th.toast(content);
+ th.setData({ paying: 0 });
+ return false;
}
-
- 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", {
- data: {store_id: os.stoid, goods_id: goodsinfo.goods_id}
- }).then(res => {
- if (res.data.code == 0 && res.data.data && res.data.data.pageData) {
- prom = res.data.data.pageData[0];
- }
- })
+ }
+ }
+ else {
+ if (!good.is_gift && good.prom_type != 3) {
+ var t_ok = 1;
+ await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0" + "/" + getApp().globalData.user_id, {}).then(res => {
+ 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) {
+ 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; //如果线下价格比较贵,则不通过
+ }
+ var is_h = 0;
+ if (!isok) {
- //----------如果有活动,并且在进行中,就不计算线下库存---------------
- if (prom) {
- 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;
- }
+ var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1'
+ 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) {
+ //--如果是线下库存的时候--
+ if (th.data.conf.sales_rules >= 2 && !gg.whsle_id) {
+ 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 = goodsinfo.goods_name + '购买数量超出商品活动限购,请取消订单'
- th.toast(content);
- th.setData({paying:0});
- return false;
- }
+ var content = gg.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 store_count) {
+
+ var content = gg.goods_name + '商品的库存不足,请取消订单';
+ th.toast(content);
+ th.setData({ paying: 0 });
+ return false;
+ }
- }
}
+ }
- //-- 要判断一下线下取价价格是不是发生改变 --
- if (wlist != "" && th.data.is_open_offline && th.data.is_open_offline > 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;
- }
- }
+ //---如果是活动的时候---
+ 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", {
+ data: { store_id: os.stoid, goods_id: goodsinfo.goods_id }
+ }).then(res => {
+ if (res.data.code == 0 && res.data.data && res.data.data.pageData) {
+ prom = res.data.data.pageData[0];
+ }
+ })
+ }
+
+ //----------如果有活动,并且在进行中,就不计算线下库存---------------
+ if (prom) {
+ 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;
}
- th.pay_next(e, o_index);
- },
-
-
- pay_next(e,o_index){
- var th=this;
- if (e.order_amount == 0) {
- var dd = {
- parent_sn: e.order_sn,
- store_id: e.store_id,
- type: 1,
- };
- getApp().request.post("/api/weshop/order/pay/createOrder", {
- data: dd,
- success: function(t) {
- th.setData({paying:0});
- if (t.data.code == 0) {
- th.onload();
- } else {
- getApp().confirmBox(t.data.msg + "请您取消该订单");
- }
- }
- })
-
- return false;
- }
-
- /*---
- a.jumpToCart4({
- order_sn: e.order_sn,
- order_amount: e.order_amount,
- type: 1 //正常单
- });--*/
-
- t.pay(e.order_sn, function() {
- th.setData({paying:0});
- wx.showToast({title: '支付成功'})
- th.data.orderList.splice(o_index,1);
- th.setData({orderList:th.data.orderList});
- },function () {
- th.setData({paying:0});
- },os.stoid,1);
+ 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;
+ }
+ }
- },
-
- //---检验线下库存的数量的子函数---
- async check_down_line_next(gg,num,pick_id,func){
-
- var lock=0,pick_no,plist;
- var log_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:log_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;
- }
- })
+ }
+
+ //-- 要判断一下线下取价价格是不是发生改变 --
+ if (wlist != "" && th.data.is_open_offline && th.data.is_open_offline > 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.pay_next(e, o_index);
+ },
+
+
+ pay_next(e, o_index) {
+ var th = this;
+ if (e.order_amount == 0) {
+ var dd = {
+ parent_sn: e.order_sn,
+ store_id: e.store_id,
+ type: 1,
+ };
+ getApp().request.post("/api/weshop/order/pay/createOrder", {
+ data: dd,
+ success: function (t) {
+ th.setData({ paying: 0 });
+ if (t.data.code == 0) {
+ th.onload();
+ } else {
+ getApp().confirmBox(t.data.msg + "请您取消该订单");
+ }
+ }
+ })
+
+ return false;
+ }
+
+ /*---
+ a.jumpToCart4({
+ order_sn: e.order_sn,
+ order_amount: e.order_amount,
+ type: 1 //正常单
+ });--*/
+
+ t.pay(e.order_sn, function () {
+ th.setData({ paying: 0 });
+ wx.showToast({ title: '支付成功' })
+ th.data.orderList.splice(o_index, 1);
+ th.setData({ orderList: th.data.orderList });
+ }, function () {
+ th.setData({ paying: 0 });
+ }, os.stoid, 1);
- 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
+
+ },
+
+ //---检验线下库存的数量的子函数---
+ async check_down_line_next(gg, num, pick_id, func) {
+
+ var lock = 0, pick_no, plist;
+ var log_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: log_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)
+ },
- //读取线下的门店库存
- 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)
- },
-
//------图片失败,默认图片---------
- bind_bnerr: function(e) {
+ bind_bnerr: function (e) {
var _errImg = e.currentTarget.dataset.errorimg;
var _errObj = {};
_errObj[_errImg] = "public/images/default_goods_image_240.gif";
@@ -1290,7 +1258,7 @@ Page({
},
//--------跳转到退款详情-----------
- gotoreturn: function(t) {
+ gotoreturn: function (t) {
var e = t.currentTarget.dataset.recid;
var oid = t.currentTarget.dataset.oid;
var wh = "";
@@ -1303,7 +1271,7 @@ Page({
},
//-----支付尾款------
- pay_wk: function(ee) {
+ pay_wk: function (ee) {
console.log("pay_wk");
var order_id = ee.currentTarget.dataset.order_id;
wx.navigateTo({
@@ -1313,7 +1281,7 @@ Page({
},
//--判断是不是可以单个商品退--
- check_for_return_btn: function(item) {
+ 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
@@ -1342,14 +1310,14 @@ Page({
return false;
},
//跳到首页
- goto: function(e) {
+ goto: function (e) {
wx.navigateTo({
url: '/pages/index/index/index',
})
},
//显示核销码
- code_show: function(e) {
+ code_show: function (e) {
var th = this;
//--获取成功的时候--
var no = e.currentTarget.dataset.order_sn;
@@ -1360,1382 +1328,1397 @@ Page({
};
qc_com.open(obj)
},
-
+
//再来一单的功能的实现
- moreOrder:function(e){
+ moreOrder: function (e) {
- if(this.data.moring) return false;
- this.data.moring=1;
+ if (this.data.moring) return false;
+ this.data.moring = 1;
- var th=this;
- var index=e.currentTarget.dataset.index;
- var item=th.data.orderList[index];
- th.check_more_order(item);
+ var th = this;
+ var index = e.currentTarget.dataset.index;
+ var item = th.data.orderList[index];
+ th.check_more_order(item);
},
- check_more_order:async function(item){
- var pickup=null,th=this;
- var user_id=getApp().globalData.user_id;
- wx.showLoading();
- //--------获取门店-----------
- await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, {
+ check_more_order: async function (item) {
+ var pickup = null, th = this;
+ var user_id = getApp().globalData.user_id;
+ wx.showLoading();
+ //--------获取门店-----------
+ await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, {
- }).then(res=>{
- if(res.data.code==0){
- pickup = res.data.data;
- }
- })
- if(!pickup){
- wx.hideLoading();
- getApp().confirmBox("找不到门店");
- this.data.moring=0;
- return false;
+ }).then(res => {
+ if (res.data.code == 0) {
+ 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", {})
+ // 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(pickup.isstop){
- wx.hideLoading();
- getApp().confirmBox("门店已停用");
- this.data.moring=0;
- return false;
+ //如果商品的配送方式和门店不匹配
+ 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;
+
+ 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];
+ }
- if(!pickup.is_pos){
- wx.hideLoading();
- getApp().confirmBox("门店不允许销售");
- this.data.moring=0;
- return false;
+ var url = "/api/weshop/activitylist/getGoodActInfo";
+ var req_data = {
+ store_id: g_item.store_id, goodsidlist: g_item.goods_id, is_detail: 1, user_id: user_id, timetype: 0
+ };
+ await getApp().request.promiseGet(url, { data: req_data }).then(res => {
+ if (res.data.code == 0) {
+ var list = res.data.data;
+ for (let i in list) {
+ let item = list[i];
+ if (item.prom_type == 1) { good.prom_type = 1; good.prom_id = item.act_id; }
+ }
}
- //--------获取商品----------
- 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 (!prom) {
+ //--判断商品当前的活动情况--
+ switch (good.prom_type) {
+ case 1:
+ var flash = null;
+ await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + getApp().globalData.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.user_price;
+ } else {
+ if (g_item.prom_type == 0 && !flash.is_shop_buy) {
+ err_text += g_item['goods_name'] + "秒杀活动不允许普通价\n";
+ continue;
+ }
+ }
+
}
- if(g_item['prom_type']==5){
- 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;
}
- if(g_item['prom_type']==6 ){
- err_text+= g_item['goods_name']+"拼团商品不加入购物车\n";
- continue;
+ 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) {
+ 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 = b_item.prom_id;
+
+ }
+ }
+ })
+ break;
+ case 10:
+ let user_id = getApp().globalData.userInfo.user_id;
+ 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;
+ }
+ }
+ })
+ }
- //--获取商品--
- 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", {})
- // 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 (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;
}
- if (good.is_on_sale != 1) {
- err_text+= g_item['goods_name']+"已经下架\n";
- continue;
+ }
+ 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 timestamp = ut.gettimestamp();
- if (good.on_time > timestamp) {
- err_text+= g_item['goods_name']+"还未上架\n";
- continue;
+ 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 (good.down_time > 0) {
- if (good.down_time < timestamp) {
- err_text+=g_item['goods_name']+"已经下架\n";
- continue;
- }
+ })
+
+ 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['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){
- err_text+= good['goods_name']+"配送方式不一致\n";
- continue;
+ //---- 要计算商品的限购 -----
+ 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;
+ })
+
- var prom=null;
-
- 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];
+ 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;
}
+ }
- var url="/api/weshop/activitylist/getGoodActInfo";
- var req_data={
- store_id:g_item.store_id,goodsidlist:g_item.goods_id,is_detail:1,user_id:user_id,timetype:0
- };
- await getApp().request.promiseGet(url, {data:req_data}).then(res=>{
- if(res.data.code==0){
- var list = res.data.data;
- for(let i in list){
- let item=list[i];
- if(item.prom_type==1){ good.prom_type=1; good.prom_id=item.act_id; }
- }
- }
- })
- if(!prom) {
- //--判断商品当前的活动情况--
- switch (good.prom_type) {
- case 1:
- var flash = null;
- await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + getApp().globalData.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.user_price;
- }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) {
- 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 = b_item.prom_id;
-
- }
- }
- })
- break;
- case 10:
- let user_id = getApp().globalData.userInfo.user_id;
- 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;
- }
+ }
+
+ //---要获得商品,该用户买了多少件,同步应用---
+ 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 + promgoodsbuynum);
+ if (b_item.goods_num > prom['buy_limit']) {
+ b_item.goods_num = prom['buy_limit'];
}
+ }
+ }
- //如果有优惠促销的时候,要看下商品的优惠活动有没有过期
- 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;
- }
- }
- })
- }
+ 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);
+ }
+ },
- //判断是不是线下库存的购买, 是不是秒杀活动
- if(th.data.sales_rules>=2 && !prom && !good.whsle_id){
+ 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;
+ }
- //-- 看一下购物车上有多少商品 --
- 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;
- })
+ 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;
+ }
- var lock=0,plist=null;
+ if (g_item.prom_type) {
+ newd['prom_type'] = g_item.prom_type;
+ newd['prom_id'] = g_item.prom_id;
+ }
- 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 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,
+ state: 0,
+ },
+ }).then(res => {
+ //-------如果购物车中有相关的数据-------
+ if (res.data.data.total > 0) {
+ b_cart_goods = res.data.data.pageData[0];
+ }
+ })
+
+ //-- 如果就加入过购物车 --
+ if (b_cart_goods) {
+ var updata = {
+ id: b_cart_goods.id,
+ goods_num: newd.goods_num + b_cart_goods.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;
+ }
+ if (newd.prom_type) {
+ updata.prom_type = newd.prom_type;
+ updata.prom_id = newd.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;
- }
- }
- })
+ 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";
+ }
+ })
- //---- 要计算商品的限购 -----
- 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'];
- }
- }
- //不需要计算组合购的限购
+ } 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");
+ }
+ }
+ });
+
+ }
+ }
+ },
+ //获取用户参与组合购的次数
+ 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
+ },
- back_goods_arr.push(b_item); //返回商品元素
- }else{
+ request_list: function (data, callback) {
+ // console.log('进入request_list');
- //-- 看一下购物车上有多少商品 --
- 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;
- })
+ var th = this;
+ if (this.data.is_load2) return false; //-- 正在加载
+ if (this.data.is_no_data2) return false; //-- 没有数据
+ if (this.data.is_no_more2) return false; //-- 没有更多
+
+ // 开启加载状态
+ this.data.is_load2 = 1;
+
+ // var req_data = {
+ // page:th.data.currentPage2
+ // }
+ let currentIndex = this.data.currentIndex;
+ let url = '';
+ if (currentIndex == 1) {
+ url = '/api/weshop/order/pagePosOrder';
+ };
+ if (currentIndex == 2) {
+ url = '/api/weshop/recharge/user/page';
+ };
+ app.request.promiseGet(url, {
+ data: data
+ }).then(res => {
+ // 关闭加载状态
+ th.data.is_load2 = 0;
+ // 请求成功
+ if (res.data.code == 0) {
+ if (res.data.data.pageData.length > 0) {
+ th.data.currentPage2++;
+ var data = res.data.data.pageData;
+ // 判断有无更多数据可以加载,如果大于则没有更多数据,反之则有
+ if (res.data.data.page * res.data.data.pageSize > res.data.data.total) { th.setData({ is_no_more2: 1 }); }
+ let list = [];
+
+ if (currentIndex == 1) {
+ list = th.data.list2;
+ list = list.concat(data);
+ th.setData({ list2: list });
+ };
+ if (currentIndex == 2) { // 卡项订单
+ list = th.data.cardList;
+ list = list.concat(data);
+ th.setData({ cardList: list });
+ console.log('currentCard', list);
+ };
+
+ } else {
+ if (th.data.currentPage2 == 1) {
+ th.setData({ is_no_data2: 1 });
+ } else {
+ th.setData({ is_no_more2: 1 });
+ }
+ }
+ if (callback) callback(res);
+ } else {
+ // wx.showToast({
+ // title: res.data.msg,
+ // icon: 'none',
+ // duration: 2000
+ // })
+ }
+ })
+ },
- 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库存
+ onClickTab(e) {
+ let currentIndex = e.target.dataset.index;
+ this.setData({
+ currentIndex: currentIndex
+ });
- var req_data={
- store_id: os.stoid,
- user_id: getApp().globalData.user_id,
- goods_id: good.goods_id,
- };
+ this.setData({
+ is_no_data2: 0,
+ is_no_more2: 0,
+ currentPage2: 1,
+ });
+ if (currentIndex == 0) {
+ console.log('线上订单');
+ /*---
+ this.setData({
+ startDate: '选择开始时间',
+ endDate: '选择结束时间',
+ });--*/
+ };
+ if (currentIndex == 1) {
+ console.log('线下订单');
+ this.request_list({
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ page: 1,
+ BeginDate: this.data.startDate,
+ EndDate: this.data.endDate
+ });
+ };
+ if (currentIndex == 2) {
+ console.log('卡项订单');
+ // this.setData({
+ // orderList: null,
+ // });
+ // 默认请求全部卡项订单
+ this.request_list({
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ });
+ // let url = '/api/weshop/recharge/user/page';
+ // let data = {
+ // store_id: os.stoid,
+ // user_id: oo.user_id,
+ // };
+ // app.promiseGet(url, {
+ // data: data,
+ // }).then(res => {
+ // if(res.data.code == 0) {
+ // console.log('卡项订单请求成功', res);
+ // this.setData({
+ // orderList: res.data.data.pageData,
+ // });
+ // } else {
+ // throw(res);
+ // };
+ // }).catch(err => {
+ // console.log('卡项订单请求失败', err);
+ // this.setData({
+ // orderList: null,
+ // });
+ // wx.showToast({
+ // title: err.data.data,
+ // icon: 'error',
+ // });
+ // });
+ };
+ },
- 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;
- }
- }
+ bindDateChange1: function (e) {
+ console.log('picker发送选择改变,携带值为', e.detail.value)
+ this.setData({
+ startDate: e.detail.value
+ })
+ },
- }
+ bindDateChange2: function (e) {
+ console.log('picker发送选择改变,携带值为', e.detail.value)
+ this.setData({
+ endDate: e.detail.value
+ })
+ },
- //---要获得商品,该用户买了多少件,同步应用---
- 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;
- }
- })
+ bindInput(e) {
+ this.data.searchContent = e.detail.value;
+ },
- //---- 要计算商品的限购 -----
- 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'];
- }
+ searchOnline() {
+ let currentIndex = this.data.currentIndex;
+ // console.log('online',this.data.searchContent, currentIndex);
+ if (this.data.searchContent) {
+ console.log(this.data.searchContent);
+ if (currentIndex == 0) {
+ this.resetData(), this.requestOrderList(this.data.activeCategoryId);
+ };
+ if (currentIndex == 2) { // 卡项订单
+ let url = '/api/weshop/recharge/user/page';
+ let data = {
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ keyWord: this.data.searchContent,
+ };
+ this.setData({
+ tabIndex: 0,
+ });
+ // 请求数据
+ app.promiseGet(url, {
+ data: data,
+ }).then(res => {
+ if (res.data.code == 0) {
+ // console.log('卡项订单请求成功', res);
+ this.setData({
+ cardList: res.data.data.pageData,
+ });
+ } else {
+ throw (res);
+ };
+ }).catch(err => {
+ // console.log('卡项订单请求失败', err);
+ this.setData({
+ cardList: [],
+ is_no_data2: 0,
+ is_no_more2: 0,
+ });
+ // wx.showToast({
+ // title: '搜索失败',
+ // icon: 'none',
+ // });
+ });
+ };
+ } else {
+ wx.showToast({
+ title: '您还没有输入搜索内容~',
+ icon: 'none',
+ })
+ };
+ },
- }
+ searchOffline() {
+ console.log('执行查询');
+ let th = this;
+ let startDate = this.data.startDate;
+ let endDate = this.data.endDate;
+
+ // this.data.is_no_data2 = 0;
+ this.setData({
+ currentPage2: 1,
+ list2: [],
+ is_no_data2: 0,
+ is_no_more2:0
+ });
- //-- 判断活动的库存 --
- 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 (startDate == '选择开始时间' || endDate == '选择结束时间') {
+ wx.showToast({
+ title: '请选择完整的查询时间~',
+ icon: 'none',
+ })
+ };
- if (b_item.goods_num > redis_num) {
- b_item.goods_num = redis_num;
- }
+ if (new Date(startDate) > new Date(endDate)) {
+ wx.showToast({
+ title: '不对噢!开始时间不能晚于结束时间~',
+ icon: 'none',
+ })
+ return;
+ };
- if (prom['buy_limit'] > 0) {
- if (cart_num + promgoodsbuynum >= prom['buy_limit']) {
- err_text += good['goods_name'] + "超出活动限购\n";
- continue;
- }
- prom['buy_limit'] -= (cart_num + promgoodsbuynum);
- if (b_item.goods_num > prom['buy_limit']) {
- b_item.goods_num = prom['buy_limit'];
- }
- }
- }
+ this.request_list({
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ page: 1,
+ BeginDate: this.data.startDate,
+ EndDate: this.data.endDate
+ }, function (res) {
+ if (res.data.data.total == 0) {
+ wx.showToast({
+ title: '没有找到相关订单',
+ icon: 'none',
+ duration: 2000
+ })
+ } else {
+ th.setData({
+ total: res.data.data.total
+ });
+ }
+ });
+ },
- back_goods_arr.push(b_item); //返回商品元素
- }
- }
+ currentDate() {
+ var now = new Date();
+ var year = now.getFullYear(); //年
+ var month = now.getMonth() + 1; //月
+ var day = now.getDate(); //日
+
+ var clock = year + "-";
+
+ if (month < 10) month += "0";
+ clock += month + "-";
+
+ if (day < 10) day += "0";
+ clock += day;
- //有重新购买的数据是时候,就要重新生成订单
- if(back_goods_arr.length>0){
- th.setData({back_goods_arr:back_goods_arr});
- if(!err_text){
- th.more_add_cart();
- }else{
- wx.hideLoading();
- // 如果没有获取用户信息
+ // if(hh < 10)
+ // clock += "0";
+
+ // clock += hh + ":";
+ // if (mm < 10) clock += '0';
+ // clock += mm + ":";
+
+ // if (ss < 10) clock += '0';
+ // clock += ss;
+ return clock;
+ },
+
+ toast(msg) {
+ wx.showToast({
+ title: msg,
+ icon: 'none',
+ duration: 3000
+ })
+ },
+
+ go_url(e) {
+ var url = e.currentTarget.dataset.url;
+ getApp().goto(url);
+ },
+
+ // 点击卡项订单二级tabbar
+ clickTab(e) {
+ // console.log('服务卡项index', e.target.dataset.index);
+ let currentIndex = 0;
+ if (e) {
+ currentIndex = e.target.dataset.index;
+ } else {
+ currentIndex = this.data.tabIndex
+ };
+
+ // let || this.data.tabIndex;
+
+ let url = '/api/weshop/recharge/user/page';
+ let data = {
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ };
+ this.setData({
+ tabIndex: currentIndex,
+ is_no_data2: 0,
+ is_no_more2: 0,
+ cardList: [],
+ });
+
+
+ switch (currentIndex) {
+ case 0: { // 全部
+ delete data.order_status;
+ break;
+ };
+ case 1: { // 待支付
+ data.order_status = 0;
+ break;
+ };
+ case 2: { // 待评价
+ data.order_status = 1;
+ break;
+ };
+ };
+ // 请求数据
+ this.request_list(data);
+
+ // app.promiseGet(url, {
+ // data: data,
+ // }).then(res => {
+ // if(res.data.code == 0) {
+ // console.log('卡项订单请求成功', res);
+ // this.setData({
+ // orderList: res.data.data.pageData,
+ // });
+ // } else {
+ // throw(res);
+ // };
+ // }).catch(err => {
+ // console.log('卡项订单请求失败', err);
+ // this.setData({
+ // orderList: null,
+ // });
+ // wx.showToast({
+ // title: err.data.data,
+ // icon: 'error',
+ // });
+ // });
+ },
+
+ // 卡项订单 - 查看详情
+ viewDetails() {
+ let url = '/packageA/pages/details_serviceCard/details_serviceCard';
+ app.goto(url);
+ },
+
+ // 卡项订单 - 立即支付
+ pay: async function (e) {
+ let index = e.currentTarget.dataset.index;
+ let item = this.data.cardList[index];
+ let order_sn = item.order_sn;
+ let order_id = item.order_id;
+ let store_id = app.globalData.setting.stoid;
+ let user_id = oo.user_id;
+ let flag = true;
+
+
+ // 如果是普通购买或单独购买,不用判断
+ // 如果是秒杀购买:1、判断活动是否变化;2、是否超出限购
+
+ let list = item.list;
+ for (const it of list) {
+ if (it.prom_type == 1) {
+ let act_details = null;
+ let redis_num = 0;
+ let promcardbuynum = 0;
+ let qty = it.qty;
+
+
+ await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + store_id + '/' + user_id + '/' + it.prom_id, {}).then(res => {
+ console.log('11111111====>>>');
+ if (res.data.code == 0) {
+ console.log('当前的秒杀活动信息:', res.data.data);
+ act_details = res.data.data;
+ if (act_details.is_end == 1) {
+ wx.showModal({
+ title: '提示',
+ content: '活动已结束,无法支付,请取消订单!',
+ showCancel: false,
+ });
+ flag = false;
+ return false;
+ };
+ if (act_details.id != it.prom_id) {
+ wx.showModal({
+ title: '提示',
+ content: '活动发生了变化,无法支付,请取消订单,重新购买!',
+ showCancel: false,
+ });
+ flag = false;
+ return false;
+ };
+ };
+ });
+
+ await getApp().request.promiseGet('/api/weshop/activitylist/getActLen/' + store_id + '/' + it.prom_type + '/' + it.prom_id, {
+ 1: 1
+ }).then(res => {
+ console.log('222222222====>>>');
+ if (res.data.code == 0) {
+ // 当前可以购买的数量
+ console.log('redis当前可以购买的数量:', res.data.data);
+ redis_num = res.data.data;
+ // if(redis_num <=0) {
+ // wx.showModal({
+ // title: '提示',
+ // content: '活动库存不足,无法支付,请取消订单!',
+ // showCancel: false,
+ // });
+ // // flag = false;
+ // return true;
+ // };
+ };
+ });
+
+ await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
+ data: {
+ store_id: store_id,
+ user_id: user_id,
+ card_id: it.card_id,
+ prom_type: it.prom_type,
+ prom_id: it.prom_id,
+ }
+ }).then(res => {
+ console.log('333333333====>>>');
+ if (res.data.code == 0) {
+ console.log('已经购买的数量:', res.data.data);
+ promcardbuynum = res.data.data.promcardbuynum;
+
+
+ let limited = act_details.buy_limit; // 限购数量a
+ let buyedNum = promcardbuynum; // 自己已经购买的数量b
+ let canBuyNum = limited - buyedNum; // 自己还可购买的数量c
+
+
+ if (canBuyNum <= 0) {
+ wx.showModal({
+ title: '提示',
+ content: '您已超出活动限购数量,无法支付,请取消订单!',
+ showCancel: false,
+ });
+ flag = false;
+ return false;
+ };
+
+ if (limited > redis_num) {
+ if (canBuyNum <= redis_num) {
+ if (qty > canBuyNum) {
+ wx.showModal({
+ title: '提示',
+ content: '您已超出活动限购数量,无法支付,请取消订单!',
+ showCancel: false,
+ });
+ flag = false;
+ return false;
+ };
+
+ };
+
+ if (canBuyNum > redis_num) {
+ if (qty > redis_num) {
+ wx.showModal({
+ title: '提示',
+ content: '活动库存不足,无法支付,请取消订单!',
+ showCancel: false,
+ });
+ flag = false;
+ return false;
+ };
+
+ };
+ };
+
+ if (limited <= redis_num) {
+ if (qty > canBuyNum) {
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();
- }
+ title: '提示',
+ content: '您已超出活动限购数量,无法支付,请取消订单!',
+ showCancel: false,
});
+ flag = false;
+ return false;
+ };
+ };
+ };
+ });
+
+ };
+
+ };
+
+
+ if (flag) {
+ await app.request.promisePost('/api/weshop/order/pay/createRechargeOrder', {
+ data: {
+ parentSn: order_sn,
+ store_id: store_id,
+ },
+ }).then(res => {
+ // success: function(res) {
+ var n = res.data.data;
+ self.weixinPay(n, function () {
+ app.showWarning('支付成功');
+
+ }, function () {
+ app.showWarning('支付失败');
+ // setTimeout(function() {
+ // wx.reLaunch({
+ // url: '/packageA/pages/cardList/cardList',
+ // })
+ // }, 1000)
+ });
+ // }
+ });
+ };
+
+ },
+
+ //------调起支付框--------
+ weixinPay: function (n, success, fail) {
+ if (!n) return false;
+ // let order_id = item.order_id;
+
+ getApp().globalData.no_clear=1;
+
+ wx.requestPayment({
+ timeStamp: String(n.timeStamp),
+ nonceStr: n.nonceStr,
+ package: n.packageValue,
+ signType: n.signType,
+ paySign: n.paySign,
+ success: function (n) {
+ console.log(n), getApp().showSuccess("支付成功!");
+ "function" == typeof success && success();
+ wx.redirectTo({
+ url: "/pages/payment/pay_success/pay_success?card=1&order_id=" + order_id,
+ });
+ },
+ fail: function (n) {
+ console.log(n), "requestPayment:fail" == n.errMsg ? getApp().showWarning("支付失败") :
+ "requestPayment:fail cancel" == n.errMsg ? getApp().showWarning("您已取消支付") : getApp().showWarning("支付失败:" + n
+ .errMsg.substr("requestPayment:fail ".length)),
+ "function" == typeof fail && fail();
+ }
+ });
+ },
+
+ // 卡项订单 - 取消订单
+ // api/weshop/recharge/update?store_id=&order_id=&order_status=3
+ cancle(e) {
+ wx.showModal({
+ title: '提示',
+ content: '确定取消订单吗?',
+ success(res) {
+ if (res.confirm) {
+ console.log('取消订单~');
+ let order_id = e.currentTarget.dataset.orderid;
+ let order_sn = e.currentTarget.dataset.ordersn;
+ app.request.put('/api/weshop/recharge/update', {
+ data: {
+ store_id: os.stoid,
+ order_id: order_id,
+ order_sn: order_sn,
+ order_status: 3,
+ },
+ success: function (res) {
+ wx.showToast({
+ title: '取消成功',
+ success: function () {
+
+ // 这里还可以优化不刷新,后面有时间再优化
+ self.setData({
+ is_no_data2: 0,
+ is_no_more2: 0,
+ });
+
+ // 这里还可以优化不刷新,后面有时间再优化
+ self.clickTab(e);
+ },
+ });
+
+ // let index = e.currentTarget.dataset.index;
+ // let cardList = self.data.cardList;
+ // cardList.splice(index, 1);
+ // self.setData({
+ // cardList,
+ // });
+
+ //self.request_list(self.data.currentRequestData);
+ },
+ })
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ }
+ }
+ });
+ },
+
+
+ // 卡项订单 - 再来一单
+ addCart: function (t) {
+ var th = this;
+ var ind = t.currentTarget.dataset.openSpecModal_ind;
+ var action = t.currentTarget.dataset.action;
+ if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
+
+ th.setData({
+ open_ind_store: ind
+ });
+
+ if (!th.data.sto_sele_name) {
+ getApp().my_warnning('请选择门店', 1, th, 450);
+ return false;
+ }
+
+
+ if (action == "buy") {
+ //--------------此时操作的数据------------
+ var newd = {
+ id: th.data.data.id,
+ goods_num: th.data.goodsInputNum,
+ pick_id: th.data.sto_sele_id,
+ keyid: th.data.sto_sele_keyid,
+ };
+ newd['pick_name'] = th.data.sto_sele_name;
+ newd['guide_id'] = getApp().globalData.guide_id;
+ newd['guide_type'] = 0;
+ th.buyNow(newd);
+ } else {
+
+ var newd = {
+ service_id: th.data.data.id,
+ service_sn: th.data.data.service_sn,
+ service_name: th.data.data.goods_name,
+ goods_num: th.data.goodsInputNum,
+ pick_id: th.data.sto_sele_id,
+ user_id: oo.user_id,
+ store_id: os.stoid,
+ money: th.data.data.shop_price
+ };
+ if (getApp().globalData.guide_id) {
+ newd['guide_id'] = getApp().globalData.guide_id;
+ newd['guide_type'] = 0;
+ }
+
+ //----先看会员在购物车中是否加入了该商品-----
+ getApp().request.get("/api/weshop/cartService/page", {
+ data: {
+ store_id: os.stoid,
+ user_id: oo.user_id,
+ service_id: th.data.data.id,
+ pick_id: th.data.sto_sele_id,
+ },
+ success: function (re) {
+
+ //-------如果购物车中有相关的数据---------
+ if (re.data.data.total > 0) {
+ var item = re.data.data.pageData[0];
+ var updata = {
+ id: item.id,
+ goods_num: th.data.goodsInputNum + item.goods_num,
+ money: th.data.data.shop_price,
+ store_id: os.stoid,
+ };
+
+ if (getApp().globalData.guide_id) {
+ updata['guide_id'] = getApp().globalData.guide_id;
+ updata['guide_type'] = 1;
}
- }else{
- th.data.moring=0;
- wx.hideLoading();
- getApp().confirmBox(err_text);
+ getApp().request.put("/api/weshop/cartService/update", {
+ data: updata,
+ success: function (t) {
+ getApp().my_warnning('加入购物车成功', 1, th, 450);
+ var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
+ th.setData({
+ cartGoodsNum: c_num
+ });
+ th.closeSpecModal();
+ }
+ });
+ } else {
+
+ getApp().request.post("/api/weshop/cartService/save", {
+ data: newd,
+ success: function (t) {
+ getApp().my_warnning('加入购物车成功', 1, th, 450);
+ var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
+ th.setData({
+ cartGoodsNum: c_num
+ });
+ th.closeSpecModal();
+ }
+ });
+ }
}
- },
-
- 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){
- 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,
- state:0,
- },
- }).then(res=>{
- //-------如果购物车中有相关的数据-------
- if (res.data.data.total > 0) {
- b_cart_goods= res.data.data.pageData[0];
- }
- })
-
- //-- 如果就加入过购物车 --
- if(b_cart_goods){
- var updata = {
- id: b_cart_goods.id,
- goods_num: newd.goods_num + b_cart_goods.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;
- }
- if(newd.prom_type){
- updata.prom_type=newd.prom_type;
- updata.prom_id=newd.prom_id;
- }
-
- 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");
- }
- }
- });
-
- }
- }
+ });
+
+ }
},
-
- request_list: function(data, callback){
- // console.log('进入request_list');
-
- var th = this;
- if(this.data.is_load2) return false; //-- 正在加载
- if(this.data.is_no_data2) return false; //-- 没有数据
- if(this.data.is_no_more2) return false; //-- 没有更多
-
- // 开启加载状态
- this.data.is_load2=1;
-
- // var req_data = {
- // page:th.data.currentPage2
- // }
- let currentIndex = this.data.currentIndex;
- let url = '';
- if(currentIndex == 1) {
- url = '/api/weshop/order/pagePosOrder';
- };
- if(currentIndex == 2) {
- url = '/api/weshop/recharge/user/page';
- };
-
- app.request.promiseGet(url, {
- data: data
- }).then(res=>{
- // 关闭加载状态
- th.data.is_load2=0;
- // 请求成功
- if(res.data.code==0) {
- if(res.data.data.pageData.length>0) {
- th.data.currentPage2++;
- var data = res.data.data.pageData;
- // 判断有无更多数据可以加载,如果大于则没有更多数据,反之则有
- if(res.data.data.page*res.data.data.pageSize > res.data.data.total){th.setData({is_no_more2:1});}
- let list= [];
-
- if(currentIndex == 1) {
- list = list.concat(data);
- th.setData({list2:list});
- };
- if(currentIndex == 2) { // 卡项订单
- list = th.data.cardList;
- list = list.concat(data);
- th.setData({cardList:list});
- console.log('currentCard', list);
- };
-
- } else {
- if(th.data.currentPage2==1){
- th.setData({is_no_data2:1});
- } else {
- th.setData({is_no_more2:1});
- }
- }
- if(callback) callback(res);
- } else {
- // wx.showToast({
- // title: res.data.msg,
- // icon: 'none',
- // duration: 2000
- // })
- }
- })
- },
-
-
- onClickTab(e) {
- let currentIndex = e.target.dataset.index;
- this.setData({
- currentIndex: currentIndex
- });
-
- this.setData({
- is_no_data2: 0,
- is_no_more2: 0,
- currentPage2: 1,
- });
- if(currentIndex == 0) {
- console.log('线上订单');
- /*---
- this.setData({
- startDate: '选择开始时间',
- endDate: '选择结束时间',
- });--*/
- };
- if(currentIndex == 1) {
- console.log('线下订单');
- this.request_list({
- store_id: os.stoid,
- user_id: oo.user_id,
- page: 1,
- BeginDate: this.data.startDate,
- EndDate: this.data.endDate
- });
- };
- if(currentIndex == 2) {
- console.log('卡项订单');
- // this.setData({
- // orderList: null,
- // });
- // 默认请求全部卡项订单
- this.request_list({
- store_id: os.stoid,
- user_id: oo.user_id,
- });
- // let url = '/api/weshop/recharge/user/page';
- // let data = {
- // store_id: os.stoid,
- // user_id: oo.user_id,
- // };
- // app.promiseGet(url, {
- // data: data,
- // }).then(res => {
- // if(res.data.code == 0) {
- // console.log('卡项订单请求成功', res);
- // this.setData({
- // orderList: res.data.data.pageData,
- // });
- // } else {
- // throw(res);
- // };
- // }).catch(err => {
- // console.log('卡项订单请求失败', err);
- // this.setData({
- // orderList: null,
- // });
- // wx.showToast({
- // title: err.data.data,
- // icon: 'error',
- // });
- // });
- };
- },
-
- bindDateChange1: function(e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- this.setData({
- startDate: e.detail.value
- })
- },
-
- bindDateChange2: function(e) {
- console.log('picker发送选择改变,携带值为', e.detail.value)
- this.setData({
- endDate: e.detail.value
- })
- },
-
- bindInput(e) {
- this.data.searchContent = e.detail.value;
- },
-
- searchOnline() {
- let currentIndex = this.data.currentIndex;
- // console.log('online',this.data.searchContent, currentIndex);
- if(this.data.searchContent) {
- console.log(this.data.searchContent);
- if(currentIndex == 0) {
- this.resetData(), this.requestOrderList(this.data.activeCategoryId);
- };
- if(currentIndex == 2) { // 卡项订单
- let url = '/api/weshop/recharge/user/page';
- let data = {
- store_id: os.stoid,
- user_id: oo.user_id,
- keyWord: this.data.searchContent,
- };
- this.setData({
- tabIndex: 0,
- });
- // 请求数据
- app.promiseGet(url, {
- data: data,
- }).then(res => {
- if(res.data.code == 0) {
- // console.log('卡项订单请求成功', res);
- this.setData({
- cardList: res.data.data.pageData,
- });
- } else {
- throw(res);
- };
- }).catch(err => {
- // console.log('卡项订单请求失败', err);
- this.setData({
- cardList: [],
- is_no_data2: 0,
- is_no_more2: 0,
- });
- // wx.showToast({
- // title: '搜索失败',
- // icon: 'none',
- // });
- });
- };
- } else {
- wx.showToast({
- title: '您还没有输入搜索内容~',
- icon: 'none',
- })
- };
- },
-
- searchOffline() {
- console.log('执行查询');
- let th = this;
- let startDate = this.data.startDate;
- let endDate = this.data.endDate;
-
- // this.data.is_no_data2 = 0;
- this.setData({
- currentPage2: 1,
- list2: [],
- is_no_data2: 0,
- is_no_more2:0
- });
-
-
- if(startDate == '选择开始时间' || endDate == '选择结束时间') {
- wx.showToast({
- title: '请选择完整的查询时间~',
- icon: 'none',
- })
- };
-
- if(new Date(startDate) > new Date(endDate)) {
- wx.showToast({
- title: '不对噢!开始时间不能晚于结束时间~',
- icon: 'none',
- })
- return;
- };
-
-
- this.request_list({
- store_id: os.stoid,
- user_id: oo.user_id,
- page: 1,
- BeginDate: this.data.startDate,
- EndDate: this.data.endDate
- }, function(res) {
- if(res.data.data.total == 0) {
- wx.showToast({
- title: '没有找到相关订单',
- icon: 'none',
- duration: 2000
- })
- } else {
- th.setData({
- total: res.data.data.total
- });
- }
- });
- },
-
- currentDate() {
- var now = new Date();
- var year = now.getFullYear(); //年
- var month = now.getMonth() + 1; //月
- var day = now.getDate(); //日
-
- var clock = year + "-";
-
- if(month < 10) month += "0";
- clock += month + "-";
-
- if(day < 10) day += "0";
- clock += day;
-
- // if(hh < 10)
- // clock += "0";
-
- // clock += hh + ":";
- // if (mm < 10) clock += '0';
- // clock += mm + ":";
-
- // if (ss < 10) clock += '0';
- // clock += ss;
- return clock;
- },
-
- toast(msg){
- wx.showToast({
- title: msg,
- icon: 'none',
- duration: 3000
- })
- },
-
- go_url(e){
- var url=e.currentTarget.dataset.url;
- getApp().goto(url);
- },
-
- // 点击卡项订单二级tabbar
- clickTab(e) {
- // console.log('服务卡项index', e.target.dataset.index);
- let currentIndex = 0;
- if(e) {
- currentIndex = e.target.dataset.index;
- } else {
- currentIndex = this.data.tabIndex
- };
-
- // let || this.data.tabIndex;
-
- let url = '/api/weshop/recharge/user/page';
- let data = {
- store_id: os.stoid,
- user_id: oo.user_id,
- };
- this.setData({
- tabIndex: currentIndex,
- is_no_data2: 0,
- is_no_more2: 0,
- cardList: [],
- });
-
-
- switch(currentIndex) {
- case 0: { // 全部
- delete data.order_status;
- break;
- };
- case 1: { // 待支付
- data.order_status = 0;
- break;
- };
- case 2: { // 待评价
- data.order_status = 1;
- break;
- };
- };
- // 请求数据
- this.request_list(data);
-
- // app.promiseGet(url, {
- // data: data,
- // }).then(res => {
- // if(res.data.code == 0) {
- // console.log('卡项订单请求成功', res);
- // this.setData({
- // orderList: res.data.data.pageData,
- // });
- // } else {
- // throw(res);
- // };
- // }).catch(err => {
- // console.log('卡项订单请求失败', err);
- // this.setData({
- // orderList: null,
- // });
- // wx.showToast({
- // title: err.data.data,
- // icon: 'error',
- // });
- // });
- },
-
- // 卡项订单 - 查看详情
- viewDetails() {
- let url = '/packageA/pages/details_serviceCard/details_serviceCard';
- app.goto(url);
- },
-
- // 卡项订单 - 立即支付
- pay: async function(e) {
- let index = e.currentTarget.dataset.index;
- let item = this.data.cardList[index];
- let order_sn = item.order_sn;
- let order_id = item.order_id;
- let store_id = app.globalData.setting.stoid;
- let user_id = oo.user_id;
- let flag = true;
-
-
- // 如果是普通购买或单独购买,不用判断
- // 如果是秒杀购买:1、判断活动是否变化;2、是否超出限购
-
- let list = item.list;
- for(const it of list) {
- if(it.prom_type == 1) {
- let act_details = null;
- let redis_num = 0;
- let promcardbuynum = 0;
- let qty = it.qty;
-
-
- await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + store_id + '/' + user_id + '/' + it.prom_id, {}).then(res => {
- console.log('11111111====>>>');
- if(res.data.code == 0) {
- console.log('当前的秒杀活动信息:', res.data.data);
- act_details = res.data.data;
- if(act_details.is_end == 1) {
- wx.showModal({
- title: '提示',
- content: '活动已结束,无法支付,请取消订单!',
- showCancel: false,
- });
- flag = false;
- return false;
- };
- if(act_details.id != it.prom_id) {
- wx.showModal({
- title: '提示',
- content: '活动发生了变化,无法支付,请取消订单,重新购买!',
- showCancel: false,
- });
- flag = false;
- return false;
- };
- };
- });
-
- await getApp().request.promiseGet('/api/weshop/activitylist/getActLen/' + store_id + '/' + it.prom_type + '/' + it.prom_id, {
- 1: 1
- }).then(res => {
- console.log('222222222====>>>');
- if (res.data.code == 0) {
- // 当前可以购买的数量
- console.log('redis当前可以购买的数量:', res.data.data);
- redis_num = res.data.data;
- // if(redis_num <=0) {
- // wx.showModal({
- // title: '提示',
- // content: '活动库存不足,无法支付,请取消订单!',
- // showCancel: false,
- // });
- // // flag = false;
- // return true;
- // };
- };
- });
-
- await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
- data: {
- store_id: store_id,
- user_id: user_id,
- card_id: it.card_id,
- prom_type: it.prom_type,
- prom_id: it.prom_id,
- }
- }).then(res => {
- console.log('333333333====>>>');
- if (res.data.code == 0) {
- console.log('已经购买的数量:', res.data.data);
- promcardbuynum = res.data.data.promcardbuynum;
-
-
- let limited = act_details.buy_limit; // 限购数量a
- let buyedNum = promcardbuynum; // 自己已经购买的数量b
- let canBuyNum = limited - buyedNum; // 自己还可购买的数量c
-
-
- if(canBuyNum <= 0) {
- wx.showModal({
- title: '提示',
- content: '您已超出活动限购数量,无法支付,请取消订单!',
- showCancel: false,
- });
- flag = false;
- return false;
- };
-
- if(limited > redis_num) {
- if(canBuyNum <= redis_num) {
- if(qty > canBuyNum) {
- wx.showModal({
- title: '提示',
- content: '您已超出活动限购数量,无法支付,请取消订单!',
- showCancel: false,
- });
- flag = false;
- return false;
- };
-
- };
-
- if(canBuyNum > redis_num) {
- if(qty > redis_num) {
- wx.showModal({
- title: '提示',
- content: '活动库存不足,无法支付,请取消订单!',
- showCancel: false,
- });
- flag = false;
- return false;
- };
-
- };
- };
-
- if(limited <= redis_num) {
- if(qty > canBuyNum) {
- wx.showModal({
- title: '提示',
- content: '您已超出活动限购数量,无法支付,请取消订单!',
- showCancel: false,
- });
- flag = false;
- return false;
- };
- };
- };
- });
-
- };
-
- };
-
-
- if(flag) {
- await app.request.promisePost('/api/weshop/order/pay/createRechargeOrder', {
- data: {
- parentSn: order_sn,
- store_id: store_id,
- },
- }).then(res => {
- // success: function(res) {
- var n = res.data.data;
- self.weixinPay(n, function() {
- app.showWarning('支付成功');
-
- }, function() {
- app.showWarning('支付失败');
- // setTimeout(function() {
- // wx.reLaunch({
- // url: '/packageA/pages/cardList/cardList',
- // })
- // }, 1000)
- });
- // }
- });
- };
-
-
- },
-
- //------调起支付框--------
- weixinPay: function(n, success, fail) {
- if (!n) return false;
- // let order_id = item.order_id;
- getApp().globalData.no_clear=1;
- wx.requestPayment({
- timeStamp: String(n.timeStamp),
- nonceStr: n.nonceStr,
- package: n.packageValue,
- signType: n.signType,
- paySign: n.paySign,
- success: function(n) {
- console.log(n), getApp().showSuccess("支付成功!");
- "function" == typeof success && success();
- wx.redirectTo({
- url: "/pages/payment/pay_success/pay_success?card=1&order_id=" + order_id,
- });
- },
- fail: function(n) {
- console.log(n), "requestPayment:fail" == n.errMsg ? getApp().showWarning("支付失败") :
- "requestPayment:fail cancel" == n.errMsg ? getApp().showWarning("您已取消支付") : getApp().showWarning("支付失败:" + n
- .errMsg.substr("requestPayment:fail ".length)),
- "function" == typeof fail && fail();
- }
- });
- },
-
- // 卡项订单 - 取消订单
- // api/weshop/recharge/update?store_id=&order_id=&order_status=3
- cancle(e) {
- wx.showModal({
- title: '提示',
- content: '确定取消订单吗?',
- success (res) {
- if (res.confirm) {
- console.log('取消订单~');
- let order_id = e.currentTarget.dataset.orderid;
- let order_sn = e.currentTarget.dataset.ordersn;
- app.request.put('/api/weshop/recharge/update', {
- data: {
- store_id: os.stoid,
- order_id: order_id,
- order_sn: order_sn,
- order_status: 3,
- },
- success: function(res) {
- wx.showToast({
- title: '取消成功',
- success: function() {
-
- // 这里还可以优化不刷新,后面有时间再优化
- self.setData({
- is_no_data2: 0,
- is_no_more2: 0,
- });
-
- // 这里还可以优化不刷新,后面有时间再优化
- self.clickTab(e);
- },
- });
-
- // let index = e.currentTarget.dataset.index;
- // let cardList = self.data.cardList;
- // cardList.splice(index, 1);
- // self.setData({
- // cardList,
- // });
-
- //self.request_list(self.data.currentRequestData);
- },
- })
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- },
-
-
- // 卡项订单 - 再来一单
- addCart: function(t) {
- var th = this;
- var ind = t.currentTarget.dataset.openSpecModal_ind;
- var action= t.currentTarget.dataset.action;
- if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
-
- th.setData({
- open_ind_store: ind
- });
-
- if(!th.data.sto_sele_name){
- getApp().my_warnning('请选择门店', 1, th, 450);
- return false;
- }
-
-
- if(action=="buy"){
- //--------------此时操作的数据------------
- var newd = {
- id: th.data.data.id,
- goods_num: th.data.goodsInputNum,
- pick_id: th.data.sto_sele_id,
- keyid: th.data.sto_sele_keyid,
- };
- newd['pick_name'] = th.data.sto_sele_name;
- newd['guide_id'] = getApp().globalData.guide_id;
- newd['guide_type']=0;
- th.buyNow(newd);
- }else{
-
- var newd = {
- service_id: th.data.data.id,
- service_sn:th.data.data.service_sn,
- service_name:th.data.data.goods_name,
- goods_num: th.data.goodsInputNum,
- pick_id: th.data.sto_sele_id,
- user_id:oo.user_id,
- store_id:os.stoid,
- money:th.data.data.shop_price
- };
- if(getApp().globalData.guide_id){
- newd['guide_id'] = getApp().globalData.guide_id;
- newd['guide_type']=0;
- }
-
- //----先看会员在购物车中是否加入了该商品-----
- getApp().request.get("/api/weshop/cartService/page", {
- data: {
- store_id: os.stoid,
- user_id: oo.user_id,
- service_id: th.data.data.id,
- pick_id: th.data.sto_sele_id,
- },
- success: function(re) {
-
- //-------如果购物车中有相关的数据---------
- if (re.data.data.total > 0) {
- var item = re.data.data.pageData[0];
- var updata = {
- id: item.id,
- goods_num: th.data.goodsInputNum + item.goods_num,
- money: th.data.data.shop_price,
- store_id: os.stoid,
- };
-
- if (getApp().globalData.guide_id) {
- updata['guide_id'] = getApp().globalData.guide_id;
- updata['guide_type'] = 1;
- }
- getApp().request.put("/api/weshop/cartService/update", {
- data: updata,
- success: function(t) {
- getApp().my_warnning('加入购物车成功', 1, th, 450);
- var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
- th.setData({
- cartGoodsNum: c_num
- });
- th.closeSpecModal();
- }
- });
- } else {
-
- getApp().request.post("/api/weshop/cartService/save", {
- data: newd,
- success: function(t) {
- getApp().my_warnning('加入购物车成功', 1, th, 450);
- var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
- th.setData({
- cartGoodsNum: c_num
- });
- th.closeSpecModal();
- }
- });
- }
- }
- });
-
- }
- },
-
-
-
-
-
+
+
+
});
\ No newline at end of file
diff --git a/pages/user/plus/plus.js b/pages/user/plus/plus.js
index 715a9d3..d14558a 100644
--- a/pages/user/plus/plus.js
+++ b/pages/user/plus/plus.js
@@ -42,6 +42,7 @@ Page({
staffNo_arr: [], //多个营业员
focus:false,
is_select: false, //是否选择营业员过
+ is_buy_card_id:"",//是否是链接直接过来购买的卡号id
},
swiperChange: function (e) {
var currentId = e.detail.current;
@@ -84,6 +85,13 @@ Page({
})
}
+ //判断是否是链接直接扫码购买
+ let is_buy_card_id = options.is_buy_card_id
+ if(is_buy_card_id){
+ that.setData({
+ is_buy_card_id
+ })
+ }
//--先判断会员状态--
var user_info = getApp().globalData.userInfo;
@@ -262,7 +270,21 @@ Page({
is_plusCard: parr,
is_show: 1
})
-
+ if(th.data.is_buy_card_id){
+ let i = parr.findIndex(item=>item.CardId==th.data.is_buy_card_id)
+ if(i>-1){
+ // th.setData({
+ // by_index:i
+ // })
+ // th.buy_card()
+ let e={
+ currentTarget:{
+ dataset:{ind:i}
+ }
+ }
+ th.Opening(e)
+ }
+ }
} else {
th.setData({
is_show: 1