Compare commits
6 Commits
245d08d3cb
...
c497dbb421
| Author | SHA1 | Date | |
|---|---|---|---|
| c497dbb421 | |||
| 4527403846 | |||
| a5ffdc32e1 | |||
| d0d6679e5a | |||
| c47b9e9450 | |||
| a4c6ae3d0c |
@@ -42,22 +42,55 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-body">
|
||||
<table id="courseTable" lay-filter="courseTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="static/jquery.min.js"></script> <!-- 确保已经引入jQuery -->
|
||||
<script src="static/layui.js"></script>
|
||||
<script>
|
||||
// 请求后端获取菜单数据
|
||||
$.get('/api/menu', function (menuItems) {
|
||||
var menuList = $('.layui-nav.layui-nav-tree');
|
||||
menuList.empty();
|
||||
$.get('/api/menu', function (menuItems) {
|
||||
var menuList = $('.layui-nav.layui-nav-tree');
|
||||
menuList.empty();
|
||||
|
||||
menuItems.forEach(function (item) {
|
||||
var href = item.path || 'javascript:void(0);'; // 提供一个默认值
|
||||
menuList.append('<li class="layui-nav-item"><a href="' + href + '">' + item.name + '</a></li>');
|
||||
menuItems.forEach(function (item) {
|
||||
var href = item.path || 'javascript:void(0);'; // 提供一个默认值
|
||||
menuList.append('<li class="layui-nav-item"><a href="' + href + '">' + item.name + '</a></li>');
|
||||
});
|
||||
|
||||
layui.element.render('nav', 'test');
|
||||
});
|
||||
|
||||
layui.element.render('nav', 'test');
|
||||
layui.use(['table', 'jquery'], function () {
|
||||
var table = layui.table;
|
||||
var $ = layui.jquery;
|
||||
|
||||
// 发起GET请求获取数据
|
||||
$.get('/api/get-course-type', function (res) {
|
||||
// 假设返回的res是一个对象,包含必修和选修的课程名数组
|
||||
console.log(res);
|
||||
|
||||
// 处理返回的数据,转换为表格能接受的格式
|
||||
var tableData = [];
|
||||
res['必修'].forEach(function (course) {
|
||||
tableData.push({course_type: '必修', course_name: course});
|
||||
});
|
||||
res['选修'].forEach(function (course) {
|
||||
tableData.push({course_type: '选修', course_name: course});
|
||||
});
|
||||
|
||||
// 渲染表格
|
||||
table.render({
|
||||
elem: '#courseTable',
|
||||
cols: [[ // 设置表头
|
||||
{field: 'course_type', title: '课程类型', sort: true},
|
||||
{field: 'course_name', title: '课程名称', sort: true}
|
||||
]],
|
||||
data: tableData // 使用处理后的数据
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
layui.use(['jquery'], function () {
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<tr>
|
||||
<th>课程名称</th>
|
||||
<th>课程代码</th>
|
||||
<th>任课教师</th>
|
||||
<th>课程类别</th>
|
||||
<th>学分</th>
|
||||
<th>课程描述</th>
|
||||
</tr>
|
||||
@@ -97,7 +97,7 @@
|
||||
var row = '<tr>' +
|
||||
'<td>' + course.course_name + '</td>' +
|
||||
'<td>' + course.course_code + '</td>' +
|
||||
'<td>' + course.instructor_name + '</td>' +
|
||||
'<td>' + course.course_type + '</td>' +
|
||||
'<td>' + course.credits + '</td>' +
|
||||
'<td>' + course.description + '</td>' +
|
||||
'</tr>';
|
||||
|
||||
19
app/views.py
19
app/views.py
@@ -135,9 +135,25 @@ def course_info():
|
||||
def get_course_info():
|
||||
db_manager = DatabaseManager()
|
||||
course_data = db_manager.get_all_courses()
|
||||
print(course_data)
|
||||
return jsonify(course_data)
|
||||
|
||||
|
||||
@app.route('/api/get-course-type', methods=['GET'])
|
||||
def get_course_type():
|
||||
db_manager = DatabaseManager()
|
||||
course_data = db_manager.get_course_type()
|
||||
# 创建存储必修和选修课程名称的字典
|
||||
course_info = {"必修": [], "选修": []}
|
||||
for course in course_data:
|
||||
if course['course_type'] == '必修':
|
||||
course_info["必修"].append(course['course_name'])
|
||||
elif course['course_type'] == '选修':
|
||||
course_info["选修"].append(course['course_name'])
|
||||
|
||||
return jsonify(course_info)
|
||||
|
||||
|
||||
@app.route('/attendance', methods=['GET', 'POST'])
|
||||
def course_checkin():
|
||||
return render_template('attendance.html')
|
||||
@@ -175,6 +191,7 @@ def teacher_attendance():
|
||||
|
||||
from flask import request
|
||||
|
||||
|
||||
@app.route('/api/get-teacher-attendance-table', methods=['GET'])
|
||||
def get_current_teacher_courses():
|
||||
phone_number = session.get('username')
|
||||
@@ -205,7 +222,5 @@ def get_current_teacher_courses():
|
||||
return jsonify(response)
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True)
|
||||
|
||||
@@ -67,7 +67,7 @@ class DatabaseManager:
|
||||
return result
|
||||
|
||||
def get_all_courses(self):
|
||||
sql = "SELECT course_name, course_code, instructor_name, credits, description FROM courses"
|
||||
sql = "SELECT course_name, course_code, course_type, credits, description FROM course"
|
||||
result = self.fetch(sql)
|
||||
return result
|
||||
|
||||
@@ -95,3 +95,8 @@ class DatabaseManager:
|
||||
return courses_classes_result
|
||||
return []
|
||||
|
||||
def get_course_type(self):
|
||||
sql = "SELECT course_name, course_type FROM course"
|
||||
result = self.fetch(sql)
|
||||
return result
|
||||
|
||||
|
||||
110
mysql.sql
110
mysql.sql
@@ -88,53 +88,10 @@ CREATE TABLE attendance_records
|
||||
student_id INT NOT NULL,
|
||||
date DATE NOT NULL,
|
||||
status ENUM('present', 'absent', 'late', 'excused'),
|
||||
FOREIGN KEY (course_id) REFERENCES courses (course_id),
|
||||
FOREIGN KEY (course_id) REFERENCES course (course_id),
|
||||
FOREIGN KEY (student_id) REFERENCES students (student_id)
|
||||
);
|
||||
|
||||
CREATE TABLE class_course
|
||||
(
|
||||
class_course_id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
class_id INT NOT NULL,
|
||||
course_id INT NOT NULL,
|
||||
FOREIGN KEY (class_id) REFERENCES class (class_id),
|
||||
FOREIGN KEY (course_id) REFERENCES course (course_id)
|
||||
);
|
||||
|
||||
INSERT INTO class_course(class_id, course_id)
|
||||
VALUES (1, 1),
|
||||
(1, 2),
|
||||
(1, 3),
|
||||
(1, 4),
|
||||
(1, 5),
|
||||
(1, 6),
|
||||
(1, 7),
|
||||
(1, 8),
|
||||
(2, 1),
|
||||
(2, 2),
|
||||
(2, 3),
|
||||
(2, 6),
|
||||
(2, 10),
|
||||
(2, 16),
|
||||
(2, 13),
|
||||
(2, 26),
|
||||
(3, 30),
|
||||
(3, 29),
|
||||
(3, 28),
|
||||
(3, 27),
|
||||
(3, 25),
|
||||
(3, 24),
|
||||
(3, 4),
|
||||
(3, 13),
|
||||
(4, 11),
|
||||
(4, 12),
|
||||
(4, 14),
|
||||
(4, 16),
|
||||
(4, 15),
|
||||
(4, 20),
|
||||
(4, 7),
|
||||
(4, 26);
|
||||
|
||||
|
||||
CREATE TABLE class
|
||||
(
|
||||
@@ -155,7 +112,7 @@ CREATE TABLE students
|
||||
student_number VARCHAR(20) NOT NULL,
|
||||
student_name VARCHAR(255) NOT NULL,
|
||||
class_id INT,
|
||||
FOREIGN KEY (class_id) REFERENCES classes (class_id)
|
||||
FOREIGN KEY (class_id) REFERENCES class (class_id)
|
||||
);
|
||||
|
||||
INSERT INTO student (student_name, student_number, class_id)
|
||||
@@ -216,29 +173,61 @@ VALUES ('教师1', 1),
|
||||
|
||||
CREATE TABLE teacher_class_course
|
||||
(
|
||||
id INT AUTO_INCREMENT,
|
||||
teacher_id INT,
|
||||
class_course_id INT,
|
||||
id INT AUTO_INCREMENT,
|
||||
teacher_id INT,
|
||||
course_id INT,
|
||||
class_id INT,
|
||||
PRIMARY KEY (id),
|
||||
FOREIGN KEY (teacher_id) REFERENCES teachers (teacher_id),
|
||||
FOREIGN KEY (class_course_id) REFERENCES class_courses (class_course_id)
|
||||
FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id),
|
||||
FOREIGN KEY (course_id) REFERENCES course (course_id),
|
||||
FOREIGN KEY (class_id) REFERENCES class (class_id)
|
||||
);
|
||||
|
||||
INSERT INTO teacher_class_course(teacher_id, course_id, class_id)
|
||||
VALUES (1, 1, 1),
|
||||
(1, 2, 1),
|
||||
(1, 1, 3),
|
||||
(1, 1, 4),
|
||||
(2, 2, 1),
|
||||
(2, 2, 2),
|
||||
(2, 2, 3),
|
||||
(2, 2, 4),
|
||||
(3, 2, 1),
|
||||
(3, 2, 2),
|
||||
(3, 2, 3),
|
||||
(3, 2, 4);
|
||||
|
||||
|
||||
CREATE TABLE schedules
|
||||
|
||||
CREATE TABLE schedule
|
||||
(
|
||||
schedule_id INT AUTO_INCREMENT,
|
||||
day_of_week INT,
|
||||
period_id INT,
|
||||
class_course_id INT,
|
||||
teacher_id INT,
|
||||
schedule_id INT AUTO_INCREMENT,
|
||||
day_of_week INT,
|
||||
period_id INT,
|
||||
teacher_id INT,
|
||||
class_id INT,
|
||||
course_id INT,
|
||||
PRIMARY KEY (schedule_id),
|
||||
FOREIGN KEY (period_id) REFERENCES course_periods (period_id),
|
||||
FOREIGN KEY (class_course_id) REFERENCES class_courses (class_course_id),
|
||||
FOREIGN KEY (teacher_id) REFERENCES teachers (teacher_id)
|
||||
FOREIGN KEY (period_id) REFERENCES time_period (period_id),
|
||||
FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id),
|
||||
FOREIGN KEY (class_id) REFERENCES class (class_id),
|
||||
FOREIGN KEY (course_id) REFERENCES course (course_id)
|
||||
);
|
||||
|
||||
|
||||
INSERT INTO schedule (day_of_week, period_id, teacher_id, class_id, course_id) VALUES
|
||||
(1,1,1,1,1),
|
||||
(1,2,1,2,1),
|
||||
(2,3,1,1,3),
|
||||
(2,4,1,1,4),
|
||||
(3,1,1,1,2),
|
||||
(3,4,1,1,1),
|
||||
(4,2,1,2,1),
|
||||
(4,3,1,1,1),
|
||||
(5,1,1,1,3),
|
||||
(5,3,1,1,1);
|
||||
|
||||
|
||||
CREATE TABLE time_period
|
||||
(
|
||||
period_id INT AUTO_INCREMENT,
|
||||
@@ -253,3 +242,6 @@ VALUES ('一、二节', '08:00:00', '09:30:00'),
|
||||
('三、四节', '10:00:00', '11:30:00'),
|
||||
('五、六节', '14:30:00', '16:00:00'),
|
||||
('七、八节', '16:30:00', '18:00:00');
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user