161 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="zh">
 | |
| <head>
 | |
|     <meta charset="UTF-8">
 | |
|     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | |
|     <title>管理面板</title>
 | |
|     <link rel="stylesheet" href="/static/admin.css">
 | |
|     <link rel="stylesheet" href="/static/base.css">
 | |
| </head>
 | |
| <body>
 | |
|     <div class="container">
 | |
|         <h1>管理面板</h1>
 | |
|         <a href="{{ url_for('admin_logout') }}" class="logout-btn">登出</a>
 | |
|         {% with messages = get_flashed_messages(with_categories=true) %}
 | |
|             {% if messages %}
 | |
|                 {% for category, message in messages %}
 | |
|                     <div class="alert alert-{{ category }}">{{ message }}</div>
 | |
|                 {% endfor %}
 | |
|             {% endif %}
 | |
|         {% endwith %}
 | |
| 
 | |
|         <h2>添加新专业</h2>
 | |
|         <form action="{{ url_for('add_department') }}" method="POST">
 | |
|             <div class="form-group">
 | |
|                 <label for="department_name">专业名称:</label>
 | |
|                 <input type="text" id="department_name" name="name" required>
 | |
|             </div>
 | |
|             <button type="submit">添加专业</button>
 | |
|         </form>
 | |
| 
 | |
|         <h2>添加新年级</h2>
 | |
|         <form action="{{ url_for('add_grade') }}" method="POST">
 | |
|             <div class="form-group">
 | |
|                 <label for="year">年份:</label>
 | |
|                 <input type="number" id="year" name="year" required min="2000" max="2100">
 | |
|             </div>
 | |
|             <button type="submit">添加年级</button>
 | |
|         </form>
 | |
| 
 | |
|         <h2>添加新班级</h2>
 | |
|         <form action="{{ url_for('add_class') }}" method="POST">
 | |
|             <div class="form-group">
 | |
|                 <label for="class_name">班级名称:</label>
 | |
|                 <input type="text" id="class_name" name="name" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="department_id">专业:</label>
 | |
|                 <select id="department_id" name="department_id" required>
 | |
|                     {% for department in departments %}
 | |
|                         <option value="{{ department.id }}">{{ department.name }}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="grade_id">年级:</label>
 | |
|                 <select id="grade_id" name="grade_id" required>
 | |
|                     {% for grade in grades %}
 | |
|                         <option value="{{ grade.id }}">{{ grade.year }}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
|             <button type="submit">添加班级</button>
 | |
|         </form>
 | |
| 
 | |
|         <h2>分配教师到班级</h2>
 | |
|         <form action="{{ url_for('assign_teacher') }}" method="POST">
 | |
|             <div class="form-group">
 | |
|                 <label for="class_id">班级:</label>
 | |
|                 <select id="class_id" name="class_id" required>
 | |
|                     {% for class in classes %}
 | |
|                         <option value="{{ class.id }}">{{ class.name }}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="teacher_id">教师:</label>
 | |
|                 <select id="teacher_id" name="teacher_id" required>
 | |
|                     {% for teacher in teachers %}
 | |
|                         <option value="{{ teacher.id }}">{{ teacher.name }}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
|             <button type="submit">分配教师</button>
 | |
|         </form>
 | |
| 
 | |
|         <h2>添加新教师</h2>
 | |
|         <form action="{{ url_for('add_teacher') }}" method="POST">
 | |
|             <div class="form-group">
 | |
|                 <label for="teacher_name">教师姓名:</label>
 | |
|                 <input type="text" id="teacher_name" name="name" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="teacher_email">邮箱:</label>
 | |
|                 <input type="email" id="teacher_email" name="email" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="teacher_password">密码:</label>
 | |
|                 <input type="password" id="teacher_password" name="password" required>
 | |
|             </div>
 | |
|             <button type="submit">添加教师</button>
 | |
|         </form>
 | |
| 
 | |
|         <h2>添加新管理员</h2>
 | |
|         <form action="{{ url_for('add_administrator') }}" method="POST">
 | |
|             <div class="form-group">
 | |
|                 <label for="admin_username">用户名:</label>
 | |
|                 <input type="text" id="admin_username" name="username" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="admin_password">密码:</label>
 | |
|                 <input type="password" id="admin_password" name="password" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="admin_teacher_id">教师:</label>
 | |
|                 <select id="admin_teacher_id" name="teacher_id" required>
 | |
|                     {% for teacher in teachers %}
 | |
|                         <option value="{{ teacher.id }}">{{ teacher.name }}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
|             </div>
 | |
|             <button type="submit">添加管理员</button>
 | |
|         </form>
 | |
|     </div>
 | |
| 
 | |
|     <div id="editFormContainer" style="display: none;">
 | |
|         <form id="editForm" method="POST">
 | |
|             <input type="hidden" id="editId" name="id">
 | |
|             <div class="form-group">
 | |
|                 <label for="editValue">值:</label>
 | |
|                 <input type="text" id="editValue" name="value" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="editName">名称:</label>
 | |
|                 <input type="text" id="editName" name="name" required>
 | |
|             </div>
 | |
|             <div class="form-group">
 | |
|                 <label for="editDeadline">截止日期:</label>
 | |
|                 <input type="date" id="editDeadline" name="deadline" required>
 | |
|             </div>
 | |
|             <button type="submit">更新任务</button>
 | |
|             <button type="button" onclick="hideEditForm()">取消</button>
 | |
|         </form>
 | |
|     </div>
 | |
| 
 | |
|     <script>
 | |
|         function showEditForm(id, value, name, deadline) {
 | |
|             document.getElementById('editId').value = id;
 | |
|             document.getElementById('editValue').value = value;
 | |
|             document.getElementById('editName').value = name;
 | |
|             document.getElementById('editDeadline').value = deadline;
 | |
|             document.getElementById('editForm').action = `/admin/edit_assignment/${id}`;
 | |
|             document.getElementById('editFormContainer').style.display = 'block';
 | |
|         }
 | |
| 
 | |
|         function hideEditForm() {
 | |
|             document.getElementById('editFormContainer').style.display = 'none';
 | |
|         }
 | |
|     </script>
 | |
| </body>
 | |
| </html>
 | 
