From 54124297bcba010a83158d018885b031f1c7949e Mon Sep 17 00:00:00 2001 From: SelfRidicule Date: Thu, 7 Mar 2024 11:12:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=8F=E8=BF=B0:=E9=A2=84=E7=BA=A6=E8=AE=B0?= =?UTF-8?q?=E5=BD=95-=E5=8F=82=E4=B8=8E=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/api/meeting/meetingRoom.js | 10 +- .../meetingOrder/meetingOrder.json | 3 +- .../meetingRecord/meetingRecord.js | 261 +++++++++++++----- .../meetingRecord/meetingRecord.json | 3 +- .../meetingRecord/meetingRecord.wxml | 25 +- .../meetingRecord/meetingRecord.wxss | 6 +- 6 files changed, 230 insertions(+), 78 deletions(-) diff --git a/miniprogram/api/meeting/meetingRoom.js b/miniprogram/api/meeting/meetingRoom.js index 0519d26..8ebcf8e 100644 --- a/miniprogram/api/meeting/meetingRoom.js +++ b/miniprogram/api/meeting/meetingRoom.js @@ -75,7 +75,7 @@ export function saveMeetingRecordRq(data) { }); } -// 根据用户id查询已预约的列表 +// 根据用户id查询预约记录 export function selectReservationListByUserIdRq(data) { return request({ url: '/api/roomContent/selectReservationListByUserId?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize, @@ -84,6 +84,14 @@ export function selectReservationListByUserIdRq(data) { }); } +// 根据用户id查询参与记录 +export function selectVisitorInvitationRecordRq(data) { + return request({ + url: '/api/visitor/selectVisitorInvitationRecord/' + data.userId + '?pageNum=' + data.pageNum + '&pageSize=' + data.pageSize, + method: "get", + }); +} + // 根据id查询预约信息 export function selectReservationByIdRq(id) { return request({ diff --git a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.json b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.json index 918dc67..a78be73 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.json +++ b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.json @@ -3,7 +3,8 @@ "van-icon": "@vant/weapp/icon/index", "van-field": "@vant/weapp/field/index", "van-dialog": "@vant/weapp/dialog/index", - "van-notify": "@vant/weapp/notify/index" + "van-notify": "@vant/weapp/notify/index", + "van-checkbox": "@vant/weapp/checkbox/index" }, "navigationBarTitleText": "预约信息" } \ No newline at end of file diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js index b1935e9..d823710 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js @@ -6,7 +6,8 @@ import { } from "../../../../utils/util.js" import { - selectReservationListByUserIdRq + selectReservationListByUserIdRq, + selectVisitorInvitationRecordRq } from "../../../../api/meeting/meetingRoom.js" Page({ @@ -17,10 +18,17 @@ Page({ data: { IMG_NAME: app.IMG_NAME, userData: null, - pageNum: 1, - pageSize: 10, - dataList: [], - isDataAll: false, + tabTitle: '预约记录', + // 预约记录参数 + reservationPageNum: 1, + reservationPageSize: 4, + reservationDataList: [], + reservationIsDataAll: false, + // 参与记录参数 + participatePageNum: 1, + participatePageSize: 4, + participateDataList: [], + participateIsDataAll: false, }, /** @@ -32,21 +40,76 @@ Page({ userData: wx.getStorageSync('user'), }) // 获取数据 - _this.getDataList() + let userId = _this.data.userData.id + // 获取预约数据 + _this.getReservationData({ + userId, + pageNum: _this.data.reservationPageNum, + pageSize: _this.data.reservationPageSize, + }) + // 获取参与数据 + _this.getParticipateData({ + userId, + pageNum: _this.data.participatePageNum, + pageSize: _this.data.participatePageSize + }) }, // 获取数据 getDataList() { // 获取参数 let _this = this; - let isDataAll = _this.data.isDataAll - let pageNum = _this.data.pageNum - let pageSize = _this.data.pageSize + let tabTitle = _this.data.tabTitle let userId = _this.data.userData.id + let isDataAll = null + let pageNum = null + let pageSize = null + if (tabTitle == '预约记录') { + // 预约记录参数 + isDataAll = _this.data.reservationIsDataAll + pageNum = _this.data.reservationPageNum + pageSize = _this.data.reservationPageSize + + } else if (tabTitle == '预约记录') { + // 参与记录参数 + isDataAll = _this.data.participateIsDataAll + pageNum = _this.data.participatePageNum + pageSize = _this.data.participatePageSize + } else { + wx.showToast({ + title: `tab 切换错误(${tabTitle})`, + icon: 'none', + }); + return; + } + // 判断数据是否已全部加载 if (isDataAll) { return; } + // 传递参数 + let param = { + userId, + pageNum, + pageSize + } + if (tabTitle == '预约记录') { + // 获取预约数据 + _this.getReservationData(param) + } else if (tabTitle == '预约记录') { + // 获取参与数据 + _this.getParticipateData(param) + } + }, + + // 获取预约数据 + getReservationData(param) { + let _this = this; + let { + pageNum, + pageSize, + userId + } = param // 查询数据 selectReservationListByUserIdRq({ pageNum, @@ -55,79 +118,117 @@ Page({ }).then(res => { console.log('selectReservationListByUserIdRq', res); // 判断数据是否全部查询 - let queryDataList = res.rows; + let queryDataList = res.page.records; if (queryDataList && queryDataList.length > 0) { - // 格式化数据 - queryDataList = queryDataList.map(item => { - item.timeSlot = selfFormatTimeYMD(item.startTime) + ' ' + selfFormatTimeHM(item.startTime) + '~' + selfFormatTimeHM(item.endDate); - // 状态字体颜色 - let statusColor = "#FFB119"; - // 按钮是否显示 - let statusValue = item.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"; - } - // - // 赋值 - item.showPay = showPay; - item.showInvite = showInvite; - item.showCancel = showCancel; - item.showDetail = showDetail; - // 状态字体颜色 - item.statusColor = statusColor; - return item; - }) // 更新参数 - let dataList = _this.data.dataList.concat(queryDataList); - let pageNum = _this.data.pageNum + 1; + let reservationDataList = _this.data.reservationDataList.concat(_this.formartData(queryDataList)); + let reservationPageNum = _this.data.reservationPageNum + 1; _this.setData({ - pageNum, - dataList, + reservationPageNum, + reservationDataList, }) } else { _this.setData({ - isDataAll: true + reservationIsDataAll: true }) } }) }, + // 获取参与数据 + getParticipateData(param) { + let _this = this; + let { + pageNum, + pageSize, + userId + } = param + // 查询数据 + selectVisitorInvitationRecordRq({ + pageNum, + pageSize, + userId + }).then(res => { + console.log('selectVisitorInvitationRecordRq', res); + // 判断数据是否全部查询 + let queryDataList = res.page.records; + if (queryDataList && queryDataList.length > 0) { + // 更新参数 + let participateDataList = _this.data.participateDataList.concat(_this.formartData(queryDataList)); + let participatePageNum = _this.data.participatePageNum + 1; + _this.setData({ + participatePageNum, + participateDataList, + }) + } else { + _this.setData({ + participateIsDataAll: true + }) + } + }) + }, + + // 格式化数据 + formartData(queryDataList) { + // 格式化数据 + return queryDataList.map(item => { + item.timeSlot = selfFormatTimeYMD(item.startTime) + ' ' + selfFormatTimeHM(item.startTime) + '~' + selfFormatTimeHM(item.endDate); + // 状态字体颜色 + let statusColor = "#FFB119"; + // 按钮是否显示 + let statusValue = item.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"; + } + // + // 赋值 + item.showPay = showPay; + item.showInvite = showInvite; + item.showCancel = showCancel; + item.showDetail = showDetail; + // 状态字体颜色 + item.statusColor = statusColor; + return item; + }) + + }, + // 跳转-支付 jumpPay() { wx.navigateTo({ @@ -144,6 +245,24 @@ Page({ }) }, + // 跳转-参与详情 + jumpParticipateDetail(e) { + console.log('jumpParticipateDetail', e); + let id = e.currentTarget.dataset.id + wx.navigateTo({ + url: "/pages/meeting/invite/invite?id=" + id, + }) + }, + + // tab 点击切换 + tabClickSwitch(event) { + console.log('tabClickSwitch', event); + let _this = this; + _this.setData({ + tabTitle: event.detail.title + }) + }, + /** * 生命周期函数--监听页面初次渲染完成 */ diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.json b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.json index f0ba4ff..caa69c5 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.json +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.json @@ -1,7 +1,8 @@ { "usingComponents": { "van-tab": "@vant/weapp/tab/index", - "van-tabs": "@vant/weapp/tabs/index" + "van-tabs": "@vant/weapp/tabs/index", + "van-divider": "@vant/weapp/divider/index" }, "navigationBarTitleText": "会议预约记录", "onReachBottomDistance": 100 diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml index c824d99..6865167 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml @@ -1,7 +1,7 @@ - + - + {{item.reservationNumber}} {{item.statusName}} @@ -27,10 +27,29 @@ 查看详情 + + 数据已全部加载 + - + + + {{item.reservationNumber}} + {{item.statusName}} + + + + + {{item.roomContent.capacityNum}}人间 | {{item.roomContent.roomName}} | {{item.roomContent.buildingName}} + {{item.title}} + {{item.timeSlot}} + + + + + 数据已全部加载 + diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss index 0aa413a..27244b4 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss @@ -96,7 +96,7 @@ color: #4e96f8; } -.shareBtn{ +.shareBtn { position: absolute; z-index: 1; width: 100%; @@ -104,4 +104,8 @@ left: 0; top: 0; opacity: 0; +} + +.loadAllLine { + margin-top: 80rpx; } \ No newline at end of file