diff --git a/miniprogram/pages/meeting/reservationRecord/approve/approve.js b/miniprogram/pages/meeting/reservationRecord/approve/approve.js index af8c7db..5934cbb 100644 --- a/miniprogram/pages/meeting/reservationRecord/approve/approve.js +++ b/miniprogram/pages/meeting/reservationRecord/approve/approve.js @@ -247,6 +247,15 @@ Page({ getDataList() { // 获取参数 let _this = this; + + // 确保每次获取数据时使用最新的用户信息 + let currentUserData = wx.getStorageSync('user'); + if(currentUserData && (!_this.data.userData || _this.data.userData.roomRole !== currentUserData.roomRole)) { + _this.setData({ + userData: currentUserData + }); + } + let tabTitle = _this.data.tabTitle let userId = _this.data.userData.id let isDataAll = null @@ -278,9 +287,14 @@ Page({ pageSize, userId } = param + + // 确保使用最新的用户角色 + let currentUserData = wx.getStorageSync('user'); + let currentRole = currentUserData ? currentUserData.roomRole : _this.data.userData.roomRole; + // 查询数据 selectReservationListByUserIdRq({ - role: _this.data.userData.roomRole, // 按不同角色去查询预约记录。1.普通用户, 3.会议服务人员 ,5.会议管理员 + role: currentRole, // 使用最新的角色 pageNum, pageSize, userId: _this.data.userData.id, // 确保传递用户ID @@ -352,16 +366,39 @@ Page({ let _this = this; let userRole = _this.data.userData.roomRole; // 获取用户角色 + // 获取当前日期、第二天日期和第三天日期 + let nowDate = new Date(); + let secondDate = new Date(); + secondDate.setDate(nowDate.getDate() + 1); + let thirdDate = new Date(); + thirdDate.setDate(nowDate.getDate() + 2); + + // 格式化当前日期、第二天日期和第三天日期为YYYY-MM-DD格式 + let nowDateStr = selfFormatTimeYMD(nowDate); + let secondDateStr = selfFormatTimeYMD(secondDate); + let thirdDateStr = selfFormatTimeYMD(thirdDate); + return queryDataList.map(item => { - let isNowDay = false - let nowDate = selfFormatTimeYMD(getNowDate()) - if (nowDate == selfFormatTimeYMD(item.start)) { - isNowDay = true + // 会议开始日期 + let meetingDateStr = selfFormatTimeYMD(item.start); + + // 判断是哪一天 + item.isToday = meetingDateStr === nowDateStr; + item.isSecondDay = meetingDateStr === secondDateStr; + item.isThirdDay = meetingDateStr === thirdDateStr; + item.isNowDay = item.isToday; // 保持兼容性 + + // 添加星期几属性,但不再用于颜色判断 + item.weekDay = getWeekday(item.start); + + // 完全移除基于星期几的颜色逻辑 + // 确保不保留任何可能影响颜色的旧数据 + if(item.dateColor) { + delete item.dateColor; } - item.isNowDay = isNowDay - // 添加星期几属性用于颜色判断 - item.weekDay = getWeekday(item.start) + item.timeSlot = selfFormatTimeYMD(item.start) + ' '+ getWeekday(item.start) +' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end); + // 状态字体颜色 let statusColor = "#FFB119"; // 按钮是否显示 @@ -740,8 +777,23 @@ Page({ */ onShow() { let _this = this; - // 数据是否变化 - if (_this.data.dataChange) { + + // 每次页面显示时检查用户角色是否有变化 + let currentUserData = wx.getStorageSync('user'); + let userRoleChanged = false; + + // 检查用户角色是否发生变化 + if(_this.data.userData && currentUserData && _this.data.userData.roomRole !== currentUserData.roomRole) { + userRoleChanged = true; + // 更新用户数据 + _this.setData({ + userData: currentUserData + }); + console.log('用户角色已变更,重新加载数据'); + } + + // 数据是否变化或用户角色变化 + if (_this.data.dataChange || userRoleChanged) { // 刷新数据 _this.setData({ dataChange: false, diff --git a/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml b/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml index 1d4698e..0233a45 100644 --- a/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml +++ b/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml @@ -15,8 +15,7 @@ - {{item.timeSlot}} - {{item.timeSlot}} + {{item.timeSlot}} {{item.statusName}} diff --git a/miniprogram/pages/meeting/reservationRecord/approve/approve.wxss b/miniprogram/pages/meeting/reservationRecord/approve/approve.wxss index 65aa7a8..4b5a80d 100644 --- a/miniprogram/pages/meeting/reservationRecord/approve/approve.wxss +++ b/miniprogram/pages/meeting/reservationRecord/approve/approve.wxss @@ -27,6 +27,23 @@ white-space: nowrap; } +/* 添加明确的日期颜色类 */ +.date-today { + color: #333333 !important; +} + +.date-second-day { + color: #4e96f8 !important; +} + +.date-third-day { + color: #FF4D4F !important; +} + +.date-other-day { + color: #333333 !important; +} + .itemView .headView .status { font-size: 30rpx; color: #4e96f8; diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js index 1935416..1372da6 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.js @@ -376,11 +376,32 @@ Page({ // 判断是否是当天 let isNowDay = false let nowDate = selfFormatTimeYMD(getNowDate()) - if (nowDate == selfFormatTimeYMD(item.start)) { + let meetingDate = selfFormatTimeYMD(item.start) + + if (nowDate == meetingDate) { isNowDay = true } item.isNowDay = isNowDay + // 计算与今天相差的天数 + const today = new Date(nowDate); + const meetingDay = new Date(meetingDate); + const diffTime = meetingDay.getTime() - today.getTime(); + const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + + // 根据天数设置颜色 + let dayColorByDays = '#333333'; // 默认黑色 + if (diffDays === 0) { // 当天 + dayColorByDays = '#333333'; // 黑色 + } else if (diffDays === 1) { // 第二天 + dayColorByDays = '#4e96f8'; // 蓝色 + } else if (diffDays === 2) { // 第三天 + dayColorByDays = '#FF4D4F'; // 红色 + } else { // 其他天数 + dayColorByDays = '#333333'; // 黑色 + } + item.dayColorByDays = dayColorByDays; + // 添加星期几属性用于颜色判断 item.weekDay = getWeekday(item.start) item.timeSlot = selfFormatTimeYMD(item.start) + ' ' + getWeekday(item.start) + ' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end); diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml index 91e9740..5f74ad5 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxml @@ -66,9 +66,8 @@ - - {{item.timeSlot}} - {{item.timeSlot}} + + {{item.timeSlot}} {{item.statusName}} diff --git a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss index f842a92..c71e505 100644 --- a/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss +++ b/miniprogram/pages/meeting/reservationRecord/meetingRecord/meetingRecord.wxss @@ -27,6 +27,23 @@ white-space: nowrap; } +/* 添加明确的日期颜色类 */ +.date-today { + color: #333333 !important; +} + +.date-second-day { + color: #4e96f8 !important; +} + +.date-third-day { + color: #FF4D4F !important; +} + +.date-other-day { + color: #333333 !important; +} + .itemView .headView .status { font-size: 30rpx; color: #4e96f8;