Sfoglia il codice sorgente

refactor(courseDetails): 移除未使用的标签页并优化课程详情初始化逻辑

将未使用的批改作业、学员详情和学习统计标签页注释掉
将课程详情初始化逻辑从onMounted移到独立函数并通过watch监听courseId变化
tanshanming 6 mesi fa
parent
commit
5a6ec5b47e
1 ha cambiato i file con 34 aggiunte e 6 eliminazioni
  1. 34 6
      src/views/courseDetails/index.vue

+ 34 - 6
src/views/courseDetails/index.vue

@@ -46,10 +46,10 @@
 		<!-- tab 导航 -->
 		<a-tabs v-model:activeKey="activeTab" class="course-tabs">
 			<a-tab-pane key="detail" tab="课程详情" />
-			<a-tab-pane key="homework" tab="批改作业" />
+			<!-- <a-tab-pane key="homework" tab="批改作业" /> -->
 			<!-- <a-tab-pane key="test" tab="批改测试" /> -->
-			<a-tab-pane key="student" tab="学员详情" />
-			<a-tab-pane key="stat" tab="学习统计" />
+			<!-- <a-tab-pane key="student" tab="学员详情" />
+			<a-tab-pane key="stat" tab="学习统计" /> -->
 		</a-tabs>
 
 		<LessonDetails
@@ -76,7 +76,7 @@
 </template>
 
 <script setup>
-	import { ref, computed, onMounted } from 'vue'
+	import { ref, computed, onMounted, watch } from 'vue'
 	import { EyeOutlined, ClockCircleOutlined, EditOutlined, DeleteOutlined, DownOutlined } from '@ant-design/icons-vue'
 	import { message, Modal } from 'ant-design-vue'
 	import AddClassHours from './components/AddClassHours.vue'
@@ -137,7 +137,26 @@
 		return course.value.sections.slice(start, start + pageSize.value)
 	})
 
-	onMounted(() => {
+	// onMounted(() => {
+	// 	const params = {
+	// 		courseId: props.courseId
+	// 	}
+	// 	// 获取课程基本信息
+	// 	getCourseDetail(params).then((res) => {
+	// 		course.value = {
+	// 			...course.value,
+	// 			...res.data
+	// 		}
+
+	// 		// 获取章节和课时信息
+	// 		getChapterAllList(params).then((chapterRes) => {
+	// 			if (chapterRes.data && Array.isArray(chapterRes.data)) {
+	// 				course.value.sections = chapterRes.data
+	// 			}
+	// 		})
+	// 	})
+	// })
+	const initDetail = () => {
 		const params = {
 			courseId: props.courseId
 		}
@@ -155,7 +174,7 @@
 				}
 			})
 		})
-	})
+	}
 	const handleEdit = (item) => {
 		// router.push({
 		// 	path: '/portal/courseAdd',
@@ -259,6 +278,15 @@
 			}
 		})
 	}
+	watch(
+		() => props.courseId,
+		(newVal, oldVal) => {
+			if (newVal !== oldVal) {
+				initDetail()
+			}
+		},
+		{ immediate: true }
+	)
 </script>
 
 <style lang="less" scoped>