var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"), s = require("../../../utils/util.js"), o = require("../../../utils/md5.js"), to = getApp(); var oo=t.globalData.setting; 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, 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:"", //要更新的物流的字段 }, 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 }); //-----先获取物流,再获取用户信息,再展示页面----- th.get_wuliu(th.get_info(th.show_page)); }) }, onUnload: function () { this.setData({ isclose: 1 })}, //----------子页返回父页触发---------- onShow: function() { var th=this; if (th.data.isclose==0){ /*--- wx.navigateTo({ url: "/pages/user/index/index" //url: "/pages/index/index/index" })---*/ wx.switchTab({ url: "/pages/index/index/index" }) }else{ this.getuser_addr(function(ie){ console.log("getuser_addr") console.log(ie) 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, 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]; 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) arr[ind].quan_list=res.data.data.pageData; }) var frozenQuan=null; var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id; await app.request.promiseGet(url0,{1:1}).then(res=>{ if(res.data.code==0){ frozenQuan=res.data.data; } }) if (frozenQuan && arr[ind].quan_list){ arr[ind].quan_list=th.check_is_frozenQuan(arr[ind].quan_list,frozenQuan); } } } th.setData({ cartlist: arr, }), th.calculatePrice(); } }); }, //-----获取立即购买的商品信息,入口---- 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{ if(res.data.code==0) quanlist=res.data.data.pageData; }) } var frozenQuan=null; var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id; await app.request.promiseGet(url0,{1:1}).then(res=>{ if(res.data.code==0){ frozenQuan=res.data.data; } }) if (frozenQuan && quanlist){ quanlist=th.check_is_frozenQuan(quanlist,frozenQuan); } t.data.data.prom_id = 0; t.data.data.prom_type = 0; 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,selected_quan_list:quanlist }); //计算价格 th.calculatePrice2(); 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+""; if (th.data.is_close_quan != 1) { var url="/api/weshop/couponList/getUseCouponList"; await app.request.promiseGet(url,{ data:{storeId:oo.stoid,userId:app.globalData.user_id,BuySum:th.data.ckeck_quan_price,WareIds:th.data.check_quan_ware_list,pageSize:100} }).then(res=>{ if(res.data.code==0) quanlist=res.data.data.pageData; }) var frozenQuan=null; var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id; await app.request.promiseGet(url0,{1:1}).then(res=>{ if(res.data.code==0){ frozenQuan=res.data.data; } }) if (frozenQuan && quanlist){ quanlist=th.check_is_frozenQuan(quanlist,frozenQuan); } } } 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,selected_quan_list:quanlist }); //计算价格 th.calculatePrice2(); } }); 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 umoney = th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money; var freight_free = ee.freight_free; //全场满多少包邮 var c_arr=th.data.cartlist; //---循环购物车--- for(var i=0;i{ if(res.data.code==0 && res.data.data.length>0){ var q_data=res.data.data; //--存储商品优惠的内容-- th.data.cartlist[i].quan_youhui_list=q_data; for(var k in q_data ) quan_price+=q_data[k].WareCashSum; } }) } //总价计算,总价不包含运费 th.data.cartlist[i].order_amount= (o_price -quan_price).toFixed(2); th.data.cartlist[i].total_amount= o_price.toFixed(2); coupon_price=quan_price; if( th.data.cartlist[i].order_amount<0){ th.data.cartlist[i].order_amount=0; coupon_price=o_price; } th.data.cartlist[i].total_amount= parseFloat(th.data.cartlist[i].total_amount)+parseFloat(th.data.cartlist[i].shipping_price); //总金额 th.data.cartlist[i].order_amount=parseFloat(th.data.cartlist[i].order_amount)+parseFloat(th.data.cartlist[i].shipping_price); //总金额 th.data.cartlist[i].total_amount= th.data.cartlist[i].total_amount.toFixed(2); th.data.cartlist[i].order_amount=th.data.cartlist[i].order_amount.toFixed(2); //--------------如果使用余额--------------------- if (th.data.js_use_money == 1) { if (umoney > th.data.cartlist[i].order_amount) { th.data.cartlist[i].user_money = th.data.cartlist[i].order_amount; umoney = umoney - th.data.cartlist[i].order_amount; }else { th.data.cartlist[i].user_money = umoney; umoney=0; } }else{ th.data.cartlist[i].user_money=0; } th.data.cartlist[i].user_money = parseFloat(th.data.cartlist[i].user_money).toFixed(2); if (coupon_price>0) th.data.cartlist[i].coupon_price=coupon_price.toFixed(2); else th.data.cartlist[i].coupon_price = coupon_price th.data.cartlist[i].goods_price = o_price.toFixed(2); th.data.cartlist[i].order_amount= th.data.cartlist[i].order_amount- th.data.cartlist[i].user_money; //会员使用余额 all_price += parseFloat(o_price); all_total_m += parseFloat(th.data.cartlist[i].total_amount); all_shipping_m += parseFloat(th.data.cartlist[i].shipping_price); all_order_m += parseFloat(th.data.cartlist[i].order_amount); all_user_m += parseFloat(th.data.cartlist[i].user_money); all_coupon_price_m+= parseFloat(th.data.cartlist[i].coupon_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); 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"; 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 }) console.log('formData',th.data.formData); console.log("------------------------"); }); }); }, //---------计算立即购买---------- calculatePrice2: function () { var th = this, good = this.data.bn_goods; //-----------计算商品总价-------------- var allpice = good.shop_price * good.buynum; allpice=parseFloat(allpice).toFixed(2); var txt = "formData.all_price"; th.setData({ [txt]: allpice, }); console.log(th.data.formData); 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 ){ 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 shipping_price= th.calculatewuliu(code, o_shipping_price, goods_weight, goods_piece, th.data.user_addr, freight_free, allpice, rs); 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; //---获取优惠券优惠--- 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)-quan_price).toFixed(2); var coupon_price=quan_price; //优惠券优惠了多少钱 if(order_m<0) { order_m=0;coupon_price=parseFloat(order_m).toFixed(2); } 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 }) } }); }); }, //--------------------提交订单----------------------- submitForm: function(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){ console.log("buy_new"); 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; console.log(th.data.formData); console.log(th.data.wu_arr); console.log(th.data.bn_exp_type); 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.formData.coupon_price){ item.coupon_price=th.data.formData.coupon_price; item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no; } 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(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); 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; } for (var i = 0; i < th.data.cartlist.length;i++){ var t_item = th.data.cartlist[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(t_item.coupon_price){ item.coupon_price=t_item.coupon_price; item.coupon_no=th.data.using_quan[t_item.pickup_id].coupon_no; } //-------------让商品添加到商品列表-------------------- 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; } } } //如果是秒杀,团购,积分购,拼团 if (g_item.prom_type==1){ goods.prom_type = g_item.prom_type; goods.prom_id = g_item.prom_id; }else{ goods.prom_type = 0;goods.prom_id =0; } 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.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 () {} }) }, 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.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) { 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) { 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; if(bn==1){ th.setData({open_quan:1,selected_quan_pick:pickid, disabled:1}); }else{ //---多单打开券的时候,就要判断券在其他门店是否有使用--- var quanlist=th.data.cartlist[cindx].quan_list; //对于在其他门店已经选择了的券 要判断是否显示到界面 for(var i in quanlist){ var is_using= th.check_in_sele(quanlist[i].CashRepNo,pickid); if(is_using) quanlist[i].is_using=1; } console.log("2222222券的列表", quanlist); th.setData({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 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}); }, //--确认使用券--- confirm_quan:function () { var using_quan=this.data.using_quan,pickid=this.data.selected_quan_pick; var th=this,selected_quan_list=this.data.selected_quan_list; //选择了的券 var sele_quan=null; console.log(selected_quan_list, "确认使用券"); for(var i in selected_quan_list){ var item=selected_quan_list[i]; console.log(item, "确认使用券",item.show_red); if(item.show_red) { console.log(item.show_red, "确定的券7"); th.insert_into_using_quan(item,using_quan,pickid); 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) { var th=this; using_quan[pickid]={coupon_no:item.CashRepNo,money:item.Sum,is_nouse_red: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){ console.log("券列表",quanlist); var arr=[]; for(var i=0;i