更新 attendance-reminder.html

master
wangsiyuan 2023-12-27 11:33:38 +08:00
parent 7e274c5add
commit ae52b1869c
1 changed files with 128 additions and 16 deletions

View File

@ -7,6 +7,54 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link href="static/css/layui.css" rel="stylesheet"/>
<style>
.calendar-table {
width: 100%;
text-align: center;
border-collapse: collapse;
}
.calendar-table td {
font-size: 20px; /* 增加日期的字体大小 */
}
.signed {
color: #fff; /* 白色文字 */
background-color: green; /* 已签到日期的背景色 */
}
#current-time {
color: #16baaa;
margin-bottom: 15px;
}
#attendance-reminder {
color: #16baaa;
margin-bottom: 15px;
}
.reminder {
margin-top: 20px;
font-size: 16px;
text-align: center;
}
.calendar-table th {
background-color: #f2f2f2;
}
.color-box {
display: inline-block;
width: 20px;
height: 20px;
vertical-align: middle;
margin-right: 5px;
}
.required-sign {
background-color: #FFA07A; /* 需要签到日期的背景色 */
}
</style>
</head>
<body>
@ -43,22 +91,32 @@
</div>
</div>
<div class="layui-body">
<div id="sign-in-reminder" class="layui-container">
<h1>每日签到</h1>
<p>每天签到,享受连续签到奖励!</p>
<!-- 签到状态 -->
<div class="layui-row">
<div class="layui-col-xs12">
<div id="sign-in-status">你已连续签到 <span id="days-count">0</span></div>
</div>
</div>
<!-- 操作按钮 -->
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs12">
<button class="layui-btn" id="sign-in-btn">立即签到</button>
</div>
<div>
<!-- 动态显示当前时间的标题 -->
<h2 id="attendance-reminder">签到提醒 </h2>
<h2 id="current-time">当前时间</h2>
<table class="layui-table calendar-table" id="calendar">
<!-- 日历的头部 -->
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<!-- 日历的主体部分 -->
<tbody id="calendar-body">
<!-- 动态生成日历的日期部分 -->
</tbody>
</table>
<!-- 提醒内容 -->
<div class="reminder">
<span><span class="color-box" style="background-color: green;"></span>绿色代表当月已签到</span><br>
<span><span class="color-box" style="background-color: #FFA07A;"></span>颜色代表本月需要签到</span>
</div>
</div>
</div>
@ -91,6 +149,60 @@
});
});
});
layui.use(['layer'], function () {
var layer = layui.layer;
// 假设的已签到日期数据
var signedDays = [1, 5, 9]; // 这里仅为示例,实际应从服务器获取
var requiredSignDays = [2, 6, 15, 23];
// 动态生成日历
function generateCalendar() {
var today = new Date();
var currentMonth = today.getMonth();
var currentYear = today.getFullYear();
var firstDay = new Date(currentYear, currentMonth, 1).getDay();
var daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate();
var calendarHtml = '';
var day = 1;
for (var i = 0; i < 6; i++) {
calendarHtml += '<tr>';
for (var j = 0; j < 7; j++) {
if (i === 0 && j < firstDay) {
calendarHtml += '<td></td>';
} else if (day > daysInMonth) {
break;
} else {
var classes = '';
if (signedDays.includes(day)) classes += 'signed '; // 已签到
if (requiredSignDays.includes(day)) classes += 'required-sign'; // 需要签到
calendarHtml += `<td class="${classes}">${day}</td>`;
day++;
}
}
calendarHtml += '</tr>';
if (day > daysInMonth) {
break;
}
}
document.getElementById('calendar-body').innerHTML = calendarHtml;
}
function updateTime() {
var now = new Date();
var timeStr = now.getFullYear() + '年' + (now.getMonth() + 1) + '月' + now.getDate() + '日';
document.getElementById('current-time').innerText = '当前时间: ' + timeStr;
}
// 页面加载时生成日历
generateCalendar();
updateTime();
});
</script>
</body>
</html>