Compare commits
6 Commits
245d08d3cb
...
c497dbb421
| Author | SHA1 | Date | |
|---|---|---|---|
| c497dbb421 | |||
| 4527403846 | |||
| a5ffdc32e1 | |||
| d0d6679e5a | |||
| c47b9e9450 | |||
| a4c6ae3d0c |
@@ -42,22 +42,55 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-body">
|
||||||
|
<table id="courseTable" lay-filter="courseTableFilter"></table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="static/jquery.min.js"></script> <!-- 确保已经引入jQuery -->
|
<script src="static/jquery.min.js"></script> <!-- 确保已经引入jQuery -->
|
||||||
<script src="static/layui.js"></script>
|
<script src="static/layui.js"></script>
|
||||||
<script>
|
<script>
|
||||||
// 请求后端获取菜单数据
|
// 请求后端获取菜单数据
|
||||||
$.get('/api/menu', function (menuItems) {
|
$.get('/api/menu', function (menuItems) {
|
||||||
var menuList = $('.layui-nav.layui-nav-tree');
|
var menuList = $('.layui-nav.layui-nav-tree');
|
||||||
menuList.empty();
|
menuList.empty();
|
||||||
|
|
||||||
menuItems.forEach(function (item) {
|
menuItems.forEach(function (item) {
|
||||||
var href = item.path || 'javascript:void(0);'; // 提供一个默认值
|
var href = item.path || 'javascript:void(0);'; // 提供一个默认值
|
||||||
menuList.append('<li class="layui-nav-item"><a href="' + href + '">' + item.name + '</a></li>');
|
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 () {
|
layui.use(['jquery'], function () {
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>课程名称</th>
|
<th>课程名称</th>
|
||||||
<th>课程代码</th>
|
<th>课程代码</th>
|
||||||
<th>任课教师</th>
|
<th>课程类别</th>
|
||||||
<th>学分</th>
|
<th>学分</th>
|
||||||
<th>课程描述</th>
|
<th>课程描述</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
var row = '<tr>' +
|
var row = '<tr>' +
|
||||||
'<td>' + course.course_name + '</td>' +
|
'<td>' + course.course_name + '</td>' +
|
||||||
'<td>' + course.course_code + '</td>' +
|
'<td>' + course.course_code + '</td>' +
|
||||||
'<td>' + course.instructor_name + '</td>' +
|
'<td>' + course.course_type + '</td>' +
|
||||||
'<td>' + course.credits + '</td>' +
|
'<td>' + course.credits + '</td>' +
|
||||||
'<td>' + course.description + '</td>' +
|
'<td>' + course.description + '</td>' +
|
||||||
'</tr>';
|
'</tr>';
|
||||||
|
|||||||
19
app/views.py
19
app/views.py
@@ -135,9 +135,25 @@ def course_info():
|
|||||||
def get_course_info():
|
def get_course_info():
|
||||||
db_manager = DatabaseManager()
|
db_manager = DatabaseManager()
|
||||||
course_data = db_manager.get_all_courses()
|
course_data = db_manager.get_all_courses()
|
||||||
|
print(course_data)
|
||||||
return jsonify(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'])
|
@app.route('/attendance', methods=['GET', 'POST'])
|
||||||
def course_checkin():
|
def course_checkin():
|
||||||
return render_template('attendance.html')
|
return render_template('attendance.html')
|
||||||
@@ -175,6 +191,7 @@ def teacher_attendance():
|
|||||||
|
|
||||||
from flask import request
|
from flask import request
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/get-teacher-attendance-table', methods=['GET'])
|
@app.route('/api/get-teacher-attendance-table', methods=['GET'])
|
||||||
def get_current_teacher_courses():
|
def get_current_teacher_courses():
|
||||||
phone_number = session.get('username')
|
phone_number = session.get('username')
|
||||||
@@ -205,7 +222,5 @@ def get_current_teacher_courses():
|
|||||||
return jsonify(response)
|
return jsonify(response)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(debug=True)
|
app.run(debug=True)
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class DatabaseManager:
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
def get_all_courses(self):
|
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)
|
result = self.fetch(sql)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@@ -95,3 +95,8 @@ class DatabaseManager:
|
|||||||
return courses_classes_result
|
return courses_classes_result
|
||||||
return []
|
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,
|
student_id INT NOT NULL,
|
||||||
date DATE NOT NULL,
|
date DATE NOT NULL,
|
||||||
status ENUM('present', 'absent', 'late', 'excused'),
|
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)
|
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
|
CREATE TABLE class
|
||||||
(
|
(
|
||||||
@@ -155,7 +112,7 @@ CREATE TABLE students
|
|||||||
student_number VARCHAR(20) NOT NULL,
|
student_number VARCHAR(20) NOT NULL,
|
||||||
student_name VARCHAR(255) NOT NULL,
|
student_name VARCHAR(255) NOT NULL,
|
||||||
class_id INT,
|
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)
|
INSERT INTO student (student_name, student_number, class_id)
|
||||||
@@ -216,29 +173,61 @@ VALUES ('教师1', 1),
|
|||||||
|
|
||||||
CREATE TABLE teacher_class_course
|
CREATE TABLE teacher_class_course
|
||||||
(
|
(
|
||||||
id INT AUTO_INCREMENT,
|
id INT AUTO_INCREMENT,
|
||||||
teacher_id INT,
|
teacher_id INT,
|
||||||
class_course_id INT,
|
course_id INT,
|
||||||
|
class_id INT,
|
||||||
PRIMARY KEY (id),
|
PRIMARY KEY (id),
|
||||||
FOREIGN KEY (teacher_id) REFERENCES teachers (teacher_id),
|
FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id),
|
||||||
FOREIGN KEY (class_course_id) REFERENCES class_courses (class_course_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,
|
schedule_id INT AUTO_INCREMENT,
|
||||||
day_of_week INT,
|
day_of_week INT,
|
||||||
period_id INT,
|
period_id INT,
|
||||||
class_course_id INT,
|
teacher_id INT,
|
||||||
teacher_id INT,
|
class_id INT,
|
||||||
|
course_id INT,
|
||||||
PRIMARY KEY (schedule_id),
|
PRIMARY KEY (schedule_id),
|
||||||
FOREIGN KEY (period_id) REFERENCES course_periods (period_id),
|
FOREIGN KEY (period_id) REFERENCES time_period (period_id),
|
||||||
FOREIGN KEY (class_course_id) REFERENCES class_courses (class_course_id),
|
FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id),
|
||||||
FOREIGN KEY (teacher_id) REFERENCES teachers (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
|
CREATE TABLE time_period
|
||||||
(
|
(
|
||||||
period_id INT AUTO_INCREMENT,
|
period_id INT AUTO_INCREMENT,
|
||||||
@@ -253,3 +242,6 @@ VALUES ('一、二节', '08:00:00', '09:30:00'),
|
|||||||
('三、四节', '10:00:00', '11:30:00'),
|
('三、四节', '10:00:00', '11:30:00'),
|
||||||
('五、六节', '14:30:00', '16:00:00'),
|
('五、六节', '14:30:00', '16:00:00'),
|
||||||
('七、八节', '16:30:00', '18:00:00');
|
('七、八节', '16:30:00', '18:00:00');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user