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, 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, //是不是购物车进来的购买 template_id:[],//订阅消息 }, onLoad: async function(t) { //定义第一次进入 this.data.fir_in=1; 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 // }); // } // }) 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 }); //获取立即购买的商品信息 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 => { // console.log('+++++++++', res.data.code); if(res.data.code == 0) { good = res.data.data; item.img_url = oo.imghost + good.imgUrl; item.erpItemID = good.erpItemID; } }) // console.log('+++++++++', good); // item.img_url = oo.imghost + good.imgUrl; // 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; console.log('get_buy_goods', gg); //调用商品 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; if([1,2].includes(th.data.postdata.prom_type)) { let postdata = th.data.postdata; t.data.data.shop_price = postdata.prom_price; }; 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(this.data.fir_in){ this.data.fir_in=0; }else{ var fy=s.fy_back("/pages/user/order_list/order_list?index=2&tabindex=1",1); if(fy) return false; t_pay.set_fir(); var back_url="/packageG/pages/payment/pay_success/pay_success?card=1&order_id=" + th.data.order_id; //-- 通联的第三方支付的返回优化 -- 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/recharge/user/page", {data:{store_id:os.stoid,order_id:th.data.order_id,user_id:getApp().globalData.user_id }}).then(res=>{ if(ut.ajax_ok(res)){ var item=res.data.data.pageData[0]; if(item.pay_status==1){ //支付支付,返回首页 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" }) } //先获取是否有关闭使用优惠券 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 < item.length; j++) { o_price += item[j].money * item[j].goods_num; } var f_o_price = o_price; cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算 //计算物流费用 cart_item.shipping_price = 0; //总价计算,总价不包含运费 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; cart_item.order_prom_amount = 0; coupon_price = quan_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.bn_use_money == 1 && th.data.is_b_now == 1) { if (umoney > cart_item.order_amount) { cart_item.user_money = cart_item.order_amount; umoney = umoney - cart_item.order_amount; } else { cart_item.user_money = umoney; umoney = 0; } } else { //--------------如果使用余额,购物车购买--------------------- if (th.data.js_use_money == 1) { if (umoney > cart_item.order_amount) { cart_item.user_money = cart_item.order_amount; umoney = umoney - cart_item.order_amount; } else { cart_item.user_money = umoney; umoney = 0; } } else { cart_item.user_money = 0; } } 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]; if (!gg.pick_id) { getApp().showWarning("未找到门店"); return false; } if ((gg.prom_type == 1 && gg.is_pd_normal == 0) || gg.prom_type == 2) { // 秒杀活动购买 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, 'prom_type': gg.prom_type, //促销活动类型 'prom_id': gg.prom_id, //促销活动id }; } else { // 普通购买 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, }; if(gg.is_pd_normal){ goods.is_pd_normal=1; } } 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.groupchat_id) { goods.groupchat_id=gg.groupchat_id } item.list.push(goods); } } } else { var gg = getApp().globalData.service_now; if (!gg.pick_id) { getApp().showWarning("未找到门店"); return false; } var goods = { 'card_id': th.data.bn_goods.id, 'itemid': th.data.bn_goods.erpItemID, 'qty': gg.goods_num, 'price': th.data.bn_goods.money, // '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 }; if([1,2].includes(this.data.postdata.prom_type)) { goods.price = this.data.postdata.prom_price; }; if(getApp().globalData.skinface_id){ goods.skinface_id=getApp().globalData.skinface_id; } if(this.data.postdata && this.data.postdata.is_pd_normal==1){ goods.is_pd_normal=1; } //--导购分享过来的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.groupchat_id){ goods.groupchat_id=gg.groupchat_id } console.log('goooooooooooooooooods', goods); item.list.push(goods); } pdata = item; //var str = JSON.stringify(pdata); //console.log("支付数据"); //console.log(str); //return false; wx.showLoading({ title: "加载中" }); getApp().request.promisePost("/api/weshop/recharge/saveRecharge", { data: pdata, is_json: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; // console.log('myyyyyyyyyyyyyyyyyy', data.data); 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 }); 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.reLaunch({ url: "/packageG/pages/payment/pay_success/pay_success?card=1&order_id=" + th.data.order_id, }) }, 1000) },function (e){ console.log('kkkkkkk'); wx.showToast({ title: e, icon: 'none', duration: 2000 }); setTimeout(function () { wx.reLaunch({ url: "/pages/user/order_list/order_list?index=2&tabindex=1", }) }, 1000) } ) // getApp().request.post("/api/weshop/order/pay/createRechargeOrder", { // data: { // parentSn: data.data.order_sn, // store_id: oo.stoid // }, // success: function(su) { // // if(su.data.code==0) { // // var n = su.data.data; // // console.log('su---->', n); // let order_id = data.data.order_id; // th.weixinPay(n, // function () { // // getApp().showWarning("购买成功"); // wx.showToast({ // title: '购买成功', // icon: 'success', // duration: 2000 // }); // setTimeout(function () { // wx.reLaunch({ // url: "/packageG/pages/payment/pay_success/pay_success?card=1&order_id=" + order_id, // }) // }, 1000) // }, // function () { // getApp().showWarning("支付失败"); // setTimeout(function () { // wx.reLaunch({ // url: "/pages/user/order_list/order_list?index=2&tabindex=1", // }) // }, 1000) // }) // }else{ // // this.data.is_summit_ing = 0; // // wx.showToast({ // title: su.data.msg, // icon: 'none', // duration: 2000 // }); // } // } // }) } } 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) { // error th.data.is_summit_ing = 0; //是否提交中 wx.hideLoading(); console.log("index.js wx.request CheckCallUser fail"); }); }, 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; getApp().globalData.no_clear=1; wx.requestPayment({ timeStamp: String(n.timeStamp), nonceStr: n.nonceStr, package: n.packageValue, signType: n.signType, paySign: n.paySign, success: function(n) { // console.log(n), getApp().showSuccess("支付成功!"); wx.showToast({ title: '支付成功', icon: 'success', duration: 2000 }); "function" == typeof success && success(); wx.redirectTo({ url: "/packageG/pages/payment/pay_success/pay_success?card=1&order_id=" + th.data.order_id, }); }, fail: function(n) { console.log(n), "requestPayment:fail" == n.errMsg ? getApp().showWarning("支付失败") : "requestPayment:fail cancel" == n.errMsg ? getApp().showWarning("您已取消支付") : getApp().showWarning("支付失败:" + n .errMsg.substr("requestPayment:fail ".length)), "function" == typeof fail && fail(); } }); }, //订阅消息提醒 sendsm: function(func) { var template_id = this.data.template_id; // //授权订阅 wx.requestSubscribeMessage({ tmplIds: template_id, success(res) { func(); }, fail(res) { func(); } }) }, //立即购买的点击跳转 go_view(){ if(!this.data.postdata.prom_type) this.data.postdata.prom_type=0; let url='packageH/pages/goodsInfo/goodsInfo?goods_id='+this.data.postdata.id; switch(this.data.postdata.prom_type){ case 1: url+= '&prom_id='+this.data.postdata.prom_id+'&prom_type=1'; break; case 2: url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+this.data.postdata.id+"&prom_id="+this.data.postdata.prom_id; break } getApp().goto(url); }, //购物车购买的点击跳转 go_cart_view(e){ let idx = e.currentTarget.dataset.idx; let pidx=e.currentTarget.dataset.pidx; let item=this.data.cartlist[pidx].goods[idx]; let url='packageH/pages/goodsInfo/goodsInfo?goods_id='+this.data.postdata.id; switch(item.prom_type){ case 1: url+= '&prom_id='+item.prom_id+'&prom_type=1'; break; case 2: url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+item.service_id+"&prom_id="+item.prom_id; break } getApp().goto(url); } });