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,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, invoiceToggle: !0, payWithUserMoney: !0, payWithPoints: !0, maxWord: 0, enterAddressPage: !1, //页面获取的参数 param:null, postdata:null, //提交订单的格式 formData: { order_amount:0,//支付金额 total_amount:0,//总价 all_price:0,//商品卖的总价 pay_points: 0,//使用积分 user_money: 0,//使用余额 couponCode: "",//使用优惠券(多单就用逗号隔开) shipping_price:0,//物流费用 }, /*----------------立即购买---------------------*/ is_b_now:0, //0是购物车结算 1立即购买 bn_goods:null, //立即购买时候的调用商品 bn_use_money:0,//是否使用余额 bn_pick:0, //选择的门店 bn_pickname: "", //选择的门店名称 /*------------------------*/ yuer:0, is_cart:0, //是不是购物车进来的购买 }, onLoad: function(t) { wx.setNavigationBarTitle({ title: "填写订单", }); var appD=getApp().globalData.service_now; this.data.postdata=appD; this.data.param=t; if(t.is_cart){ this.setData({is_cart:1}); } var th=this; 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}); } }) }, onUnload: function () { this.setData({ isclose: 1 })}, //------获取会员信息-----先获取用户信息,在进行下一步--- get_info:function(func){ var user_id = t.globalData.user_id; to.auth.get_u(func); }, //----------------展示页面,是再获取用户信息之后-------------- show_page:function(){ var th=this; //th.setData({ userinfo: to.globalData.userInfo}); 会员信息要时时获取 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}); //获取立即购买的商品信息 if(th.data.is_cart){ //读取门店 to.get_allsto(function (e) { th.setData({ allsto: e }); th.get_cart(); }) }else{ th.get_buy_goods(); } //获取提现金额 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 }); } } }); } }); }, //-----获取购物车,入口-------- get_cart: function () { var th = this,app=getApp(); a.get("/api/weshop/cartService/page", { 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; //存储原始购物车列表 //---是不是购买等级卡成功的返回---等级卡显示的判断--- var is_card_back=getApp().globalData.is_card_back; //在分组的时候,就不要再调用接口,await for (var i = 0; i < carr.length; i++) { var good=null; var item = carr[i]; await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + oo.stoid + "/" + item.service_id, {}).then(res => { good = res.data.data; }) item.img_url = oo.imghost + good.img_url; item.erpItemID=good.erpItemID; /*----接口要弄出来的,先顶着-----*/ 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 narr = new Array(); narr.push(item); var ie = { pickup_id: pcid, pname: pikname, goods: narr,keyid:sto.keyid, goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0}; arr.push(ie); } } //深拷贝 th.data.old_cartlist= JSON.parse(JSON.stringify(arr)); th.setData({ cartlist: arr, }); th.calculatePrice(); } }); }, //-----获取立即购买的商品信息---- get_buy_goods: function (){ var th=this,a=getApp().request; var gg = th.data.postdata; var url="/api/weshop/serviceCard/get/" + oo.stoid + "/" + gg.id //调用商品 a.get(url, { success: function (t) { var gd = t.data.data; t.data.data.original_img = oo.imghost + t.data.data.imgUrl; t.data.data['buynum'] = gg.goods_num; t.data.data.shop_price=gd.money; th.setData({ bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_pick: gg.pick_id }); th.calculatePrice2(); } }); }, //----------子页返回父页触发---------- onShow: function() { var th=this; if (th.data.isclose==0){ wx.navigateTo({ url: "/pages/index/index/index" }) } //先获取是否有关闭使用优惠券 getApp().getConfig2(function (ee) { //var json_d = JSON.parse(ee.switch_list); //th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 //th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); th.show_page(); }) }, showInvoice: function() { this.setData({ invoiceToggle: !this.data.invoiceToggle }); }, //-------------------计算购物车订单价格------------------- calculatePrice: function() { var th = this; to.getConfig2(async function(ee){ wx.showLoading({ title:"处理中." }) 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?th.data.userinfo.frozen_money:0); var freight_free = ee.freight_free; //全场满多少包邮 var no_ex_id=ee.no_ex_id; var no_ex_good=null; var by_qc={}; var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist)); //---循环购物车--- for(var i in c_arr){ 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; //就是每一单的从表的意思 //---如果有选择优惠券的情况下--- var quan_price=0; var coupon_price=0; var quan_no= null; //--------循环计算总价----------- for(var j=0;j 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; } } 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_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_total_m = parseFloat(all_total_m).toFixed(2); var atxt = "formData.total_amount"; var atxt1 = "formData.order_amount"; var atxt2 = "formData.all_price"; th.setData({ [atxt]: all_total_m, [atxt1]: all_order_m, [atxt2]: all_price,show_submit:1 }) th.data.order_prom_list_cart=c_arr; wx.hideLoading(); }); }, //---------计算立即购买---------- calculatePrice2: function () { console.log('calculatePrice2'); 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, }); var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; //-----------------总价----------------- var total_m = parseFloat(allpice) + parseFloat( th.data.formData.shipping_price); total_m = parseFloat(total_m).toFixed(2); var atxt= "formData.total_amount"; th.setData({ [atxt]: total_m, }) var order_m = total_m; var txt = "formData.user_money"; var txt2 = "formData.order_amount"; th.setData({ [txt]: 0, [txt2]: order_m }) }, submitForm:function(){ var th=this; this.sendsm(function(){ th.submit_func(); }) }, //--------------------提交订单----------------------- submit_func: async function(){ if(this.data.is_summit_ing==1) return false; //--提交中退出-- this.data.is_summit_ing=1; var th=this,pdata=new Array(); var item={ 'user_id': to.globalData.user_id, 'account': th.data.formData.order_amount, //使用余额 'store_id':oo.stoid, //商家 'list':new Array(), }; //判断是不是购物车购买还是立即购买 if(this.data.is_cart){ var list= th.data.cartlist; for(var i in list){ var gglist = list[i].goods; for(var j in gglist){ var gg=gglist[j]; var goods={ 'card_id': gg.service_id, 'itemid': gg.erpItemID, 'qty': gg.goods_num, 'price': gg.money, 'pickup_id':gg.pick_id, 'pickup_keyid':list[i].keyid, }; //--导购分享过来的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; } }) } item.list.push(goods); } } }else{ var gg = getApp().globalData.service_now; var goods={ 'card_id': th.data.bn_goods.id, 'itemid': th.data.bn_goods.erpItemID, 'qty': gg.goods_num, 'price': th.data.formData.order_amount, 'pickup_id':gg.pick_id, 'pickup_keyid':gg.keyid, }; //--导购分享过来的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; } }) } item.list.push(goods); } pdata=item; var str = JSON.stringify(pdata); console.log("支付数据"); console.log(str); //return false; wx.showLoading({title: "加载中"}); wx.request({ url: oo.url + '/api/weshop/recharge/saveRecharge', 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){ if(th.data.is_cart){ var list = th.data.cartlist_y; for (var i = 0; i < list.length; i++) { //删除购物车 a.delete("/api/weshop/cartService/del/" + oo.stoid + "/" + list[i].id, {}); } } var order_amount = pdata.account; //要进行判断,如果是用微信支付,就要跳转到支付界面 if (order_amount > 0) { th.setData({ isclose: 0 }); getApp().request.post("/api/weshop/order/pay/createRechargeOrder", { data: { parentSn: data.data.order_sn, store_id: oo.stoid }, success: function (su) { var n=su.data.data; th.weixinPay(n, function () { getApp().showWarning("购买成功"); setTimeout(function () { wx.reLaunch({ url: "/packageA/pages/cardList/cardList", }) },1000) }, function () { getApp().showWarning("支付失败"); setTimeout(function () { wx.reLaunch({ url: "/packageA/pages/cardList/cardList", }) },1000) }) } }) } } else{ th.data.is_summit_ing=0; //是否提交中 getApp().confirmBox(data.msg); } } else { th.data.is_summit_ing=0; //是否提交中 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 () {} }) }, 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); }, //------调起支付框-------- weixinPay: function (n, success, fail) { if(!n) return false; 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: "../deposit/deposit" }); }, 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(); } }); }, //订阅消息提醒 sendsm:function(func) { var template_id = this.data.template_id; // //授权订阅 wx.requestSubscribeMessage({ tmplIds: [template_id], success(res) { func(); }, fail(res) { func(); } }) }, });