Compare commits

..

No commits in common. "8f5b0e7dd21819808036e495487224013bcd92a4" and "172bbc1be36cd7fe593b75f33d27de1719ddc4b1" have entirely different histories.

4 changed files with 49 additions and 48 deletions

View File

@ -1,45 +0,0 @@
// 获取上传按钮和文件输入元素
var uploadBtn = document.getElementById('uploadExcel');
var fileInput = document.getElementById('excelFile');
// 当点击上传按钮时触发文件输入的点击事件
uploadBtn.addEventListener('click', function () {
fileInput.click();
});
// 处理文件选择事件
fileInput.addEventListener('change', function () {
var file = this.files[0]; // 获取文件对象
if (file) {
// 检查文件类型
var fileName = file.name;
var fileExt = fileName.split('.').pop().toLowerCase();
if (fileExt === 'xlsx' || fileExt === 'xls') {
// 使用 FormData 上传文件
var formData = new FormData();
formData.append('file', file, fileName); // 'file' 是你的服务器端期待的字段名
// 使用 fetch 发送文件
fetch('/api/receive-excel', {
method: 'POST',
body: formData // 传递表单数据
})
.then(response => {
if (response.ok) {
return response.json(); // 如果上传成功解析JSON响应
}
throw new Error('Network response was not ok.'); // 如果上传失败,抛出错误
})
.then(data => {
// 处理响应数据
layer.msg('上传成功!'); // 弹出成功消息
})
.catch(error => {
console.error('Upload failed:', error);
alert("文件上传失败!"); // 弹出失败消息
});
} else {
alert("请上传Excel文件!");
}
}
});

View File

@ -60,6 +60,7 @@
<tr> <tr>
<th>课程名称</th> <th>课程名称</th>
<th>课程代码</th> <th>课程代码</th>
<th>课程类别</th>
<th>学分</th> <th>学分</th>
<th>课程描述</th> <th>课程描述</th>
</tr> </tr>
@ -85,6 +86,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.course_type + '</td>' +
'<td>' + course.credits + '</td>' + '<td>' + course.credits + '</td>' +
'<td>' + course.description + '</td>' + '<td>' + course.description + '</td>' +
'</tr>'; '</tr>';

View File

@ -80,12 +80,56 @@
</div> </div>
</div> </div>
<script src="/static/jquery.min.js"></script> <script src="/static/jquery.min.js"></script> <!-- 确保已经引入jQuery -->
<script src="/static/layui.js"></script> <script src="/static/layui.js"></script>
<script src="/static/js/menu.js"></script> <script src="/static/js/menu.js"></script>
<script src="/static/js/logout.js"></script> <script src="/static/js/logout.js"></script>
<script src="/static/js/upload_excel.js"></script>
<script> <script>
// 获取上传按钮和文件输入元素
var uploadBtn = document.getElementById('uploadExcel');
var fileInput = document.getElementById('excelFile');
// 当点击上传按钮时触发文件输入的点击事件
uploadBtn.addEventListener('click', function () {
fileInput.click();
});
// 处理文件选择事件
fileInput.addEventListener('change', function () {
var file = this.files[0]; // 获取文件对象
if (file) {
// 检查文件类型
var fileName = file.name;
var fileExt = fileName.split('.').pop().toLowerCase();
if (fileExt === 'xlsx' || fileExt === 'xls') {
// 使用 FormData 上传文件
var formData = new FormData();
formData.append('file', file, fileName); // 'file' 是你的服务器端期待的字段名
// 使用 fetch 发送文件
fetch('/api/receive-excel', {
method: 'POST',
body: formData // 传递表单数据
})
.then(response => {
if (response.ok) {
return response.json(); // 如果上传成功解析JSON响应
}
throw new Error('Network response was not ok.'); // 如果上传失败,抛出错误
})
.then(data => {
// 处理响应数据
layer.msg('上传成功!'); // 弹出成功消息
})
.catch(error => {
console.error('Upload failed:', error);
alert("文件上传失败!"); // 弹出失败消息
});
} else {
alert("请上传Excel文件!");
}
}
});
</script> </script>
</body> </body>

View File

@ -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, credits, description FROM course" sql = "SELECT course_name, course_code, course_type, credits, description FROM course"
result = self.fetch(sql) result = self.fetch(sql)
return result return result