From a8fc49b797ac157e73edeb57a7743cf7bbaf53f0 Mon Sep 17 00:00:00 2001 From: SelfRidicule Date: Thu, 7 Mar 2024 16:52:08 +0800 Subject: [PATCH] 1 --- miniprogram/api/meeting/meetingRoom.js | 11 ++- .../meetingRoom/meetingOrder/meetingOrder.js | 2 +- .../meeting/pay/waitComplete/waitComplete.js | 6 +- .../pages/meeting/pay/waitPay/waitPay.js | 94 +++++++++++++++++-- .../pages/meeting/pay/waitPay/waitPay.json | 3 +- .../pages/meeting/pay/waitPay/waitPay.wxml | 11 ++- .../meetingDetail/meetingDetail.js | 2 +- .../meetingRecord/meetingRecord.js | 2 +- 8 files changed, 115 insertions(+), 16 deletions(-) diff --git a/miniprogram/api/meeting/meetingRoom.js b/miniprogram/api/meeting/meetingRoom.js index b580175..2d76004 100644 --- a/miniprogram/api/meeting/meetingRoom.js +++ b/miniprogram/api/meeting/meetingRoom.js @@ -135,11 +135,20 @@ export function roomContentAddVisitorRq(data) { }); } -// 取消预约 +// 会议室-取消预约 export function cancelOrderRq(data) { return request({ url: '/api/roomContent/cancelOrder', method: "post", data }); +} + +// 会议室-支付订单 +export function meetingRoomPayOrderRq(data) { + return request({ + url: '/api/roomContent/payOrder', + method: "post", + data + }); } \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js index e4df5c2..e049753 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js +++ b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js @@ -189,7 +189,7 @@ Page({ console.log('saveMeetingRecordRq', res); if (res.code == 0) { wx.redirectTo({ - url: "/pages/meeting/pay/waitPay/waitPay", + url: "/pages/meeting/pay/waitPay/waitPay?id=" + res.reservationId, }) } else { // 错误提示 diff --git a/miniprogram/pages/meeting/pay/waitComplete/waitComplete.js b/miniprogram/pages/meeting/pay/waitComplete/waitComplete.js index 7117c73..6a6857b 100644 --- a/miniprogram/pages/meeting/pay/waitComplete/waitComplete.js +++ b/miniprogram/pages/meeting/pay/waitComplete/waitComplete.js @@ -1,4 +1,3 @@ -// pages/meeting/pay/waitComplete/waitComplete.js Page({ /** @@ -12,7 +11,10 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - + let _this = this; + _this.setData({ + ...options + }) }, // 跳转-会议预约记录 diff --git a/miniprogram/pages/meeting/pay/waitPay/waitPay.js b/miniprogram/pages/meeting/pay/waitPay/waitPay.js index 237fb6a..a2480ea 100644 --- a/miniprogram/pages/meeting/pay/waitPay/waitPay.js +++ b/miniprogram/pages/meeting/pay/waitPay/waitPay.js @@ -1,23 +1,105 @@ +import Notify from '@vant/weapp/notify/notify'; + +import { + meetingRoomPayOrderRq, + selectReservationByIdRq, +} from "../../../../api/meeting/meetingRoom.js" + Page({ /** * 页面的初始数据 */ data: { - countdownTime: 5 * 60 * 1000 // 单位毫秒 + countdownTime: 0, // 单位毫秒 + timeData: {}, + showPay: false, + detail: {} }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - + let _this = this; + _this.setData({ + ...options + }) + // 获取详细信息 + _this.getDetail(); }, - // 跳转-完成页面 - jumpComplete() { - wx.reLaunch({ - url: '/pages/meeting/pay/waitComplete/waitComplete', + // 获取详细信息 + getDetail() { + let _this = this; + selectReservationByIdRq(_this.data.id).then(res => { + let detail = res.data; + // 支付时间 = 订单创建时间 + 5分钟 + let payTime = new Date(detail.createTime).getTime() + 5 * 60 * 1000 + // 当前时间 + let nowTime = new Date().getTime(); + // 还剩多长时间 + let residueTime = payTime - nowTime; + // 订单时间过期 + if (residueTime < 0) { + residueTime = 1 + } + _this.setData({ + detail, + countdownTime: residueTime, // 单位毫秒 + }) + }) + }, + + // 时间改变 + changeTime(e) { + let _this = this; + this.setData({ + timeData: e.detail, + }); + // 倒计时 + let hours = e.detail.hours + let minutes = e.detail.minutes + let seconds = e.detail.seconds + // 倒计时结束 + if (hours <= 0 && minutes <= 0 && seconds <= 0) { + // 消息提示 + Notify({ + message: '订单已过期!', + color: '#FB4B4B', + background: '#FBE9E9', + duration: 5000, + }); + _this.setData({ + showPay: false, + }); + } else { + _this.setData({ + showPay: true, + }); + } + }, + + // 确认支付 + payComplete() { + let _this = this; + meetingRoomPayOrderRq({ + id: _this.data.id + }).then(res => { + console.log('meetingRoomPayOrderRq', res); + if (res.code == 0) { + wx.reLaunch({ + url: '/pages/meeting/pay/waitComplete/waitComplete', + }) + } else { + // 消息提示 + Notify({ + message: res.msg, + color: '#FB4B4B', + background: '#FBE9E9', + duration: 3000, + }); + } }) }, diff --git a/miniprogram/pages/meeting/pay/waitPay/waitPay.json b/miniprogram/pages/meeting/pay/waitPay/waitPay.json index 5aecf2b..5ca6fd1 100644 --- a/miniprogram/pages/meeting/pay/waitPay/waitPay.json +++ b/miniprogram/pages/meeting/pay/waitPay/waitPay.json @@ -1,6 +1,7 @@ { "usingComponents": { - "van-count-down": "@vant/weapp/count-down/index" + "van-count-down": "@vant/weapp/count-down/index", + "van-notify": "@vant/weapp/notify/index" }, "navigationBarTitleText": "支付订单" } \ No newline at end of file diff --git a/miniprogram/pages/meeting/pay/waitPay/waitPay.wxml b/miniprogram/pages/meeting/pay/waitPay/waitPay.wxml index c3a20ab..f4ad42b 100644 --- a/miniprogram/pages/meeting/pay/waitPay/waitPay.wxml +++ b/miniprogram/pages/meeting/pay/waitPay/waitPay.wxml @@ -2,12 +2,17 @@ - - ¥200.00 + + 支付剩余时间: {{ timeData.minutes }}分{{ timeData.seconds }}秒 + + ¥{{detail.orderMoney}} 支付金额 - 确认支付 + 确认支付 + + + \ No newline at end of file diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.js b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.js index b2fc6a7..1b70c8f 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.js +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.js @@ -153,7 +153,7 @@ Page({ jumpPay(e) { console.log('jumpPay', e); wx.navigateTo({ - url: "/pages/meeting/pay/waitPay/waitPay?id=" + e.currentTarget.dataset.id + url: "/pages/meeting/pay/waitPay/waitPay?id=" + e.currentTarget.dataset.id + "&type=meetingRoom" }) }, diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js index 139ab81..268b69f 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js @@ -238,7 +238,7 @@ Page({ jumpPay(e) { console.log('jumpPay', e); wx.navigateTo({ - url: "/pages/meeting/pay/waitPay/waitPay?id=" + e.currentTarget.dataset.id + url: "/pages/meeting/pay/waitPay/waitPay?id=" + e.currentTarget.dataset.id + "&type=meetingRoom" }) },