From e9222fa213c71f68de5e23918698065d427260b6 Mon Sep 17 00:00:00 2001 From: SelfRidicule Date: Wed, 6 Mar 2024 15:08:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=8F=E8=BF=B0:=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/api/meeting/meetingRoom.js | 8 ++ .../meetingDetail/meetingDetail.js | 84 +++++++++++++++++++ .../meetingDetail/meetingDetail.wxml | 18 ++-- .../meetingRecord/meetingRecord.js | 8 +- .../meetingRecord/meetingRecord.wxml | 22 +++-- miniprogram/utils/util.js | 22 ++++- 6 files changed, 143 insertions(+), 19 deletions(-) diff --git a/miniprogram/api/meeting/meetingRoom.js b/miniprogram/api/meeting/meetingRoom.js index 2b60351..38702c0 100644 --- a/miniprogram/api/meeting/meetingRoom.js +++ b/miniprogram/api/meeting/meetingRoom.js @@ -82,4 +82,12 @@ export function selectReservationListByUserIdRq(data) { method: "post", data }); +} + +// 根据id查询预约信息 +export function selectReservationByIdRq(id) { + return request({ + url: '/api/roomContent/selectReservationById/' + id , + method: "get", + }); } \ 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 ba92a53..15856e8 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.js +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.js @@ -1,5 +1,15 @@ const app = getApp() +import { + selfFormatTimeYMD, + selfFormatTimeHM, + twoTimeIntervalReturnHours +} from "../../../../../utils/util.js" + +import { + selectReservationByIdRq +} from "../../../../../api/meeting/meetingRoom.js" + Page({ /** @@ -7,13 +17,87 @@ Page({ */ data: { IMG_NAME: app.IMG_NAME, + id: null, + detail: null }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { + let _this = this; + _this.setData({ + ...options + }) + // 获取详情 + _this.getDetail(); + }, + // 获取详情 + getDetail() { + let _this = this; + let id = _this.data.id; + selectReservationByIdRq(id).then(res => { + let detail = res.data; + // 时间段 + detail.timeSlot = selfFormatTimeYMD(detail.startTime) + ' ' + selfFormatTimeHM(detail.startTime) + '~' + selfFormatTimeHM(detail.endDate); + // 合计时间 + detail.countTime = twoTimeIntervalReturnHours(detail.startTime, detail.endDate) + // 状态字体颜色 + let statusColor = "#FFB119"; + // 按钮是否显示 + let statusValue = detail.statusValue; + let showPay = false; + let showInvite = false; + let showCancel = false; + let showDetail = false; + // 待支付 0 :去支付、取消订单、查看详情 + if (statusValue == 0) { + showPay = true; + showCancel = true; + showDetail = true; + // 状态字体颜色 + statusColor = "#FFB119"; + } + // 待使用 1:去邀请、取消订单、查看详情 + if (statusValue == 1) { + showInvite = true; + showCancel = true; + showDetail = true; + // 状态字体颜色 + statusColor = "#3794FF"; + } + // 进行中 2:去邀请、查看详情 + if (statusValue == 2) { + showInvite = true; + showDetail = true; + // 状态字体颜色 + statusColor = "#FF4040"; + } + // 已结束 3:查看详情 + if (statusValue == 3) { + showDetail = true; + // 状态字体颜色 + statusColor = "#333333"; + } + // 已取消 4:查看详情 + if (statusValue == 4) { + showDetail = true; + // 状态字体颜色 + statusColor = "#7F7F7F"; + } + // + // 赋值 + detail.showPay = showPay; + detail.showInvite = showInvite; + detail.showCancel = showCancel; + detail.showDetail = showDetail; + // 状态字体颜色 + detail.statusColor = statusColor; + _this.setData({ + detail + }) + }) }, /** diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.wxml b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.wxml index 7c56f8e..8fe2197 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.wxml +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail.wxml @@ -4,13 +4,13 @@ - 10人间 | B2A | 3F - space spacespace spacespace spacespace spacespace space - 2023-01-01 10:10~12:12 + {{detail.roomContent.capacityNum}}人间 | {{detail.roomContent.roomName}} | {{detail.roomContent.buildingName}} + {{detail.title}} + {{detail.timeSlot}} - ¥200.00 - /半小时 + ¥{{detail.roomContent.money}} + /{{detail.roomContent.duration}}小时 @@ -20,19 +20,19 @@ 基本信息 会议时间 - 2024-01-01 10:10~11:10 共计1小时 + {{detail.timeSlot}} 共计{{detail.countTime}}小时 会议主题 - My Meeting Room + {{detail.title}} 会议预约人 - admin + 联系方式 - 10086 + 订单信息 diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js index df64ac9..0b00358 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js @@ -134,11 +134,13 @@ Page({ url: "/pages/meeting/pay/waitPay/waitPay" }) }, - + // 跳转-预约详情 - jumpMeetingDetail() { + jumpMeetingDetail(e) { + console.log('jumpMeetingDetail' , e); + let id = e.currentTarget.dataset.id wx.navigateTo({ - url: "/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail", + url: "/pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail?id=" + id, }) }, diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml index e71bf4a..c5736be 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml @@ -1,5 +1,5 @@ - + @@ -27,14 +27,24 @@ 查看详情 - - + + + + {{item.reservationNumber}} + {{item.statusName}} + + + + + {{item.roomContent.capacityNum}}人间 | {{item.roomContent.roomName}} | {{item.roomContent.buildingName}} + {{item.title}} + {{item.timeSlot}} + + + - - - \ No newline at end of file diff --git a/miniprogram/utils/util.js b/miniprogram/utils/util.js index a0adb6e..a4af14b 100644 --- a/miniprogram/utils/util.js +++ b/miniprogram/utils/util.js @@ -169,6 +169,25 @@ function twoTimeInterval(startTime, endTime) { return returnVal; } + +/** + * JS 计算两个时间间隔多久(时) + * @param startTime "2019-10-23 15:27:23" + * @param endTime "2019-10-23 15:27:55" + * @return 12时 + */ +function twoTimeIntervalReturnHours(startTime, endTime) { + // 开始时间 + let date1 = new Date(startTime); + // 结束时间 + let date2 = new Date(endTime); + // 时间相差秒数 + let dateDiff = date2.getTime() - date1.getTime(); + // 计算出小时数 + let hours = Math.floor(dateDiff / (3600 * 1000)); + return hours; +} + const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n @@ -186,5 +205,6 @@ module.exports = { selfFormatTimeYMD, selfFormatTimeHM, selfFormatTimeYMDH, - twoTimeInterval + twoTimeInterval, + twoTimeIntervalReturnHours } \ No newline at end of file