feat(学生): 添加学生课程管理功能

- 新增我的课程页面及路由
- 实现课程列表和详情查看功能
- 更新导航链接指向新页面
- 添加成绩详情模态框
- 完善相关后端接口和服务
This commit is contained in:
祀梦
2025-12-22 19:48:38 +08:00
parent 6ae9a7ebee
commit 59501e514f
12 changed files with 624 additions and 8 deletions

View File

@@ -236,7 +236,7 @@
</a>
</div>
<div class="nav-item">
<a href="#grades-section" class="nav-link">
<a href="/student/my-courses" class="nav-link">
<i class="fas fa-book"></i>
<span>我的课程</span>
</a>
@@ -380,6 +380,78 @@
</div>
</div>
<!-- 成绩详情模态框 -->
<div class="modal fade" id="gradeDetailsModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content border-0 shadow">
<div class="modal-header bg-primary text-white border-0">
<h5 class="modal-title fw-bold"><i class="fas fa-chart-bar me-2"></i>成绩详细信息</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body p-4">
<div class="text-center mb-4">
<h3 class="fw-bold mb-1" id="modalGradeCourseName">-</h3>
<p class="text-muted" id="modalGradeCourseCode">-</p>
<div class="display-4 fw-bold text-primary mt-3" id="modalTotalScore">0</div>
<p class="text-secondary small">总评成绩</p>
</div>
<div class="row g-3 mb-4">
<div class="col-4 text-center">
<div class="p-2 bg-light rounded">
<small class="text-muted d-block">平时分</small>
<span class="fw-bold" id="modalUsualScore">-</span>
</div>
</div>
<div class="col-4 text-center">
<div class="p-2 bg-light rounded">
<small class="text-muted d-block">期中分</small>
<span class="fw-bold" id="modalMidtermScore">-</span>
</div>
</div>
<div class="col-4 text-center">
<div class="p-2 bg-light rounded">
<small class="text-muted d-block">期末分</small>
<span class="fw-bold" id="modalFinalScore">-</span>
</div>
</div>
</div>
<ul class="list-group list-group-flush small">
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span class="text-muted">学分</span>
<span class="fw-bold" id="modalGradeCredit">-</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span class="text-muted">等第</span>
<span class="fw-bold" id="modalGradeLevel">-</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span class="text-muted">绩点</span>
<span class="fw-bold" id="modalGradePoint">-</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span class="text-muted">任课教师</span>
<span class="fw-bold" id="modalGradeTeacher">-</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0 border-0">
<span class="text-muted">录入时间</span>
<span class="fw-bold" id="modalGradeTime">-</span>
</li>
</ul>
<div class="mt-4 p-3 bg-light rounded-3" id="modalRemarkContainer" style="display: none;">
<small class="text-muted d-block mb-1">备注</small>
<p class="mb-0 small" id="modalRemark"></p>
</div>
</div>
<div class="modal-footer border-0 p-4">
<button type="button" class="btn btn-secondary w-100 rounded-pill" data-bs-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
<!-- Bootstrap 5 JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="/public/js/auth.js"></script>