const app = getApp() Page({ /** * 页面的初始数据 */ data: { success: false, fail: false, name: '', addressId: 0, tel: '', area: '', address: '', cover_type: false, total: '', info: { address: { address: '', area: '', id: '', tel: '', name: '', goods: [] }, goods: {} }, totalnum: '', datak: 1, car_ids: [], user_ticket_id2: '', user_ticket_id1: '', coupon: '', couponone: '', nouse: '', obj: '', type: 0, combo_id: '', entrance_type: '', copyaddress: '', }, // 选择优惠券 selectcoupon(e) { let goods = this.data.info.goods; console.log(goods) let arr = [] goods.forEach(function (value, index, array) { arr.push(value.id) }) let couponid = e.currentTarget.dataset.id; console.log(couponid) wx.navigateTo({ url: '/pages/lingqucoupon/lingqucoupon?type=' + couponid + '&total=' + this.data.info.real_total + '&goods_ids=' + JSON.stringify(arr) }) }, // 领取优惠券 lingqucoupon() { wx.navigateTo({ url: '/pages/coupon/coupon?type=' + 2 }) }, //加减商品数量 num_change(e) { let that = this let num = Number(e.currentTarget.dataset.num) let type = e.currentTarget.dataset.type let index = e.currentTarget.dataset.index let id = e.currentTarget.dataset.id let check = e.currentTarget.dataset.check let coudan = this.data.coudan let coudan_arr = this.data.coudan_arr if (type == 1) { num++ } else { num-- if (num < 1) { return } } that.setData({ [`info.coudanProduct[${index}].num`]: num }) if (check) { coudan.forEach((item, index) => { if (item.id == id) { item.num = num coudan_arr[index].num = num } }) this.get_choudan() } }, // 计算凑单费用 get_choudan() { let coudan_arr = this.data.coudan_arr let choudan_money = 0; for (let obj of coudan_arr) { console.log(obj) console.log(obj.price2) if (obj.price2 != null) { console.log(111) choudan_money = (obj.price2 * 100 * obj.num) / 100 + choudan_money } else { console.log(222) choudan_money = (obj.price * 100 * obj.num) / 100 + choudan_money } } console.log(typeof (choudan_money)) console.log(choudan_money) this.setData({ choudan_money: choudan_money * 100 // choudan_money: Math.floor(choudan_money* 100) / 100 }) }, show_cover() { let that = this if (!that.data.cover_type) { if (that.data.info.status == 0) { that.setData({ fail: true }) return } if (!that.data.info.address) { wx.showToast({ title: '请添加地址', icon: 'none', duration: 1000 }) return } } that.setData({ cover_type: !this.data.cover_type }) }, // 去添加地址 add_address() { wx.navigateTo({ url: '/pages/address/address', }) }, //选择凑单商品 chooseGoods(e) { // coudan 凑单商品组成的数组 // coudan_type 凑单的状态 可能废弃 let that = this let coudan = this.data.coudan ? this.data.coudan : [] let coudan_arr = this.data.coudan_arr ? this.data.coudan_arr : [] let check = e.currentTarget.dataset.check let num = e.currentTarget.dataset.num let index = e.currentTarget.dataset.index let id = e.currentTarget.dataset.id let price = e.currentTarget.dataset.price; let price2 = e.currentTarget.dataset.price2; if (check) { check = 0 coudan.forEach((item, index) => { if (item.id == id) { coudan.splice(index, 1) coudan_arr.splice(index, 1) } }) } else { check = 1 //选中 coudan.push({ id: id, num: num }) coudan_arr.push({ id: id, num: num, price: Number(price), price2: Number(price2) }) } that.setData({ coudan: coudan, coudan_arr: coudan_arr, [`info.coudanProduct[${index}].check`]: check }) that.get_choudan() }, //获取页面信息 get_info(combo_id, data, address_id, user_ticket_id1, user_ticket_id2) { let that = this let url = that.data.type == 4 ? app.interface.prev_pay : that.data.type == 3 ? app.interface.now_prev_pay : '/order/affirm'; if (that.data.type == 3 || that.data.type == 4) { let params = { info: that.data.params, address_id: address_id } app.post(url, params).then((res) => { console.log('返回订单信息',res) console.log('99999', res, Number(res.msg.total)) res.msg.total = Number(res.msg.total * 100) res.msg.yunfei = Number(res.msg.yunfei * 100) let total = (res.msg.total + res.msg.yunfei).toFixed("1"); console.log(total) that.setData({ info: res.msg, total: total }) console.log('9988756', that.data.info) }) } else { let params = { combo_id: combo_id, data: data, address_id: address_id, user_ticket_id1: user_ticket_id1, user_ticket_id2: user_ticket_id2 } app.postk(url, params).then((res) => { console.log('订单',res) console.log('99999', res, Number(res.data.total)) let coupon = wx.getStorageSync('coupon'); if (coupon != '') { this.setData({ coupon: wx.getStorageSync('coupon') }) } let couponone = wx.getStorageSync('couponone'); if (couponone != '') { this.setData({ couponone: wx.getStorageSync('couponone') }) } console.log(this.data.couponone) res.data.total = Number(res.data.total * 100) / 100 res.data.freight = Number(res.data.freight * 100) / 100 res.data.sum_goods_total = Number(res.data.sum_goods_total * 100) / 100 // let total = (res.msg.total + res.data.yunfei).toFixed("1"); console.log(res.data) that.setData({ info: res.data, totalnum: res.data.goods.length, }) let info = that.data.info console.log(info) info.address = {} info.address.address = that.data.copyaddress.address info.address.area = that.data.copyaddress.area info.address.id = that.data.copyaddress.id info.address.tel = that.data.copyaddress.tel info.address.name = that.data.copyaddress.name that.setData({ info }) console.log(info) console.log('9988756', that.data.info.goods) }).catch(function (err) { console.log(err); }); } }, // get_info(type, info, id) { // let that = this // let url = type == 4 ? app.interface.prev_pay : app.interface.now_prev_pay // let params = { // info: info // } // app.post(url, params).then((res) => { // console.log('99999', res, Number(res.msg.total)) // res.msg.total = Number(res.msg.total * 100) // res.msg.yunfei = Number(res.msg.yunfei * 100) // let total = (res.msg.total + res.msg.yunfei).toFixed("1"); // console.log(total) // that.setData({ // info: res.msg, // total:total // }) // console.log('9988756', that.data.info) // }) // }, get_info1(combo_id, data, address_id, user_ticket_id1, user_ticket_id2) { let that = this // let url='/order/affirm' // 判断进入入口 let url = type == 3 ? app.interface.now_prev_pay : app.interface.prev_pay let params = { combo_id: combo_id, data: data, address_id: address_id, user_ticket_id1: user_ticket_id1, user_ticket_id2: user_ticket_id2, } app.postk(url, params).then((res) => { let couponone = wx.getStorageSync('couponone'); if (couponone != '') { this.setData({ couponone: wx.getStorageSync('couponone') }) } console.log(this.data.couponone) res.data.total = Number(res.data.total * 100) / 100 res.data.freight = Number(res.data.freight * 100) / 100 res.data.sum_goods_total = Number(res.data.sum_goods_total * 100) / 100 // let total = (res.msg.total + res.data.yunfei).toFixed("1"); that.setData({ info: res.data, totalnum: res.data.goods.length }) console.log('9988756', that.data.info.goods) }).catch(function (err) { console.log(err); }); }, //获取页面信息 get_youfei(id) { let that = this let url = that.data.type == 4 ? app.interface.youfei1 : app.interface.youfei let params = { info: that.data.params, address_id: id } app.post(url, params).then((res) => { that.setData({ "info.yunfei": Number(res.msg.yunfei) * 100 }) }) }, //点击支付 submit() { // let type = wx.getStorageSync('entrance_type'); // if(type==0){ let that = this let list = that.data.info.goods let coudan = that.data.coudan let info = [] if (that.data.type == 4) { for (let obj of list) { info.push({ goods_id: obj.id, number: obj.number }) } } else { for (let obj of list) { info.push({ goods_id: obj.id, number: obj.number }) } } if (coudan && coudan.length > 0) { info = info.concat(coudan) } let arr = []; arr.push(that.data.obj) let url = '/order/create_order'; console.log('9998887755', that.data.datak) let data = that.data.datak let params = { combo_id: that.data.combo_id, data: that.data.datak, car_ids: that.data.car_ids.join(","), // info: JSON.stringify(info), address_id: that.data.info.address.id, user_ticket_id1: that.data.user_ticket_id1, user_ticket_id2: that.data.user_ticket_id2, // data:JSON.stringify(arr), } console.log(params) app.postk(url, params).then((res) => { that.setData({ cover_type: false }) that.order_pay(res.data.order_id) }) // }else{ // this.submit_score() // } }, //点击支付 submit_score() { let that = this; let list = that.data.info.products let coudan = that.data.coudan let info = [] if (that.data.type == 4) { for (let obj of list) { info.push({ id: obj.product.id, num: obj.product.num }) } } else { for (let obj of list) { info.push({ id: obj.id, num: obj.num }) } console.log(info) } if (coudan && coudan.length > 0) { info = info.concat(coudan) } let url = app.interface.now_add let params = { address: that.data.info.address.id, info: JSON.stringify(info) } app.post(url, params).then((res) => { that.setData({ cover_type: false }) that.order_pay_score(res.msg) }) }, //积分商城订单支付 order_pay_score(order_odd) { let url = app.interface.order_pay let params = { order_odd: order_odd } app.post(url, params).then((res) => { this.setData({ order: res.msg }) if (res.msg.message == "支付成功") { this.setData({ success: true }) } else if (res.msg.message == "余额不足") { this.setData({ fail: true }) } }) }, //开放订单支付 order_pay(order_odd) { let that = this; let url = '/order/pay' let params = { order_id: order_odd } app.postk(url, params).then((res) => { that.payment(res.data) }) }, payment(res) { let that = this; console.log(347734748) var timeStamp = res.timeStamp.toString(); // console.log(timeStamp); wx.requestPayment({ timeStamp: timeStamp, nonceStr: res.nonceStr, package: res.package, signType: res.signType, paySign: res.paySign, success: function (res) { console.log(res) wx.redirectTo({ url: '/pages/order/order_list/order_list?type=' + 1 + '&statusk=' + 2, }) }, fail: function (res) { console.log(123); console.log(res); } }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (options.obj) { this.setData({ obj: JSON.parse(options.obj) }) } this.setData({ type: options.type, entrance_type: wx.getStorageSync('entrance_type'), params: options.info, datak: options.info, }) if (options.car_id) { this.setData({ car_ids: JSON.parse(options.car_id) }) } console.log('343购物车id', this.data.car_ids) this.get_info('', options.info, '', '', '') }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { let pages = getCurrentPages(); let currPage = pages[pages.length - 1] console.log('887766554', this.data.params) console.log(currPage.data) if (currPage.data.id) { this.setData({ "info.address.address": currPage.data.address, "info.address.area": currPage.data.area, "info.address.id": currPage.data.id, "info.address.tel": currPage.data.tel, "info.address.name": currPage.data.name, copyaddress: { address: currPage.data.address, area: currPage.data.area, id: currPage.data.id, tel: currPage.data.tel, name: currPage.data.name, } }) // this.get_youfei(currPage.data.user_ticket_id1) } console.log(this.data.info.address.address) this.setData({ user_ticket_id1: currPage.data.user_ticket_id1 }) this.get_info('', this.data.params, currPage.data.id, currPage.data.user_ticket_id1, currPage.data.user_ticket_id2) // if (currPage.data.user_ticket_id2) { // console.log(66666,this.data.params) // this.setData({ // user_ticket_id2:currPage.data.user_ticket_id2 // }) // this.get_info1('', this.data.params, '','',currPage.data.user_ticket_id2) // } // if (wx.getStorageSync('no_address')) { // wx.setStorageSync('no_address', false) // this.setData({ // "info.address": null // }) // } }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })