样式优化
This commit is contained in:
@@ -33,30 +33,36 @@ include __DIR__ . '/../includes/header.php';
|
||||
<div class="container">
|
||||
<!-- 考勤操作工具栏 -->
|
||||
<div class="card">
|
||||
<div class="attendance-toolbar">
|
||||
<div class="form-group" style="margin:0">
|
||||
<label>日期</label>
|
||||
<input type="date" id="attendanceDate" value="<?php echo date('Y-m-d'); ?>">
|
||||
<div class="attendance-toolbar" style="flex-direction:column;gap:8px;">
|
||||
<!-- 第一行:日期 + 时段 + 状态按钮 + 自定义扣分 -->
|
||||
<div style="display:flex;align-items:center;gap:12px;flex-wrap:wrap;">
|
||||
<div class="form-group" style="margin:0">
|
||||
<label>日期</label>
|
||||
<input type="date" id="attendanceDate" value="<?php echo date('Y-m-d'); ?>">
|
||||
</div>
|
||||
<div class="form-group" style="margin:0">
|
||||
<label>时段</label>
|
||||
<select id="attendanceSlot">
|
||||
<option value="morning">早上 7:15</option>
|
||||
<option value="afternoon">中午 14:00</option>
|
||||
<option value="evening">晚修 19:30</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="status-group">
|
||||
<button class="status-btn active" data-status="absent" onclick="selectStatus(this)" id="btnAbsent">缺勤</button>
|
||||
<button class="status-btn" data-status="late" onclick="selectStatus(this)" id="btnLate">迟到</button>
|
||||
<button class="status-btn" data-status="leave" onclick="selectStatus(this)" id="btnLeave">请假</button>
|
||||
<input type="number" id="customDeduction" placeholder="自定义扣分" min="0" max="20" style="width:100px;margin-left:10px;" title="留空或0使用默认值">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="margin:0">
|
||||
<label>时段</label>
|
||||
<select id="attendanceSlot">
|
||||
<option value="morning">早上 7:15</option>
|
||||
<option value="afternoon">中午 14:00</option>
|
||||
<option value="evening">晚修 19:30</option>
|
||||
</select>
|
||||
<!-- 第二行:原因 + 操作按钮 -->
|
||||
<div style="display:flex;align-items:center;gap:8px;flex-wrap:wrap;">
|
||||
<input type="text" id="attendanceReason" placeholder="原因(可选)" style="flex:1;min-width:150px;">
|
||||
<button class="btn btn-primary" onclick="selectAllStudents()">全选</button>
|
||||
<button class="btn" onclick="deselectAllStudents()">取消全选</button>
|
||||
<button class="btn btn-danger" onclick="submitAttendance()">提交考勤</button>
|
||||
<button class="btn btn-secondary" onclick="loadAttendanceRecords()">查询记录</button>
|
||||
</div>
|
||||
<div class="status-group">
|
||||
<button class="status-btn active" data-status="absent" onclick="selectStatus(this)" id="btnAbsent">缺勤</button>
|
||||
<button class="status-btn" data-status="late" onclick="selectStatus(this)" id="btnLate">迟到</button>
|
||||
<button class="status-btn" data-status="leave" onclick="selectStatus(this)" id="btnLeave">请假</button>
|
||||
<input type="number" id="customDeduction" placeholder="自定义扣分" min="0" max="20" style="width:100px;margin-left:10px;" title="留空或0使用默认值">
|
||||
</div>
|
||||
<input type="text" id="attendanceReason" placeholder="原因(可选)" style="flex:1;min-width:150px;">
|
||||
<button class="btn btn-primary" onclick="selectAllStudents()">全选</button>
|
||||
<button class="btn" onclick="deselectAllStudents()">取消全选</button>
|
||||
<button class="btn btn-danger" onclick="submitAttendance()">提交考勤</button>
|
||||
<button class="btn btn-secondary" onclick="loadAttendanceRecords()">查询记录</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -243,10 +243,6 @@ include __DIR__ . '/../includes/header.php';
|
||||
.toggle-icon {
|
||||
font-size: 12px;
|
||||
color: var(--color-text-secondary, #666);
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
.toggle-icon.expanded {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -243,6 +243,7 @@ async function exportHistoryRecords() {
|
||||
var csv = '\uFEFF';
|
||||
csv += '时间,学号,姓名,分数变动,原因,操作人\n';
|
||||
records.forEach(function(r) {
|
||||
if (r.is_revoked == 1) return;
|
||||
csv += (r.created_at || '') + ',' + (r.student_no || '') + ',' + (r.student_name || '') + ',' + (r.points_change > 0 ? '+' : '') + r.points_change + ',' + (r.reason || '').replace(/,/g, ';') + ',' + (r.recorder_name || '') + '\n';
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user