refactor: unify student list toolbar with card wrapper and consistent layout
This commit is contained in:
+30
-28
@@ -61,36 +61,38 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<!-- 学员列表页面 -->
|
<!-- 学员列表页面 -->
|
||||||
<div id="studentListPage">
|
<div id="studentListPage">
|
||||||
<!-- 筛选条件行 -->
|
<!-- 筛选操作栏 -->
|
||||||
<div class="d-flex flex-wrap gap-2 mb-3 align-items-center">
|
<div class="card mb-3">
|
||||||
<h4 class="me-2 mb-0"><i class="bi bi-people"></i> 学员列表</h4>
|
<div class="card-body">
|
||||||
<select class="form-select form-select-sm" style="width:auto; min-width:120px;" id="classFilter" onchange="loadStudents()">
|
<div class="d-flex flex-wrap gap-2 align-items-center">
|
||||||
<option value="">全部班级</option>
|
<h5 class="mb-0 me-2"><i class="bi bi-people"></i> 学员列表</h5>
|
||||||
</select>
|
<select class="form-select form-select-sm" style="width:auto; min-width:100px;" id="classFilter" onchange="loadStudents()">
|
||||||
<input type="text" class="form-control form-control-sm" style="width:120px;" placeholder="姓名..." id="nameFilter" oninput="loadStudents()">
|
<option value="">全部班级</option>
|
||||||
<button class="btn btn-primary btn-sm active" id="mineStudentFilterBtn" onclick="toggleMineStudentFilter()">
|
</select>
|
||||||
<i class="bi bi-person"></i> 我的
|
<input type="text" class="form-control form-control-sm" style="width:100px;" placeholder="姓名..." id="nameFilter" oninput="loadStudents()">
|
||||||
</button>
|
<button class="btn btn-primary btn-sm" id="mineStudentFilterBtn" onclick="toggleMineStudentFilter()">
|
||||||
|
<i class="bi bi-person"></i> 我的
|
||||||
|
</button>
|
||||||
|
<div class="ms-auto d-flex gap-1">
|
||||||
|
<button class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate()">
|
||||||
|
<i class="bi bi-download"></i> 模板
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-outline-primary btn-sm" onclick="document.getElementById('importFileInput').click()">
|
||||||
|
<i class="bi bi-upload"></i> 导入
|
||||||
|
</button>
|
||||||
|
<input type="file" id="importFileInput" accept=".csv" style="display:none" onchange="importStudents(this)">
|
||||||
|
<button class="btn btn-outline-success btn-sm" onclick="exportStudents()">
|
||||||
|
<i class="bi bi-file-arrow-up"></i> 导出
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-primary btn-sm" onclick="showAddStudentModal()">
|
||||||
|
<i class="bi bi-plus-lg"></i> 新增
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 操作按钮行 -->
|
<div id="studentList">
|
||||||
<div class="d-flex flex-wrap gap-2 mb-3">
|
|
||||||
<button class="btn btn-outline-secondary btn-sm" onclick="downloadTemplate()">
|
|
||||||
<i class="bi bi-download"></i> 模板
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-outline-primary btn-sm" onclick="document.getElementById('importFileInput').click()">
|
|
||||||
<i class="bi bi-upload"></i> 导入
|
|
||||||
</button>
|
|
||||||
<input type="file" id="importFileInput" accept=".csv" style="display:none" onchange="importStudents(this)">
|
|
||||||
<button class="btn btn-outline-success btn-sm" onclick="exportStudents()">
|
|
||||||
<i class="bi bi-file-arrow-up"></i> 导出
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-primary btn-sm" onclick="showAddStudentModal()">
|
|
||||||
<i class="bi bi-plus-lg"></i> 新增
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row" id="studentList">
|
|
||||||
<!-- 学员卡片将通过JS动态加载 -->
|
<!-- 学员卡片将通过JS动态加载 -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user