czq
2991692032 3 weeks ago
parent 6f1f955abf
commit 06532d7b5c

@ -755,12 +755,19 @@
</div>
<div class="semester-selector">
<span>学期</span>
<el-input
<el-select
v-model="selectedSemester"
placeholder="学期 (如: 2024-2025-2)"
placeholder="请选择学期"
style="width: 200px"
@change="loadSchedules"
/>
>
<el-option label="2024-2025-2" value="2024-2025-2" />
<el-option label="2024-2025-1" value="2024-2025-1" />
<el-option label="2023-2024-2" value="2023-2024-2" />
<el-option label="2023-2024-1" value="2023-2024-1" />
<el-option label="2022-2023-2" value="2022-2023-2" />
<el-option label="2022-2023-1" value="2022-2023-1" />
</el-select>
</div>
<div class="schedule-actions" v-if="selectedUser">
<el-button type="primary" @click="showCourseDialog = true">
@ -1451,12 +1458,23 @@ const loadSchedules = async () => {
const response = await adminApi.getUserSchedule(selectedUser.value.id, selectedSemester.value)
if (response.code === 200) {
userSchedule.value = response.data
//
allCourses.value = []
Object.values(userSchedule.value.schedule).forEach((courses: any) => {
allCourses.value.push(...courses)
// schedule
const courses = []
if (userSchedule.value.schedule) {
for (let day = 1; day <= 7; day++) {
const dayCourses = userSchedule.value.schedule[day] || []
dayCourses.forEach(course => {
courses.push({
...course,
dayOfWeek: day
})
})
}
}
allCourses.value = courses
// userSchedulecourses
userSchedule.value.courses = courses
}
} catch (error) {
ElMessage.error('加载用户课表失败')
} finally {
@ -2098,19 +2116,28 @@ const searchScheduleUsers = async (query: string) => {
}
const getCoursesForTimeSlot = (dayOfWeek: number, timeSlot: any) => {
if (!userSchedule.value?.schedule?.[dayOfWeek]) {
if (!userSchedule.value?.courses) {
return []
}
return userSchedule.value.schedule[dayOfWeek].filter((course: any) => {
//
const courseStartTime = course.startTime
const courseEndTime = course.endTime
const slotStartTime = timeSlot.time.split('-')[0]
const slotEndTime = timeSlot.time.split('-')[1]
return userSchedule.value.courses.filter((course: any) => {
//
if (course.dayOfWeek !== dayOfWeek) {
return false
}
//
const courseStartTime = course.startTime // : "08:00:00"
const courseEndTime = course.endTime // : "09:40:00"
const slotStartTime = timeSlot.time.split('-')[0] // : "08:00"
const slotEndTime = timeSlot.time.split('-')[1] // : "09:50"
//
const courseStart = courseStartTime.substring(0, 5) // "08:00"
const courseEnd = courseEndTime.substring(0, 5) // "09:40"
//
return courseStartTime <= slotEndTime && courseEndTime >= slotStartTime
// < && >
return courseStart < slotEndTime && courseEnd > slotStartTime
})
}

@ -238,7 +238,7 @@ INSERT INTO `categories` (`name`, `description`, `icon`, `sort`, `status`) VALUE
-- 插入武汉大学学生用户数据
INSERT INTO `users` (`username`, `email`, `password`, `nickname`, `bio`, `gender`, `student_id`, `department`, `major`, `grade`, `points`, `role`, `status`, `is_verified`, `created_at`) VALUES
-- 文理学部学生
('czq2024', 'czq@whu.edu.cn', '123456', '珞珈数学狗', '数学与统计学院2022级数学类热爱数学建模ACM银牌选手', 1, '2022301140001', '数学与统计学院', '数学类', '2022级', 150, 0, 1, 1, '2024-09-01 09:00:00'),
('czq2025', 'czq@whu.edu.cn', '123456', '珞珈数学狗', '数学与统计学院2022级数学类热爱数学建模ACM银牌选手', 1, '2022301140001', '数学与统计学院', '数学类', '2022级', 150, 0, 1, 1, '2024-09-01 09:00:00'),
('lihua_cs', 'lihua@whu.edu.cn', '123456', '代码诗人', '计算机学院2021级软件工程全栈开发爱好者开源项目贡献者', 1, '2021301120001', '计算机学院', '软件工程', '2021级', 230, 0, 1, 1, '2024-09-01 10:00:00'),
('wangming_law', 'wangming@whu.edu.cn', '123456', '法学小白', '法学院2023级法学专业模拟法庭常客梦想成为大律师', 1, '2023301080001', '法学院', '法学', '2023级', 80, 0, 1, 1, '2024-09-01 11:00:00'),
('zhangwei_chem', 'zhangwei@whu.edu.cn', '123456', '化学实验员', '化学与分子科学学院2022级化学专业实验室常驻合成达人', 1, '2022301130001', '化学与分子科学学院', '化学', '2022级', 120, 0, 1, 1, '2024-09-01 12:00:00'),
@ -389,14 +389,7 @@ INSERT INTO `comment_likes` (`user_id`, `comment_id`, `created_at`) VALUES
(7, 9, '2024-12-21 18:00:00'),
(8, 9, '2024-12-21 18:15:00');
-- 插入学习资源数据
INSERT INTO `resources` (`user_id`, `title`, `description`, `file_url`, `file_size`, `file_type`, `category_id`, `download_count`, `like_count`, `status`) VALUES
(2, '数据结构课程设计报告', '包含完整的数据结构课程设计实验报告,涵盖栈、队列、树、图等数据结构的实现和应用。', '/files/data-structure-report.pdf', 2048576, 'application/pdf', 1, 15, 0, 1),
(3, '算法导论学习笔记', '详细的算法导论学习笔记,包含排序算法、图算法、动态规划等重要算法的分析和实现。', '/files/algorithm-notes.docx', 1572864, 'application/msword', 1, 25, 0, 1),
(2, '高等数学期末复习资料', '高等数学期末考试复习资料合集,包含重要公式、定理证明和典型习题解答。', '/files/calculus-review.pdf', 3145728, 'application/pdf', 1, 32, 0, 1),
(6, '宏观经济学PPT课件', '经济学专业课件,包含货币政策、财政政策等核心内容。', '/files/macro-economics.pptx', 5242880, 'application/vnd.ms-powerpoint', 1, 20, 0, 1),
(14, '校园生活指南', '新生校园生活指南,包含宿舍管理、食堂介绍、图书馆使用等实用信息。', '/files/campus-guide.pdf', 1048576, 'application/pdf', 2, 45, 0, 1),
(3, '计算机网络实验代码', '计算机网络课程实验代码合集包含Socket编程、HTTP协议实现等。', '/files/network-lab-code.zip', 4194304, 'application/zip', 5, 18, 0, 1);
-- 插入课程数据
INSERT INTO `courses` (`user_id`, `name`, `teacher`, `location`, `day_of_week`, `start_time`, `end_time`, `start_week`, `end_week`, `semester`, `color`, `status`) VALUES
@ -420,7 +413,59 @@ INSERT INTO `courses` (`user_id`, `name`, `teacher`, `location`, `day_of_week`,
-- 经济学专业学生(ID=7 liuxin_econ)的课程
(7, '宏观经济学', '吴教授', '经管大楼B201', 1, '08:00:00', '09:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(7, '计量经济学', '郑老师', '经管大楼机房', 2, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#67C23A', 1);
(7, '计量经济学', '郑老师', '经管大楼机房', 2, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 水利工程学生(ID=8 chenfei_water)的课程
(8, '流体力学', '李教授', '水利学院大楼', 1, '14:00:00', '15:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(8, '水工建筑物', '王老师', '水利学院实验室', 3, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 电气工程学生(ID=9 sunhao_power)的课程
(9, '电路原理', '张教授', '电气学院大楼', 2, '08:00:00', '09:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(9, '电力系统分析', '刘老师', '电气学院机房', 4, '15:50:00', '17:30:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 土木工程学生(ID=10 wujing_civil)的课程
(10, '结构力学', '陈教授', '土建学院大楼', 1, '15:50:00', '17:30:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(10, '材料力学', '杨老师', '土建学院实验室', 3, '08:00:00', '09:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 遥感专业学生(ID=11 liqiang_remote)的课程
(11, '遥感原理', '周教授', '遥感学院大楼', 2, '14:00:00', '15:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(11, '数字图像处理', '吴老师', '遥感学院机房', 5, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 测绘专业学生(ID=12 zhaoli_survey)的课程
(12, '测量学', '马教授', '测绘学院大楼', 1, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(12, 'GPS原理', '林老师', '测绘学院实验室', 4, '08:00:00', '09:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 临床医学学生(ID=13 huangyan_med)的课程
(13, '内科学', '赵教授', '人民医院', 1, '08:00:00', '10:00:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(13, '病理学', '钱老师', '医学院大楼', 3, '14:00:00', '16:00:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 口腔医学学生(ID=14 wangpeng_dental)的课程
(14, '口腔解剖学', '孙教授', '口腔医院', 2, '09:00:00', '11:00:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(14, '口腔修复学', '李老师', '口腔医院实验室', 4, '14:00:00', '16:00:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 文学专业学生(ID=15 luxiaoya_chinese)的课程
(15, '中国古代文学', '王教授', '文学院大楼', 1, '14:00:00', '15:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(15, '古代汉语', '张老师', '文学院研讨室', 3, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 历史专业学生(ID=16 zhoujie_history)的课程
(16, '中国古代史', '陈教授', '历史学院大楼', 2, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(16, '史学理论', '刘老师', '历史学院研讨室', 5, '14:00:00', '15:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
-- 新闻专业学生(ID=17 tanglei_news)的课程
(17, '新闻写作', '王教授', '新传学院301', 2, '10:00:00', '11:40:00', 1, 16, '2024-2025-2', '#409EFF', 1),
(17, '传播学概论', '李教授', '新传学院201', 4, '14:00:00', '15:40:00', 1, 16, '2024-2025-2', '#67C23A', 1),
(17, '媒体伦理', '张教授', '新传学院205', 5, '16:00:00', '17:40:00', 1, 16, '2024-2025-2', '#E6A23C', 1),
-- 添加不同学期的课程数据
-- 2024-2025-1学期的课程
(3, '线性代数', '张教授', '数学学院楼201', 1, '08:00:00', '09:40:00', 1, 16, '2024-2025-1', '#409EFF', 1),
(4, '操作系统', '赵教授', '信息学部计算机楼', 2, '10:00:00', '11:40:00', 1, 16, '2024-2025-1', '#409EFF', 1),
(17, '新闻学概论', '王教授', '新传学院301', 1, '10:00:00', '11:40:00', 1, 16, '2024-2025-1', '#409EFF', 1),
-- 2023-2024-2学期的课程
(3, '高等数学II', '李教授', '数学学院楼301', 3, '14:00:00', '15:40:00', 1, 16, '2023-2024-2', '#67C23A', 1),
(4, '数据库原理', '钱老师', '信息学部B楼302', 4, '14:00:00', '15:40:00', 1, 16, '2023-2024-2', '#67C23A', 1),
(17, '中外新闻史', '李教授', '新传学院201', 3, '14:00:00', '15:40:00', 1, 16, '2023-2024-2', '#67C23A', 1);
-- 插入日程数据
INSERT INTO `schedules` (`user_id`, `title`, `description`, `start_time`, `end_time`, `location`, `is_all_day`, `reminder`, `color`, `status`) VALUES

Loading…
Cancel
Save