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"); var t_pay = require("../../../../utils/pay2.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, postdata: null, //提交订单的格式 formData: { order_amount: 0,//支付金额 total_amount: 0,//总价 all_price: 0,//商品卖的总价 pay_points: 0,//使用积分 user_money: 0,//使用余额 couponCode: "",//使用优惠券(多单就用逗号隔开) shipping_price: 0,//物流费用 }, is_no_by:{}, /*----------------立即购买---------------------*/ 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, //判断页面是返回回来的还是 首次进入的 isclose: 1, kt_type: 0, //开团类型 is_pt_tz: 0,//是否开团团长 qh: '', //期号 pt_listno: '',//期号 is_normal: 0, is_express: 0,//选择物流的控制器 yuer: 0, rank_switch: 0, //是不是开同等级卡 show_card: null, //显示的等级卡 card_name: '', //显示的卡的名称 card_cut_price: null,//减价多少钱 template_id:[], //dis_config:null, //因为拼团有佣金抵扣 //bn_use_commission: 0, //是不是使用佣金 }, onLoad: async function (t) { console.log("onLoad_pt_cart"); //定义第一次进入 this.data.fir_in=1; var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); var appD = getApp().get_b_now(); getApp().getConfig2(function (e) { th.setData({ bconfig: e }); }, 1); th.data.postdata = appD; //如果期号有值 if (appD.qh) { th.data.qh = appD.qh; th.data.pt_listno = appD.qh; } //th.data.kt_type=appD.kt_type; th.setData({ kt_type: appD.kt_type }); if (appD.is_pt_tz) th.data.is_pt_tz = appD.is_pt_tz; th.data.param = t; //先获取物流,再获取用户信息,再展示页面 //th.get_wuliu(th.get_info(th.show_page)); //getApp().is_distribut(this); try { let template_id =await getApp().get_template_id('1001,1012,1027') this.setData({ template_id }) } catch (error) {} }, 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 }); //获取立即购买的商品信息 th.get_buy_goods(); } }); }, //-----获取立即购买的商品信息---- 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; if (!gd) return false; t.data.data.original_img = oo.imghost + t.data.data.imgUrl; t.data.data['buynum'] = gg.goods_num; console.log(t.data.data); 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; //-- 系统后台有设置要默认的 -- if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0; break; case 1: et = 1; break; case 2: et = 0; break; } t.data.data.shop_price = gg.goods_price; //--如果是普通购买的时候-- if (gg.is_normal == 1) { t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal = 1; var gd = t.data.data; //-- 用商品的手店价来显示 -- gg.goods_price = gd.money; if (th.data.bn_goods) { et = th.data.bn_exp_type; } th.setData({ bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_pick: gg.pick_id, bn_t_exp_t: distr_t, is_normal: 1, bn_exp_type: et }); th.calculatePrice2(); } else { //--阶梯团很特殊,不能用总表来拿价格-- getApp().request.get("/api/weshop/teamlist/get/" + oo.stoid + "/" + gg.prom_id, { success: function (tt) { if (tt.data.code == 0) { var pt_data = tt.data.data; var now = s.gettimestamp(); if (pt_data.is_end == 1) { t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal = 1; } else if (now > pt_data.end_time) { t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal = 1; } else { t.data.data.shop_price = tt.data.data.price; //活动价格 t.data.data.is_normal = 0; if (pt_data.kttype == 3) { t.data.data.shop_price = tt.data.data.yf_price; //用定金来购买 } //-- 计算获得佣金的金额 -- if (getApp().globalData.userInfo.is_distribut && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { var fir_num = 0; var sec_num = 0; var thi_num = 0; if (th.data.dis_config.pattern == 1) { fir_num = (teamlist.fir_rate || 0) * order_goods.goods_num; sec_num = (teamlist.sec_rate || 0) * order_goods.goods_num; thi_num = (teamlist.thi_rate || 0) * order_goods.goods_num; } else { fir_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2); sec_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2); thi_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2); } var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th); goods.use_commission = parseFloat(c_num.toFixed(2)); } } } else { t.data.data.prom_id = 0; t.data.data.prom_type = 0; t.data.data.is_normal = 1; } if (th.data.bn_goods) { et = th.data.bn_exp_type; } th.setData({ bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_pick: gg.pick_id, bn_t_exp_t: distr_t, bn_exp_type: et }); //计算价格 th.calculatePrice2(); } }); } } }); }, //----------子页返回父页触发---------- onShow: function () { var th = this; //判断是不是第一次进入 if(this.data.fir_in){ this.data.fir_in=0; }else{ s.fy_back('',0); t_pay.set_fir(); util_pay.set_fir(); var back_url="/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + th.data.order_sn; //-- 通联的第三方支付的返回优化 -- ut.is_pay_ok(th.data.order_id,back_url,"/pages/user/order_list/order_list?index=2&tabindex=1",function (){ if(!th.data.order_id) return false; getApp().request.promiseGet("/api/weshop/rechargeServicelist/page",{ data: { store_id: os.stoid, order_id: th.data.order_id} }).then(res=>{ if(ut.ajax_ok(res)){ var item=res.data.data.pageData[0]; if(item.pt_status==1 || item.pt_status==2){ //支付支付,返回首页 ut.m_toast('支付成功'); setTimeout(()=>{ getApp().re_to(back_url); },1000) }else{ //支付支付,返回首页 ut.m_toast('支付失败'); setTimeout(()=>{ getApp().re_to("/pages/user/order_list/order_list?index=2&tabindex=1"); },1000) } } }) }); } if (th.data.isclose == 0) { wx.navigateTo({ url: "/pages/index/index/index" }) } //-----先获取物流,再获取用户信息,再展示页面----- th.get_info(th.show_page); }, 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 }); }, //---------计算立即购买---------- 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, }); //-----------------总价----------------- var total_m = parseFloat(allpice); total_m = parseFloat(total_m).toFixed(2); var atxt = "formData.total_amount"; th.setData({ [atxt]: total_m, }) var order_m = total_m; var txt2 = "formData.order_amount"; th.setData({ [txt2]: order_m }) }, //-- 要弹起来提示一下 -- submitForm: function() { var th = this; this.sendsm(function() { th.submit_func(); }) }, //--------------------提交订单----------------------- submit_func: async 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; //------------立即购买------------- console.log("buy_new"); th.data.bn_exp_type =1; var item = { 'user_id': to.globalData.user_id, 'account': th.data.formData.order_amount, 'store_id': oo.stoid, //商家 'list': new Array(), }; var gg = to.get_b_now(); if (!gg.pick_id) { getApp().showWarning("未找到门店"); return false; } var goods = { 'card_id': gg.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, 'prom_type': this.data.postdata.prom_type, //促销活动类型 'prom_id': this.data.postdata.prom_id, //促销活动id 'is_pd_normal': th.data.bn_goods.is_normal, //是否是普通购买 'is_pt_tz': th.data.is_pt_tz, //开团类型 }; if (!th.data.bn_goods.is_normal) { goods.is_zsorder = th.data.kt_type + 1; //开团类型 } if (th.data.qh != '') { goods.team_qh = th.data.qh; goods.pt_listno = th.data.qh; } if(this.data.postdata.prom_type == 1) { goods.price = this.data.postdata.prom_price; }; if(getApp().globalData.skinface_id){ goods.skinface_id=getApp().globalData.skinface_id; } //--导购分享过来的id-- if (gg.guide_id) { goods.guide_id = gg.guide_id; goods.guide_type = gg.guide_type; //调用接口判断是不是会员 await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then( res => { if (res.data.code == 0) { goods.guide_name = res.data.data.salesman; goods.guide_sn = res.data.data.salesman_no; } }) } //--商品的房间号-- if (gg.room_id && gg.room_id > 0) { item.room_ids = gg.room_id; goods.room_id = gg.room_id; } item.list.push(goods); pdata=item; if (pdata.length == 0) return false; //var str = JSON.stringify(pdata); //console.log(str,"----"); wx.showLoading({ title: "加载中" }); getApp().request.promisePost("/api/weshop/recharge/saveRecharge", { data: pdata,is_json:1,is_normal:1 }).then(res => { wx.hideLoading(); if (res.statusCode == 200) { var data = res.data; if (data.code == 0) { th.data.order_id = data.data.order_id; th.data.order_sn = data.data.order_sn; var order_amount = pdata.account; //要进行判断,如果是用微信支付,就要跳转到支付界面 if (order_amount > 0) { th.setData({ isclose: 0 }); t_pay.set_pay_url("/api/weshop/order/pay/createRechargeOrder"); t_pay.pay({ parentSn: data.data.order_sn, store_id: oo.stoid }, function () { wx.showToast({ title: '购买成功', icon: 'success', duration: 2000 }); setTimeout(function() { wx.redirectTo({ url: "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + data.data.order_sn }); }, 1000) }, function (e) { wx.showToast({ title: e, icon: 'none', duration: 2000 }); //-- 支付失败,要返回 -- setTimeout(function () { getApp().re_to("/pages/user/order_list/order_list?index=2&tabindex=1"); }, 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); } }).catch(function(err) { th.data.is_summit_ing = 0; //是否提交中 wx.hideLoading(); }) }, 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) { var th=this; 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("支付成功!"); wx.showToast({ title: '支付成功', icon: 'success', duration: 2000 }); "function" == typeof success && success(); }, 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(); } }) }, go_to:function (e) { var url=e.currentTarget.dataset.url; getApp().goto(url); } });