diff --git a/src/views/course-management/Course.vue b/src/views/course-management/Course.vue index db85c49..ee47a1e 100644 --- a/src/views/course-management/Course.vue +++ b/src/views/course-management/Course.vue @@ -78,10 +78,12 @@ const beforeImageUpload = (file) => { const handleVideoSuccess = (response, file, fileList) => { file.url = response.url; + form.value.videoPath = response.url; // 确保设置到表单中 }; const handleImageSuccess = (response, file, fileList) => { file.url = response.url; + form.value.imagePath = response.url; // 确保设置到表单中 }; const handleVideoError = (error, file, fileList) => { diff --git a/src/views/course-management/CourseList.vue b/src/views/course-management/CourseList.vue index 7c2e91d..7f58b68 100644 --- a/src/views/course-management/CourseList.vue +++ b/src/views/course-management/CourseList.vue @@ -78,17 +78,48 @@ const handleSearch = async () => { } }; -const handleReset = () => { +const handleReset = async () => { searchTitle.value = ''; searchAuthor.value = ''; searchDescription.value = ''; sortOrder.value = ''; + await loadCourses(true); // 强制重新加载课程数据 +}; + +const handleSort = async () => { + try { + const response = await axios.get('/api/courses/sort', { + params: { + token: token, + sortField: 'orderNo', + sortDirection: 'asc', + start: 0, + end: pageSize.value + } + }); + const data = response.data; + coursesCount.value = data.courseCount; + allCoursesData.value = data.courseList; + coursesData.value = allCoursesData.value.slice(0, pageSize.value); + currentPage.value = 1; + firstTimeLoad.value = false; + } catch (e) { + console.error(e); + } }; const handleEditButton = () => { - selections.value.forEach(selection => { - router.push({ name: 'Course', params: { id: selection.id } }); - }); + if (selections.value.length === 1) { + // 只有一个课程被选中,导航到编辑页面 + const selectedCourse = selections.value[0]; + router.push({ name: 'Course', query: { mode: 'edit', id: selectedCourse.id } }); + } else if (selections.value.length > 1) { + // 选中了多个课程,弹出提示 + ElMessage.warning('无法同时修改多个目标'); + } else { + // 没有选中任何课程,弹出提示 + ElMessage.warning('请先选择要修改的课程'); + } }; const handleDeleteButton = async () => { @@ -161,6 +192,7 @@ const handleDeleteInTable = async (index) => { 新增 修改 删除 + 排序