const app = getApp() Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: true, name: '我的报名', leftArrow: true, useBar: false }, searchInfo: {}, list: [], dialog: { title: '详细信息', show: false, type: '1' }, info: {}, }, // 跳转菜单 back(e) { wx.navigateBack({ delta: 1 }) }, // 查询 search: function (e) { const that = this; that.setData({ 'searchInfo.name': e.detail.value }); that.watchLogin() }, // 查看 toView: async function (e) { const that = this; const { item } = e.currentTarget.dataset; that.setData({ info: item }) that.setData({ dialog: { title: '详细信息', show: true, type: '1' } }) }, // 组队申请 toTeam: function (e) { const { item } = e.currentTarget.dataset; wx.navigateTo({ url: `/pages/usermyteam/add?id=${item.enroll_id}` }) }, // 支付 toPay: async function (e) { const that = this; const enroll_id = e.currentTarget.dataset?.item?.enroll_id; wx.getStorage({ key: 'user', success: async (res) => { let obj = { openid: res.data.openid, money: 0.1, enroll_id: enroll_id, type: '报名' } const arr = await app.$post(`/newCourt/api/payOrder`, obj) if (arr.errcode == '0') { wx.requestPayment({ "timeStamp": arr.data.wxSign.timestamp, "nonceStr": arr.data.wxSign.nonceStr, "package": `prepay_id=${arr.data.wxSign.prepay_id}`, "signType": arr.data.wxSign.signType, "paySign": arr.data.wxSign.paySign, "success": async function (res) { wx.showToast({ title: `支付成功`, icon: 'success', duration: 2000 }); const aee = await app.$post(`/newCourt/api/payOrder/${arr.data.data._id}`, { status: '1' }); if (aee.errcode == '0') { that.watchLogin(); } }, "fail": function (res) { wx.showToast({ title: `支付未成功`, icon: 'error', duration: 2000 }) that.watchLogin() }, }) } }, fail: async (res) => { wx.redirectTo({ url: '/pages/index/index' }); }, }); }, // 退款 toOut: async function (e) { const that = this; const { item } = e.currentTarget.dataset; const arr = await app.$post('/newCourt/api/payOrder/toRefund', { id: item.pay_id }) if (arr.errcode == '0') { wx.showToast({ title: `退款成功`, icon: 'success', duration: 2000 }); that.watchLogin(); } else { wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 }); } }, // 关闭弹框 toClose: function () { const that = this; that.setData({ dialog: { title: '详细信息', show: false, type: '1' } }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const that = this; that.watchLogin(); }, // 监听用户是否登录 watchLogin: async function () { const that = this; let searchInfo = that.data.searchInfo; wx.getStorage({ key: 'user', success: async res => { let info = {}; if (searchInfo && searchInfo.name) info.match_name = searchInfo.name; const arr = await app.$get(`/newCourt/api/view/myMatchList/`, { openid: res.data.openid, ...info }); if (arr.errcode == '0') { that.setData({ list: arr.data }) } }, fail: res => { wx.redirectTo({ url: '/pages/index/index', }) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })