hookehuyr

fix(StudyDetailPage): 修复课程大纲打卡互动数据初始化问题

将task_list和timeout_task_list的初始化及数据处理逻辑移到课程数据加载成功后执行,确保数据正确性
...@@ -683,6 +683,15 @@ onMounted(async () => { ...@@ -683,6 +683,15 @@ onMounted(async () => {
683 if (code === 1) { 683 if (code === 1) {
684 course.value = data; 684 course.value = data;
685 courseFile.value = data.file; 685 courseFile.value = data.file;
686 + // 课程大纲细项打卡互动
687 + task_list.value = [];
688 + timeout_task_list.value = [];
689 +
690 + // 处理task_list数据格式
691 + task_list.value = normalizeCheckinTaskItems(course.value?.task_list)
692 +
693 + // 处理timeout_task_list数据格式
694 + timeout_task_list.value = normalizeCheckinTaskItems(course.value.data?.timeout_task_list)
686 695
687 // 音频列表处理 696 // 音频列表处理
688 if (data.course_type === 'audio') { 697 if (data.course_type === 'audio') {
...@@ -700,17 +709,6 @@ onMounted(async () => { ...@@ -700,17 +709,6 @@ onMounted(async () => {
700 if (detail.code === 1) { 709 if (detail.code === 1) {
701 // 课程目录 710 // 课程目录
702 course_lessons.value = detail.data.schedule || []; 711 course_lessons.value = detail.data.schedule || [];
703 - // 打卡互动
704 - task_list.value = [];
705 - timeout_task_list.value = [];
706 -
707 - // 处理task_list数据格式
708 - task_list.value = normalizeCheckinTaskItems(detail.data?.task_list)
709 -
710 - // 处理timeout_task_list数据格式
711 - timeout_task_list.value = normalizeCheckinTaskItems(detail.data?.timeout_task_list || detail.timeout_task_list)
712 -
713 - // 统一弹窗组件后不再维护 default_list 与切换状态
714 } 712 }
715 } 713 }
716 // 图片附件或者附件不存在 714 // 图片附件或者附件不存在
......