diff --git a/app/app/static/app.js b/app/app/static/app.js index 2df6b19..07fa2d8 100644 --- a/app/app/static/app.js +++ b/app/app/static/app.js @@ -44,6 +44,7 @@ const WEEKDAYS = ["星期日", "星期一", "星期二", "星期三", "星期四 const COPY_LINE_BREAK = "\r\n"; const SORT_DIRECTIONS = { asc: 1, desc: -1 }; const RECORD_PAGE_SIZE = 30; +const RECORD_TABLE_COLUMN_COUNT = 8; let currentRecords = []; let recordSort = { date: "asc", time: "asc" }; let currentRecordOrder = []; @@ -241,7 +242,7 @@ function toggleRecordSort(field) { renderCurrentRecords(); } -function renderRecordRow(row) { +function renderRecordRow(row, rowNumber) { const key = row._recordKey; const corrected = correctedRecords.get(key); const displayRow = getDisplayRecord(row); @@ -251,6 +252,7 @@ function renderRecordRow(row) { const badge = corrected ? '已修改' : ""; const summaryExpanded = expandedSummaryRecords.has(key); return ` + ${escapeHtml(rowNumber)} ${escapeHtml(displayRow.date)} ${escapeHtml(displayRow.weekday)} ${escapeHtml(displayRow.time)} ${escapeHtml(displayRow.student)} @@ -298,7 +300,7 @@ function renderSummaryEntry(summary, recordKey, index) { function renderSummaryMissingRow(key, expanded) { return ` - +
无课程小结 @@ -312,23 +314,25 @@ function renderGroupedRecords(records) { return groupRecordsByTeacher(records) .map( (group) => { + let displayIndex = 0; const collapsed = collapsedTeacherGroups.has(group.teacher); const rows = collapsed ? "" : sortRecordsForDisplay(group.records) .map((row) => { + displayIndex += 1; currentRecordOrder.push(row._recordKey); const summaryCount = Number(row.summary_count || 0); const summaryRow = summaryCount ? ` - ${(row.summaries || []).map((summary, index) => renderSummaryEntry(summary, row._recordKey, index)).join("")} + ${(row.summaries || []).map((summary, index) => renderSummaryEntry(summary, row._recordKey, index)).join("")} ` : renderSummaryMissingRow(row._recordKey, expandedSummaryRecords.has(row._recordKey)); - return `${renderRecordRow(row)}${summaryRow}`; + return `${renderRecordRow(row, displayIndex)}${summaryRow}`; }) .join(""); return ` - +
- + diff --git a/app/app/static/styles.css b/app/app/static/styles.css index 6a19de6..af73644 100644 --- a/app/app/static/styles.css +++ b/app/app/static/styles.css @@ -1392,6 +1392,11 @@ td { color: var(--muted); } +.record-index-cell { + color: var(--muted); + font-variant-numeric: tabular-nums; +} + .record-row { cursor: pointer; }