fix: 登录按钮禁用可见样式 + 副标题简化 + 缺考人数与统计卡片一致
This commit is contained in:
+8
-3
@@ -236,13 +236,14 @@
|
||||
}
|
||||
|
||||
// 各面板计数文字按所选班级过滤(成绩明细 / 缺考名单)
|
||||
// 缺考数与统计卡片保持一致:过滤后名单 − 过滤后提交(而非二次过滤后端 absent 数组)
|
||||
function renderHints() {
|
||||
const cls = $('#clsSel').value;
|
||||
const rowsForCls = cls ? state.rows.filter(r => (r.cls || '') === cls) : state.rows;
|
||||
const rosterForCls = cls ? (state.roster || []).filter(s => (s.cls || '') === cls) : (state.roster || []);
|
||||
const absentForCls = cls ? state.absent.filter(a => (a.cls || '') === cls) : state.absent;
|
||||
const absentForCls = Math.max(0, rosterForCls.length - rowsForCls.length);
|
||||
$('#tableHint').textContent = '共 ' + rowsForCls.length + ' 人已提交 · 名单 ' + rosterForCls.length + ' 人';
|
||||
$('#absentHint').textContent = absentForCls.length ? '共 ' + absentForCls.length + ' 人' : '';
|
||||
$('#absentHint').textContent = absentForCls ? '共 ' + absentForCls + ' 人' : '';
|
||||
}
|
||||
|
||||
function fmtDur(sec) {
|
||||
@@ -317,7 +318,11 @@
|
||||
|
||||
function renderAbsent() {
|
||||
const clsFilter = $('#clsSel').value;
|
||||
const list = clsFilter ? state.absent.filter(a => (a.cls || '') === clsFilter) : state.absent;
|
||||
// 与统计卡片保持一致:缺考 = 过滤后名单中未出现在提交记录里的学生(按 sid 匹配)
|
||||
const rowsForCls = clsFilter ? state.rows.filter(r => (r.cls || '') === clsFilter) : state.rows;
|
||||
const submittedSids = new Set(rowsForCls.map(r => r.sid).filter(Boolean));
|
||||
const rosterForCls = clsFilter ? (state.roster || []).filter(s => (s.cls || '') === clsFilter) : (state.roster || []);
|
||||
const list = rosterForCls.filter(s => !submittedSids.has(s.sid));
|
||||
const tb = $('#absentBody');
|
||||
if (!list.length) {
|
||||
tb.innerHTML = '<tr><td colspan="3" class="empty">' + (clsFilter ? '本班全部已提交 🎉' : '全部已提交 🎉') + '</td></tr>';
|
||||
|
||||
@@ -85,6 +85,22 @@ html, body {
|
||||
}
|
||||
.btn:hover { border-color: #c9d2e3; background: #fafbfe; }
|
||||
.btn:active { transform: translateY(1px); }
|
||||
.btn:disabled,
|
||||
.btn[disabled] {
|
||||
opacity: .5;
|
||||
cursor: not-allowed;
|
||||
background: #eef1f6;
|
||||
color: #a0aab8;
|
||||
border-color: #d5dde8;
|
||||
transform: none;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.btn-primary:disabled,
|
||||
.btn-primary[disabled] {
|
||||
background: #b0c0d8;
|
||||
border-color: #b0c0d8;
|
||||
color: #fff;
|
||||
}
|
||||
.btn-primary { background: var(--primary); border-color: var(--primary); color: #fff; }
|
||||
.btn-primary:hover { background: #2559db; border-color: #2559db; }
|
||||
.btn.sm { padding: 5px 10px; font-size: 12px; }
|
||||
|
||||
Reference in New Issue
Block a user