20250603-页面颜色修改,当天-黑色、第二天-蓝色、第三天-红色,剩余天数都为黑色

This commit is contained in:
luoyu 2025-06-03 09:32:41 +08:00
parent 76b2dfeae6
commit 3a078ac8a3
6 changed files with 121 additions and 16 deletions

View File

@ -247,6 +247,15 @@ Page({
getDataList() { getDataList() {
// 获取参数 // 获取参数
let _this = this; 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 tabTitle = _this.data.tabTitle
let userId = _this.data.userData.id let userId = _this.data.userData.id
let isDataAll = null let isDataAll = null
@ -278,9 +287,14 @@ Page({
pageSize, pageSize,
userId userId
} = param } = param
// 确保使用最新的用户角色
let currentUserData = wx.getStorageSync('user');
let currentRole = currentUserData ? currentUserData.roomRole : _this.data.userData.roomRole;
// 查询数据 // 查询数据
selectReservationListByUserIdRq({ selectReservationListByUserIdRq({
role: _this.data.userData.roomRole, // 按不同角色去查询预约记录。1.普通用户, 3.会议服务人员 ,5.会议管理员 role: currentRole, // 使用最新的角色
pageNum, pageNum,
pageSize, pageSize,
userId: _this.data.userData.id, // 确保传递用户ID userId: _this.data.userData.id, // 确保传递用户ID
@ -352,16 +366,39 @@ Page({
let _this = this; let _this = this;
let userRole = _this.data.userData.roomRole; // 获取用户角色 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 => { return queryDataList.map(item => {
let isNowDay = false // 会议开始日期
let nowDate = selfFormatTimeYMD(getNowDate()) let meetingDateStr = selfFormatTimeYMD(item.start);
if (nowDate == selfFormatTimeYMD(item.start)) {
isNowDay = true // 判断是哪一天
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); item.timeSlot = selfFormatTimeYMD(item.start) + ' '+ getWeekday(item.start) +' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end);
// 状态字体颜色 // 状态字体颜色
let statusColor = "#FFB119"; let statusColor = "#FFB119";
// 按钮是否显示 // 按钮是否显示
@ -740,8 +777,23 @@ Page({
*/ */
onShow() { onShow() {
let _this = this; 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({ _this.setData({
dataChange: false, dataChange: false,

View File

@ -15,8 +15,7 @@
</van-dropdown-menu> </van-dropdown-menu>
<view class="itemView" wx:for="{{reservationDataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{reservationDataList}}" wx:for-item="item" wx:key="*this">
<view class="headView"> <view class="headView">
<view wx:if="{{!item.isNowDay}}" class="number" style="color: {{item.weekDay === '星期一' || item.weekDay === '星期三' || item.weekDay === '星期五' ? '#4e96f8' : '#333333'}};">{{item.timeSlot}}</view> <view class="number {{item.isToday ? 'date-today' : (item.isSecondDay ? 'date-second-day' : (item.isThirdDay ? 'date-third-day' : 'date-other-day'))}}">{{item.timeSlot}}</view>
<view wx:if="{{item.isNowDay}}" class="number" style="color: #FF4D4F;">{{item.timeSlot}}</view>
<view class="status" style="color: {{item.statusColor}};">{{item.statusName}}</view> <view class="status" style="color: {{item.statusColor}};">{{item.statusName}}</view>
</view> </view>
<view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}"> <view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">

View File

@ -27,6 +27,23 @@
white-space: nowrap; 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 { .itemView .headView .status {
font-size: 30rpx; font-size: 30rpx;
color: #4e96f8; color: #4e96f8;

View File

@ -376,11 +376,32 @@ Page({
// 判断是否是当天 // 判断是否是当天
let isNowDay = false let isNowDay = false
let nowDate = selfFormatTimeYMD(getNowDate()) let nowDate = selfFormatTimeYMD(getNowDate())
if (nowDate == selfFormatTimeYMD(item.start)) { let meetingDate = selfFormatTimeYMD(item.start)
if (nowDate == meetingDate) {
isNowDay = true isNowDay = true
} }
item.isNowDay = isNowDay 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.weekDay = getWeekday(item.start)
item.timeSlot = selfFormatTimeYMD(item.start) + ' ' + getWeekday(item.start) + ' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end); item.timeSlot = selfFormatTimeYMD(item.start) + ' ' + getWeekday(item.start) + ' ' + selfFormatTimeHM(item.start) + '~' + selfFormatTimeHM(item.end);

View File

@ -66,9 +66,8 @@
</van-dropdown-menu> </van-dropdown-menu>
<view class="itemView" wx:for="{{reservationDataList}}" wx:for-item="item" wx:key="*this"> <view class="itemView" wx:for="{{reservationDataList}}" wx:for-item="item" wx:key="*this">
<view class="headView"> <view class="headView">
<!-- 根据是否当天和星期几设置不同颜色 --> <!-- 根据天数设置不同颜色:当天黑色、第二天蓝色、第三天红色、其余黑色 -->
<view wx:if="{{!item.isNowDay}}" class="number" style="color: {{item.weekDay === '星期一' || item.weekDay === '星期三' || item.weekDay === '星期五' ? '#4e96f8' : '#333333'}};">{{item.timeSlot}}</view> <view class="number" style="color: {{item.dayColorByDays}};">{{item.timeSlot}}</view>
<view wx:if="{{item.isNowDay}}" class="number" style="color: #FF4D4F;">{{item.timeSlot}}</view>
<view class="status" style="color: {{item.statusColor}};">{{item.statusName}}</view> <view class="status" style="color: {{item.statusColor}};">{{item.statusName}}</view>
</view> </view>
<view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}"> <view class="contentView" bind:tap="jumpMeetingDetail" data-id="{{item.id}}">

View File

@ -27,6 +27,23 @@
white-space: nowrap; 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 { .itemView .headView .status {
font-size: 30rpx; font-size: 30rpx;
color: #4e96f8; color: #4e96f8;