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();
var oo=t.globalData.setting,os=oo;
var regeneratorRuntime = require('../../../utils/runtime.js');
var util_pay = require("../../../utils/pay.js");
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物流
/*------------------------*/
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:null, //选择券的控制属性
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,
},
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;
//清空is_pick_up
getApp().request.put("/api/weshop/useraddress/updatePickUp", {
data: {user_id: getApp().globalData.user_id, is_pickup: 0},
success: function (s) {
}
});
//先获取是否有关闭使用优惠券
getApp().getConfig2(function (ee) {
var json_d = JSON.parse(ee.switch_list);
th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules });
//-----先获取物流,再获取用户信息,再展示页面-----
th.get_wuliu(th.get_info(th.show_page));
})
},
onUnload: function () { this.setData({ isclose: 1 })},
onHide: function () {
this.setData({
isget_by_quan:{},
is_no_by:{},
is_by:{}
})
},
//----------子页返回父页触发----------
onShow: function() {
var th=this;
if (th.data.isclose==0){
wx.switchTab({
url: "/pages/index/index/index"
})
}else{
this.getuser_addr(function(ie){
console.log("getuser_addr")
console.log(ie)
//地址切换要把包邮券清空
if( !th.data.user_addr || 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={};
}
//更换地址回来要重新调用计算价钱的接口
if(!th.data.user_addr || th.data.user_addr.address_id!=ie.address_id){
if (th.data.is_b_now == 1) {
if(th.data.bn_goods) {
th.calculatePrice2();
}
}else{
if (th.data.cartlist){
th.calculatePrice();
}
}
}
th.setData({user_addr: ie });
var going=0;
//使用计时器,避免空现象
/*---
var jishi= setInterval(function () {
if (th.data.is_b_now == 1 && going==0) {
if(th.data.bn_goods) {
th.calculatePrice2();going=1;clearInterval(jishi);
}
}else if(going==0) {
if (th.data.cartlist){
th.calculatePrice();going = 1; clearInterval(jishi);
}
}
},500)--*/
});
//--更新默认地址--,看一下是不是跳到地址页面
if(!getApp().globalData.is_cart2_old){
this.update_code();
}else{
getApp().globalData.is_cart2_old=0;
}
}
},
//-------------------获取物流---------------
get_wuliu(func) {
var th = this;
to.getwuliu(function (e) {
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){
a.get("/api/weshop/useraddress/page", {
data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600 },
success: function (su) {
/*---
var user_addr=[
{ 'address_id': 882, 'user_id': 2661, 'consignee': '测试测试测', 'province': 3102, 'city': 3431, 'district': 3466,
'address': 'ed', 'more_address': '山西-长治市-襄垣县-虎(音si)亭镇', 'mobile': 13012345678,'is_default':1},
];---*/
var user_addr = su.data.data.pageData;
var item = null;
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;
func(item);
}
});
},
//----------------展示页面,是再获取用户信息之后--------------
show_page:function(){
var th=this,ta = this.data.param;
th.setData({
userinfo: to.globalData.userInfo,});
//选获取地址
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 });
//-------获取购物车已经选择的商品--------
th.get_cart();
})
}
});
//获取提现金额
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 - su.data.data.summoney).toFixed(2);
th.setData({ txmon: su.data.data.summoney, yuer: yuer });
}
}
});
},
//-----真的获取购物车,入口--------
get_cart: function () {
var th = this,app=getApp();
a.get("/api/weshop/cart/list", {
data: {
user_id: to.globalData.user_id, selected:1,state:0,
store_id: oo.stoid, pageSize: 600 },
success:async function (su) {
//按门店分类的数组
var arr = new Array();
var carr = su.data.data.pageData;
th.data.cartlist_y = carr; //存储原始购物车列表
for (var i = 0; i < carr.length; i++) {
var item = carr[i];
//要把优惠活动加入,prom_goods_map中,赠品不要运算
if(item.prom_type==3 && item.is_gift!=1){
await th.add_prom_goods_map(item);
}
item.original_img = oo.imghost + item.original_img;
/*----接口要弄出来的,先顶着-----*/
var pcid = item.pick_id;
var find = 0;
//----如果有就加进去,没有就新增一个----
//-----------循环查找门店-------------
if (arr.length > 0) {
for (var j = 0; j < arr.length; j++) {
if (arr[j].pickup_id == pcid) {
arr[j].goods.push(item);
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; break;
case 1: e_t = 1; break;
case 2: e_t = 0; break;
}
//如果是物流的话,全部自提的控制要弄成0
if (e_t == 0) th.setData({ is_all_zt:0});
var narr = new Array(); narr.push(item);
//-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号-----------------
var m_wind=0,def_exp_code=getApp().globalData.userInfo.def_exp_code;
if(e_t==0 && def_exp_code){
for(var k=0;k
{
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;
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
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; 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 data.gift_limitnum) num = 0;
}
//如果赠品数量超出礼品库存,就取消
if(num>data['gift_storecount']) num=0;
if(num>0){
var ob={};
ob.goods_id=data.gift_goods_id;
ob.goods_name=data.gift_goods_name;
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; //商品的物流计算方式
th.setData({buy_now_gift_goods:ob});
}
}
th.setData({
bn_goods: data, bn_pickname: gg.pick_name, bn_exp_type: et,index:m_wind,
bn_pick: gg.pick_id, bn_t_exp_t: distr_t
});
//计算价格
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.setData({collocation_goods:gg.collocation_goods});
var cart_arr=new Array();
var narr=gg.collocation_goods;
narr.push(t.data.data);
var ie = {
pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t,
goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0, user_note:0};
cart_arr.push(ie);
th.data.old_cartlist=cart_arr;
}
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
});
//--搭配促销也是按照购物车的方式来计算优惠券--
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/getSJGoodsPrice/"+gd.store_id
+ "/" + gd.goods_id + "/1/" + gd.prom_id,{
success: async function (tt) {
if(tt.data.code==0){
t.data.data.shop_price=tt.data.data.prom_price;
}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+"";
}
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
});
//计算价格
th.calculatePrice2();
//获取优惠券
th.get_buy_now_quan();
}
});
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) {
this.setData({
maxWord: t.detail.value.length
});
},
//-------------------计算订单价格-------------------
calculatePrice: function(t, s) {
var th = this;
to.getConfig2(function(ee){
to.getwuliuprice( async function (rs) {
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_order_prom=0; //所有的订单优惠
var umoney = th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money;
var freight_free = ee.freight_free; //全场满多少包邮
var no_ex_id=ee.no_ex_id;
var no_ex_good=null;
var by_qc={};
if(no_ex_id && freight_free>0){
//-----------获取不包邮区域,不包邮商品-------
await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods",{
data:{store_id:os.stoid,id:no_ex_id}
}).then(res=>{
if(res.data.code==0){
by_qc=res.data.data[0];
}
})
};
var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist));
//---循环购物车---
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; //立即购买选择的物流
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_shipping_price=0,goods_weight=-1, goods_piece=-1;
var item=c_arr[i].goods;
//--获取物流code--
//--------循环计算总价-----------
for(var j=0;j {
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?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;
if(get_data.gift_id && get_data.goodsinfo) {
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.s_libao = get_data.libao;
item_map.s_lb_num = get_data.lb_num;
}
})
}
//--------循环计算商品是不是包邮,是不是使用优惠券-----------
for(var j=0;j0 && o_price>freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list) ){
//如果有设置不包邮区域的时候
if(by_qc.region_list!="" && by_qc.region_list!=null && by_qc.region_list!=undefined ){
if(th.check_by_area(by_qc.region_list)){
freight_free=0;
th.data.is_no_by[pickid]=1;
}
}
//如果有设置不包邮区商品
if(by_qc.goods_list!="" && by_qc.goods_list!=undefined && by_qc!=null && freight_free>0){
no_ex_good=by_qc.goods_list;
}
}
//--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额--
if (cart_item.exp_type == 0 && th.data.user_addr != null) {
//看是不是有调用过包邮券
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,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 quan_no=null;
if(th.data.using_quan[pickid])quan_no=th.data.using_quan[pickid].coupon_no;
//如果是包邮券的时候,要看看券的情况
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;
//看有没有模板的包邮
if(no_ex_good){
var arr=no_ex_good.split(",");
var arr2=quan.goods_list.split(",");
if(ut.isContained(arr,arr2)){
getApp().my_warnning("全场不包邮商品和包邮券的重复",0,th);
th.data.using_quan[pickid]={};
th.setData({using_quan:th.data.using_quan})
return false;
}
var n_arr=ut.mergeArray(arr,arr2);
no_ex_good=n_arr.join(",");
}else{
no_ex_good=quan.goods_list;
}
}
}else{
th.data.is_quan_by[pickid]=0; //专门给券的判断用的
}
//--------循环计算总价-----------
for(var j=0;j=freight_free && freight_free>0 && !is_good_no_by && th.data.is_no_by[pickid]!=1){
continue;
}
//--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算--
if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby==1 && !is_good_no_by){
continue;
}
//----------------如果是选择了物流---------------------
if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){
//如果地址不为空
if (th.data.user_addr!=null){
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']; break;
case 3:
if (goods_piece < 0) goods_piece = 0;
//累积商品数量
goods_piece += item[j]['goods_num'];break;
}
}
}
}
//计算物流价格
if (c_arr[i].exp_type == 0) {
freight_free=0; //后面不在进行判断
var code = th.data.wu_arr[c_arr[i].wind].code;
cart_item.shipping_price =
th.calculatewuliu(code, o_shipping_price, goods_weight,
goods_piece,th.data.user_addr, freight_free, o_price, rs);
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{
cart_item.shipping_price=0;
}
cart_item.shipping_price=cart_item.shipping_price.toFixed(2);
//---如果有选择优惠券的情况下---
var quan_price=0;
var coupon_price=0;
var quan_no= null;
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){
//如果不是包邮券的时候
if(th.data.using_quan[pickid] && 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.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;
}
})
}
}
//总价计算,总价不包含运费
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 order_m=0;
//---判断是不是有订单优惠---
await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion",{
data:{store_id:os.stoid,orderAmount:cart_item.order_amount}
}).then(res=>{
if(res.data.code==0){
var ord_prom=res.data.data;
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'];//满额优惠金额
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;
}
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 (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;
cart_item.goods_price = o_price.toFixed(2);
cart_item.order_amount= cart_item.order_amount- cart_item.user_money; //会员使用余额
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_order_prom+=parseFloat(cart_item.order_prom_amount);
}
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);
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";
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,
})
th.data.order_prom_list_cart=c_arr;
});
});
},
//---------计算立即购买----------
calculatePrice2: function () {
var th = this, good = this.data.bn_goods;
//搭配的计算要用购物的车计算方法
if(good.prom_type==5){
th.calculatePrice();
return false;
}
//-----------计算商品总价--------------
var allpice = good.shop_price * good.buynum;
var cut_price=0;
if(good.prom_type==3 && good.prom_price){
cut_price=allpice-good.prom_price;
}
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, });
}
to.getConfig2(function (ee) {
to.getwuliuprice(async function (rs) {
var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
//-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮----------
if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1 && good.is_xz_yh!=1){
//看是不是有调用过包邮券
if(!th.data.isget_by_quan[th.data.bn_pick]){
var condition=allpice-cut_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 && th.check_by_goods(item.goods_list)) continue; //如果是不包邮商品
arr.push(item);
}
if(arr){
th.setData({get_by_quan_list:arr});
}
th.data.isget_by_quan[th.data.bn_pick]=1;
}
})
}
switch (good['exp_sum_type']) {
case 1:
//统一运费
o_shipping_price += good['uniform_exp_sum']; break;
case 2:
if (goods_weight < 0) goods_weight = 0;
//累积商品重量 每种商品的重量 * 数量
goods_weight += good['weight'] * good['buynum'];break;
case 3:
if (goods_piece < 0) goods_piece = 0;
//累积商品数量
goods_piece += good['buynum']; break;
}
var code = th.data.wu_arr[th.data.index].code;
var freight_free = ee.freight_free; //全场满多少包邮
var no_ex_id=ee.no_ex_id;
th.data.is_no_by[th.data.bn_pick]=0;
var no_by_data=null;
var gift_freight_free=freight_free;
//有不包邮区域,且不免运费
if(no_ex_id && freight_free>0 && freight_free<=allpice-cut_price){
//-----------获取不包邮区域,不包邮商品-------
await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods",{
data:{store_id:os.stoid,id:no_ex_id}
}).then(res=>{
if(res.data.code==0){
no_by_data=res.data.data[0];
//如果有设置不包邮区域的时候
if(res.data.data[0].region_list){
if(th.check_by_area(res.data.data[0].region_list)){
freight_free=0;
th.data.is_no_by[th.data.bn_pick]=1;
}
}
//如果有设置不包邮商品
if(res.data.data[0].goods_list && freight_free){
if(th.check_by_goods(res.data.data[0].goods_list)){
freight_free=0;
th.data.is_no_by[th.data.bn_pick]=1;
}
}
}
})
}
th.data.is_by[th.data.bn_pick]=0;
//--------------开始计算物流------------------
var shipping_price=
th.calculatewuliu(code, o_shipping_price, goods_weight,
goods_piece, th.data.user_addr, freight_free, allpice-cut_price, rs);
//如果有赠品的时候,也要计算赠品的物流费用
if(th.data.buy_now_gift_goods){
shipping_price=th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free, allpice-cut_price, rs,shipping_price,no_by_data);
}
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{
var wl_txt = "formData.shipping_price";
th.setData({ [wl_txt]: 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;
if(quan_no){
var aa=1;
if(th.data.using_quan[bn_pick].isby==1){
shipping_price=0;
var wl_txt = "formData.shipping_price";
th.setData({ [wl_txt]: 0, })
}else{
//---获取优惠券优惠---
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){
quan_price=res.data.data[0].WareCashSum;
}
})
}
}
//-----------------支付价,优惠券不减物流-----------------
var total_m = (parseFloat(allpice)).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(o_condition>0){
th.check_is_order_prom(o_condition,function () {
var order_prom_amount=0; var order_prom_id=0;
if(th.data.order_prom[th.data.bn_pick]){
var ord_prom=th.data.order_prom[th.data.bn_pick];
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'];//满额优惠金额
order_prom_amount= ord_prom['expression'];
break;
}
}
//--订单优惠的显示--
if(order_prom_id>0){
var order_prom_txt1="formData.order_prom_id";
var order_prom_txt2="formData.order_prom_amount";
th.setData({ [order_prom_txt1]: order_prom_id,[order_prom_txt2]: order_prom_amount})
}
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";
th.setData({ [atxt]: total_m, })
var txt = "formData.user_money";
var txt2 = "formData.order_amount";
var txt3="formData.coupon_price";
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> order_m) {
order_m = order_m.toFixed(2);
th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price })
}else{
order_m =parseFloat(order_m - amoney);
order_m = order_m.toFixed(2);
th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price })
}
}else{
th.setData({ [txt]: 0, [txt2]: order_m,[txt3]:coupon_price })
}
//优惠活动送积分
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 });
}
})
}else{
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";
th.setData({ [atxt]: total_m, })
var txt = "formData.user_money";
var txt2 = "formData.order_amount";
var txt3="formData.coupon_price";
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> order_m) {
order_m = order_m.toFixed(2);
th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price })
}else{
order_m =parseFloat(order_m - amoney);
order_m = order_m.toFixed(2);
th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price })
}
}else{
th.setData({ [txt]: 0, [txt2]: order_m,[txt3]:coupon_price })
}
//优惠活动送积分
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_coupon_id,[l_txt1]:ob });
}
}
});
});
},
//--------------------提交订单-----------------------
async submitForm(t){
var sub_value=t;
if(this.data.is_summit_ing==1) 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);
this.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);
return false;
}
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': th.data.formData.all_price, //商品总价
'shipping_price': th.data.formData.shipping_price, //物流金额
'user_money': th.data.formData.user_money, //使用余额
'total_amount': th.data.formData.total_amount, //订单总价
'order_amount': th.data.formData.order_amount, //应付
'user_note': t.detail.value.user_note, //用户备注
'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;
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;
var ob=[{"prom_id":th.data.bn_goods.prom_id,"dis":th.data.formData.cut_price,"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;
}
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;
}
var gg = to.get_b_now();
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(goods.prom_type!=1 && goods.prom_type!=6 && th.data.sales_rules==2){
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.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=th.data.buy_now_gift_goods;
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,
};
item.order_goods.push(g_goods);
}
pdata.push(item);
console.log(pdata);
}else{
//---------购物车的结算---------
if (th.data.is_all_zt == 0 && th.data.user_addr == null) { ff = false; getApp().confirmBox("请新建收货地址");}
if (!ff) return false;
var addr = th.data.user_addr;
if (th.data.is_all_zt == 1) addr = null;
var val_arr= t.detail.value;
console.log('购物车结算');
console.log(val_arr);
if(th.data.is_all_zt !=1)
if(th.data.wu_arr==null || th.data.wu_arr.length<=0 ){
getApp().confirmBox("读取物流失败");
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': th.data.userinfo.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': t_item.goods_price, //商品总价
'shipping_price': t_item.shipping_price, //物流金额
'user_money': t_item.user_money, //使用余额
'total_amount': t_item.total_amount, //订单总价
'order_amount': t_item.order_amount, //应付
'user_note': val_arr['user_note_' + t_item.pickup_id], //用户备注
'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.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;
}
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;
}
//--判断优惠活动的提交--
if(t_item.cut_price>0){
order_prom_list.discount_amount=t_item.cut_price;
order_prom_list.prom_pt_json=JSON.stringify(t_item.prom_pt_json);
}
if(t_item.s_intValue>0){
order_prom_list.give_integral=t_item.s_intValue;
}
if(t_item.s_coupon_id>0){
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>0){
order_prom_list.give_lb_id=t_item.s_libao;
order_prom_list.g_lb_num=JSON.stringify(t_item.g_lb_num);
}
if(Object.keys(order_prom_list).length>0)
item.order_prom_list=order_prom_list;
//-------------让商品添加到商品列表--------------------
for (var k = 0; k < t_item.goods.length;k++){
var g_item = t_item.goods[k];
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(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];
if(g_item.erpwareid==you_item.WareId){
goods.quan_num=you_item.WareCashSum;
goods.quan_no=you_item.CashRepNo;
}
}
}
//--判断活动的类型--
switch (g_item.prom_type) {
case 1:
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
default:
goods.prom_type = 0;goods.prom_id =0;
}
//如果不立即购买或者秒杀,如果是线下库存购买的时候
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;
}
}
item.order_goods.push(goods);
}
pdata.push(item);
}
console.log(pdata);
}
if (pdata.length==0) return;
var str = JSON.stringify(pdata);
wx.showLoading({title: "加载中"});
wx.request({
url: oo.url + '/api/weshop/order/createWxdOrder',
data: str,
method: 'POST',
header: {
'content-type': 'application/json'
},// 设置请求的 header
success: function (res) {
th.data.is_summit_ing=0; //是否提交中
wx.hideLoading();
if (res.statusCode == 200) {
var data=res.data;
if(data.code==0){
console.log(th.data.is_b_now);
//如果是购物车结算,还要删除购物车
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 += 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.navigateTo({
url: "/pages/payment/pay_success/pay_success?type=2&order_sn="+data.data
})
//},1000)
}, function () {
//支付失败
setTimeout(function () {
wx.navigateBack({ delta: 1 })
},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.navigateTo({
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.submitForm(sub_value);
}
}
})
return;
}
if(msg.length>13){
msg=msg.slice(0, 13) + "\r\n"+ msg.slice(13);
}
getApp().confirmBox(msg);
}
}else{
console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
}
},
fail: function () {
th.data.is_summit_ing=0;
wx.hideLoading();
console.log("index.js wx.request CheckCallUser fail");
},
complete: function () {}
})
},
//---确认线下门店的数量足不足---
async check_store_num(goods_id,pick,goods_num,func){
var lock=0,pick_no,plist,erpwareid;
//先读取门店的lock
await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
data:{store_id:os.stoid,wareId:goods_id,storageId:pick,pageSize:1000}
}).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;
}
})
//先获取门店的编号
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;
}
})
//读取线下的门店库存
await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
}).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);
},
useCoupon: function() {
if (this.data.order.couponNum <= 0) {
getApp().my_warnning("无可用优惠券",0,this);
return;
}
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 0 && o_price >= freight_free){ return 0;}
if (user_addr==null) { return 0; }
//计算物流的config item;
var item=null;
//先根据 镇 县 区找计算的config
item = th.get_wuliu_config(user_addr.district,code,rs);
if (item==null) item = th.get_wuliu_config(user_addr.city, code, rs);
if (item==null) item = th.get_wuliu_config(user_addr.province, code, rs);
if (item == null) item = th.get_wuliu_default(code,rs);
if (item == null) return o_shipping_price;
var fw_price = 0, fp_price=0;
item=item.config;
//------按重量----------
if (goods_weight>=0 && item['money']) {
fw_price =parseFloat(item['money']);
if (goods_weight > item['first_weight']){
var fw = goods_weight - item['first_weight'];
var n = Math.ceil(fw/item['second_weight'])
fw_price = fw_price + n * parseFloat(item['add_money']);
}
}
//------按件数----------
if (goods_piece > 0 && item['piecemoney']) {
fp_price = parseFloat(item['piecemoney']);
if (goods_piece > item['first_piece']) {
var fp = goods_piece - item['first_piece'];
var m = Math.ceil(fp / item['second_piece'])
fp_price = fp_price + m * parseFloat(item['add_piecemoney']);
}
}
var rspice =parseFloat(price + fw_price + fp_price);
return rspice;
},
//------------循环获取config-----------
get_wuliu_config:function(region_id,code,rs){
var item=null,rslist = rs.pageData;
for (var i = 0; i < rslist.length;i++){
if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i];}
}
return item;
},
//-------循环获取config,code default-------
get_wuliu_default: function (code, rs) {
var item = null, rslist=rs.pageData;
for (var i = 0; i < rslist.length; i++) {
if (rslist[i].shipping_code == code && rslist[i].is_default == 1) { item = rslist[i]; }
}
return item;
},
//----------立即购买,选择物流-------------
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;
//对于在其他门店已经选择了的券 要判断是否显示到界面
for(var i in quanlist){
quanlist[i].is_using= th.check_in_sele(quanlist[i].CashRepNo,pickid);
}
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);
}
th.setData({by_quan_list_cart:get_by_quan_list_cart});
}
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(i==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 no_use=e.currentTarget.dataset.no, quanlist=this.data.selected_quan_list;
//---所有的券的显示红色选择都清理一遍---
for(var ind in quanlist){
quanlist[ind].show_red=0;
}
this.setData({selected_quan_list:quanlist});
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});
}
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 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:2222});
return;
}
var ind = e.currentTarget.dataset.ind;
var quan_item = this.data.selected_quan_list[ind];
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});
}
//--购物车过来的包邮券--
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});
}
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:2222});
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)); //要把选中的弄回数组
}
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;
}
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;
}
}
//选择了的券,看是不是点击了不使用券,点击了不使用优惠券
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:function (item,using_quan,pickid,isby) {
var th=this;
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{
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();
}else{
th.calculatePrice();
}
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);
},
//--验证是否已经冻结--
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{
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){
var quanlist=arr[0].quan_list;
th.setData({selected_quan_list:quanlist,cartlist:arr})
}else{
th.setData({cartlist:arr })
}
})
},
//------ 获取立即购买的购物车的劵 --------
get_buy_now_quan:function () {
var quanlist=null,th=this,frozenQuan = null;
var good = this.data.bn_goods;
if(good.prom_price){
th.data.ckeck_quan_price=good.prom_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;
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 price=arr.shop_price*arr.goods_num;
var prom=null;
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: price,
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=prom.is_xz_yh; //是不是优惠
arr.bs=get_data.bs; //是不是倍数
arr.is_past=get_data.is_past; //是不是包邮
arr.prom_price=get_data.price?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;
//-- 看是不是有赠品 --
if(get_data.gift_id) {
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_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_limit_num = get_data.limit_num;
arr.gift_storecount = get_data.gift_storecount;
}
arr.s_libao=get_data.libao;
arr.s_lb_num=get_data.lb_num;
}
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}
}).then(res=>{
if(res.data.code==0) {
var data = res.data.data;
th.data.order_prom[pick]=data;
}
func();
})
},
//--- 加入优惠活动的映射中 ---
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];
ob.price+=item.goods_price*item.goods_num;
ob.goods_num+=item.goods_num;
}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.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;
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.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;
var obj={};
obj[item.prom_id]=ob;
map[pickid]=obj;
}
},
//计算立即购买赠品的物流费用
get_now_gift_goods_wuliu:function (code, o_shipping_price, user_addr, gift_freight_free,allpice, rs,shipping_price,no_by_data) {
var good=this.data.buy_now_gift_goods;
var goods_weight=-1, goods_piece=-1;
var gift_shipping_price=0;
var th=this;
switch (good['exp_sum_type']) {
case 1:
//统一运费
gift_shipping_price += good['uniform_exp_sum']; break;
case 2:
if (goods_weight < 0) goods_weight = 0;
//累积商品重量 每种商品的重量 * 数量
goods_weight += good['weight'] * good['buynum'];break;
case 3:
if (goods_piece < 0) goods_piece = 0;
//累积商品数量
goods_piece += good['buynum']; break;
}
//如果有设置不包邮区域的时候
if(no_by_data && no_by_data.region_list){
if(th.check_by_area(no_by_data.region_list)){
gift_freight_free=0;
th.data.is_no_by[th.data.bn_pick]=1;
}
}
//如果有设置不包邮商品
if(no_by_data && no_by_data.goods_list && gift_freight_free){
if(th.check_by_goods(no_by_data.goods_list)){
gift_freight_free=0;
th.data.is_no_by[th.data.bn_pick]=1;
}
}
var t_shipping_price=
this.calculatewuliu(code, gift_shipping_price, goods_weight,
goods_piece, user_addr, gift_freight_free, allpice, rs);
return t_shipping_price+shipping_price;
}
});