添加chapter和lesson

This commit is contained in:
CakeCN
2025-08-29 21:41:20 +08:00
parent 5c0187bc4b
commit f9d8b3d092
19 changed files with 736 additions and 53 deletions

View File

@@ -84,11 +84,18 @@
<div class="logo">
<h1>华实君:教学练评一体的虚拟助教</h1>
</div>
<nav class="navbar-links">
{% if role == 'teacher' %}
<!-- 如果是教师角色 -->
<a href="/teacherindex">首页</a>
<a href="/teacherdashboard">课程</a>
<a href="/teachergrades">成绩</a>
{% else %}
<!-- 如果是学生角色 -->
<a href="/">首页</a>
<a href="/dashboard">课程</a>
<a href="/">成绩</a>
</nav>
<a href="/grades">成绩</a>
{% endif %}
<div class="avatar dropdown">
<img src="/static/image/algorithm/book_cover.png" alt="个人头像" class="avatar-img">
<div class="dropdown-content">

View File

@@ -33,7 +33,25 @@
<p class="course-description">深入学习数据结构和算法设计。</p>
</div>
</div>
<!-- 可以继续添加课程卡片 -->
<!-- 动态加载课程卡片 -->
{% for course in materials %}
<div class="course-card" onclick="openCourseDetails('{{ course._id }}')">
<img src="{{ course.image_url }}" alt="课程封面" class="course-image">
<div class="course-info">
<h3 class="course-name">{{ course.name }}</h3>
<p class="course-description">{{ course.description }}</p>
</div>
<div class="course-date">
<p class="course-date-text">创建时间:{{ course.created_at.strftime('%Y-%m-%d %H:%M:%S') }}</p>
<p class="course-date-text">更新时间:{{ course.updated_at.strftime('%Y-%m-%d %H:%M:%S') }}</p>
</div>
</div>
{% endfor %}
<div class="course-card add-course-card" onclick="openAddCourseModal()">
<div class="add-course-button">
<span>+</span>
</div>
</div>
</div>
</div>
@@ -43,13 +61,15 @@
<span id="course-title"></span>
<button class="close-btn" onclick="closeCourseDetails()">×</button>
</div>
<div class="details-content">
<h3>课程章节列表:</h3>
<ul id="chapter-list">
<!-- 章节列表会在点击课程时动态生成 -->
</ul>
<button class="add-chapter-btn" onclick="showInputForNewChapter()">新增章节</button>
</div>
<div class="details-content" id="details-content"></div>
<h3>课程章节列表:</h3>
<ul id="chapter-list">
<div id="loading-message">
<p>加载中...</p> <!-- 加载中效果 -->
</div>
</ul>
<button class="add-chapter-btn" onclick="showInputForNewChapter()">新增章节</button>
</div>
<!-- 编辑章节或课时弹窗 -->
@@ -66,6 +86,42 @@
</form>
</div>
</div>
<!-- 新建课程的浮窗 -->
<div id="add-course-modal" class="modal">
<div class="modal-content">
<h2>新建课程</h2>
<div class="cover-image-container">
<div id="cover-image" class="cover-image-placeholder">
<span class="plus-sign">+</span>
<input type="file" id="cover-image-input" style="display: none;" accept="image/*" />
</div>
<img id="cover-preview" src="" alt="封面预览" style="display: none;" />
</div>
<form id="add-course-form">
<!-- 选择课程或新建课程的下拉框 -->
<label for="course-selection">从课程创建或新建课程:</label>
<select id="course-selection">
<option value="new">新建课程</option>
{% for course in courses %}
<option value="{{ course.id }}">{{ course.name }}</option>
{% endfor %}
</select>
<br><br>
<!-- 课程名称输入框 -->
<label for="course-name">课程名称:</label>
<input type="text" id="course-name" name="course-name" required><br><br>
<label for="course-description">课程描述:</label>
<textarea id="course-description" name="course-description"></textarea><br><br>
<div class="modal-buttons">
<button type="button" onclick="closeAddCourseModal()">取消</button>
<button type="submit">确认</button>
</div>
</form>
</div>
</div>
<script src="/static/js/teacherboard.js"></script>
<script>