Compare commits
4 Commits
172bbc1be3
...
8f5b0e7dd2
| Author | SHA1 | Date |
|---|---|---|
|
|
8f5b0e7dd2 | |
|
|
cffeebdec4 | |
|
|
22e3b797cb | |
|
|
514d86e77c |
|
|
@ -0,0 +1,45 @@
|
||||||
|
// 获取上传按钮和文件输入元素
|
||||||
|
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文件!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
@ -60,7 +60,6 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>课程名称</th>
|
<th>课程名称</th>
|
||||||
<th>课程代码</th>
|
<th>课程代码</th>
|
||||||
<th>课程类别</th>
|
|
||||||
<th>学分</th>
|
<th>学分</th>
|
||||||
<th>课程描述</th>
|
<th>课程描述</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -86,7 +85,6 @@
|
||||||
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>';
|
||||||
|
|
|
||||||
|
|
@ -80,56 +80,12 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/jquery.min.js"></script> <!-- 确保已经引入jQuery -->
|
<script src="/static/jquery.min.js"></script>
|
||||||
<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>
|
||||||
|
|
|
||||||
|
|
@ -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, course_type, credits, description FROM course"
|
sql = "SELECT course_name, course_code, credits, description FROM course"
|
||||||
result = self.fetch(sql)
|
result = self.fetch(sql)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
|
||||||
Reference in New Issue