diff --git a/pages/make_order/make_order/make_order.js b/pages/make_order/make_order/make_order.js index 8bd0558..139d5a2 100644 --- a/pages/make_order/make_order/make_order.js +++ b/pages/make_order/make_order/make_order.js @@ -1,238 +1,298 @@ // pages/user/make_order/make_order.js import Dialog from "@vant/weapp/dialog/dialog" import { - httpUtil, - http + httpUtil, + http } from '../../../utils/util' Page({ - /** - * 页面的初始数据 - */ - data: { - rolled:true, - max_viewer_num:6 - }, - roll_spread() { - this.setData({ - rolled: !this.data.rolled - }) - }, - viewer_nav(){ - wx.navigateTo({ - url: '/pages/user/viewer_list/viewer_list?_add=1', - }) - }, - de(){ - this.setData({fee_detail:!this.data.fee_detail}) - }, - - check(event){ - this.setData({ - checked: event.detail, - }); - }, - agreement(){ -this.setData({show:true}) - }, - viewer_sel(event) { - this.setData({ - viewer_sel: event.detail - }); - }, - - toggle(event) { - const { - index - } = event.currentTarget.dataset; - const checkbox = this.selectComponent(`.checkboxes-${index}`); - checkbox.toggle(); - }, - - noop() {}, - onSubmit() { - if(this.data._info.show_info.is_real_name==1){ - var tid = this.data.tid - var viewer_id = this.data.viewer_sel - if (viewer_id && tid.split(',').length == viewer_id.length) { - if(this.data.checked){ - this.setData({show1:true}) - }else{ - wx.showToast({ - title: '请勾选服务条款', - icon: 'none', - duration: 2000 - }) - } -} else { - wx.showToast({ - title: '观演人数和座位数不符', - icon: 'none', - duration: 2000 - }) -}}else if(this.data._info.show_info.is_real_name==2){ - var tid = this.data.tid - var viewer_id = this.data.viewer_sel - if (viewer_id && viewer_id.length==1) { - if(this.data.checked){ - this.setData({show1:true}) -}else{ - wx.showToast({ - title: '请勾选服务条款', - icon: 'none', - duration: 2000 - }) -} -} else { -wx.showToast({ - title: '观演人数和座位数不符', - icon: 'none', - duration: 2000 -}) -}} -else{ - if(this.data.checked){ - this.setData({show1:true}) - }else{ - wx.showToast({ - title: '请勾选服务条款', - icon: 'none', - duration: 2000 - }) - } -} - }, - pay() { - var tid = this.data.tid - var viewer_id = this.data.viewer_sel - var arr = "" - for (var i in viewer_id) { - arr += "," + viewer_id[i] - } - viewer_id = arr.substring(1) - var order_data - let coupon =this.data.coupon - if (coupon && coupon.coupon_id && "underfined" !== coupon.coupon_id) { - order_data = { - order_type:8, - tid, - viewer_id, - coupon_id: coupon.coupon_id + /** + * 页面的初始数据 + */ + data: { + rolled: true, + max_viewer_num: 6 + }, + roll_spread() { + this.setData({ + rolled: !this.data.rolled + }) + }, + viewer_nav() { + wx.navigateTo({ + url: '/pages/user/viewer_list/viewer_list?_add=1', + }) + }, + de() { + this.setData({ + fee_detail: !this.data.fee_detail + }) + }, + + check(event) { + this.setData({ + checked: event.detail, + }); + }, + agreement() { + this.setData({ + show: true + }) + }, + viewer_sel(event) { + this.setData({ + viewer_sel: event.detail + }); + }, + + toggle(event) { + const { + index + } = event.currentTarget.dataset; + const checkbox = this.selectComponent(`.checkboxes-${index}`); + checkbox.toggle(); + }, + + noop() {}, + onSubmit() { + if (this.data._info.show_info.is_real_name == 1) { + var tid = this.data.tid + var viewer_id = this.data.viewer_sel + if (viewer_id && tid.split(',').length == viewer_id.length) { + if (this.data.checked) { + this.setData({ + show1: true + }) + } else { + wx.showToast({ + title: '请勾选服务条款', + icon: 'none', + duration: 2000 + }) + } + } else { + wx.showToast({ + title: '观演人数和座位数不符', + icon: 'none', + duration: 2000 + }) + } + } else if (this.data._info.show_info.is_real_name == 2) { + var tid = this.data.tid + var viewer_id = this.data.viewer_sel + if (viewer_id && viewer_id.length == 1) { + if (this.data.checked) { + this.setData({ + show1: true + }) + } else { + wx.showToast({ + title: '请勾选服务条款', + icon: 'none', + duration: 2000 + }) + } + } else { + wx.showToast({ + title: '观演人数和座位数不符', + icon: 'none', + duration: 2000 + }) + } + } else { + if (this.data.checked) { + this.setData({ + show1: true + }) + } else { + wx.showToast({ + title: '请勾选服务条款', + icon: 'none', + duration: 2000 + }) + } } - } else { - order_data = { - order_type:8, - tid, - viewer_id + }, + pay() { + var tid = this.data.tid + var viewer_id = this.data.viewer_sel + var arr = "" + for (var i in viewer_id) { + arr += "," + viewer_id[i] } - } - http("/api/v1/order-submit", "post", order_data).then(res => { - wx.requestPayment({ - timeStamp: res.timestamp, - nonceStr: res.nonceStr, - package: res.package, - signType: res.signType, - paySign: res.paySign, - success(res) { - console.log(res) - wx.showToast({ - title: '支付成功!', - icon: 'success', - duration: 1000 - }) - setTimeout(function(){ - wx.reLaunch({ - url: '/pages/user/my_order/my_order' - }) - }, 500); - }, - fail(res) { - wx.showToast({ - title: '支付未成功', - icon:'error', - duration: 2000 + viewer_id = arr.substring(1) + var order_data + let coupon = this.data.coupon + if (coupon && coupon.coupon_id && "underfined" !== coupon.coupon_id) { + order_data = { + order_type: 8, + tid, + viewer_id, + coupon_id: coupon.coupon_id + } + } else { + order_data = { + order_type: 8, + tid, + viewer_id + } + } + http("/api/v1/order-submit", "post", order_data).then(res => { + wx.requestPayment({ + timeStamp: res.timestamp, + nonceStr: res.nonceStr, + package: res.package, + signType: res.signType, + paySign: res.paySign, + success(res) { + console.log(res) + wx.showToast({ + title: '支付成功!', + icon: 'success', + duration: 1000 + }) + setTimeout(function () { + wx.reLaunch({ + url: '/pages/user/my_order/my_order' + }) + }, 500); + }, + fail(res) { + wx.showToast({ + title: '支付未成功', + icon: 'error', + duration: 2000 + }) + setTimeout(function () { + wx.reLaunch({ + url: '/pages/user/my_order/my_order' + }) + }, 500); + } }) - setTimeout(function(){ - wx.reLaunch({ - url: '/pages/user/my_order/my_order' - }) - }, 500); - } }) - }) - }, + }, + // 使用最大减免优惠券 +getRecommendCoupons(drama_id,tid){ + http('/api/v1/coupon-list', "post", {drama_id,tid,mode:1}).then(Response => { + if (Response.coupon_list.length > 0) { + let coupon_list = Response.coupon_list + + // 去除日期格式 + let a = [] + coupon_list.forEach((item) => { + item.end_date = item.end_date.replace(/[\u4e00-\u9fa5]/g, '') + a.push(item) + }) + coupon_list = a + // 优惠券筛选策略 + function couponSort(list, params) { + let descList + if (arguments[2] == 'asc') { + descList = list.sort((a, b) => { + return a[params] - b[params] + }) + } else { + descList = list.sort((a, b) => { + return b[params] - a[params] + }) + } + let l = [] + l.push(descList[0]) + descList.forEach((item, index) => { + if (index != 0 && item[params] == l[0][params]) { + l.push(item) + } + }) + return l; + } + + let recommendCoupons = couponSort(couponSort(couponSort(coupon_list, "subtract"), 'full'), 'end_date', 'asc') + if (recommendCoupons && recommendCoupons.length > 0) { + this.setData({ + coupon: recommendCoupons[0] + }) + } + } + }) +}, - /** - * 生命周期函数--监听页面加载 - */ - onLoad: function (options) { - http("/api/v1/order-confirm", "post", { - tid:options.tid - }).then(res => { - let _info=res - /* ??????自己算总价???????? */ - let tprice = 0 - for(let i in _info.ticket_info){ - tprice+=_info.ticket_info[i].price*_info.ticket_info[i].tkt_num - } - this.setData({ - _info,tprice, - tid: options.tid, - drama_id: options.drama_id, - }) - }) - }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + http("/api/v1/order-confirm", "post", { + tid: options.tid + }).then(res => { + let _info = res + /* ??????自己算总价???????? */ + let tprice = 0 + for (let i in _info.ticket_info) { + tprice += _info.ticket_info[i].price * _info.ticket_info[i].tkt_num + } - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { + this.getRecommendCoupons(options.drama_id,options.tid) + + this.setData({ + _info, + tprice, + tid: options.tid, + drama_id: options.drama_id, + }) + }) - }, + }, - /** - * 生命周期函数--监听页面显示 - */ - onShow: function () { + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { - }, + }, - /** - * 生命周期函数--监听页面隐藏 - */ - onHide: function () { + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { - }, + }, - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { - }, + }, - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { - }, + }, - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { - }, + }, - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { - } -}) \ No newline at end of file + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) diff --git a/pages/make_order/make_order/make_order.wxml b/pages/make_order/make_order/make_order.wxml index 9c93133..7a38f08 100644 --- a/pages/make_order/make_order/make_order.wxml +++ b/pages/make_order/make_order/make_order.wxml @@ -13,7 +13,12 @@ 不支持退票 + + 不可开发票 + + 可开发票 + diff --git a/pages/opera/opera/opera_IP.wxml b/pages/opera/opera/opera_IP.wxml index 323c0ab..0ab4277 100644 --- a/pages/opera/opera/opera_IP.wxml +++ b/pages/opera/opera/opera_IP.wxml @@ -21,7 +21,7 @@ - + diff --git a/pages/user/order_detail/order_detail.wxml b/pages/user/order_detail/order_detail.wxml index 2c4a925..8cdc5f6 100644 --- a/pages/user/order_detail/order_detail.wxml +++ b/pages/user/order_detail/order_detail.wxml @@ -23,7 +23,12 @@ 不支持退票 + + 不可开发票 + + 可开发票 +