fix(StudyDetailPage): 修复课程大纲打卡互动数据初始化问题
将task_list和timeout_task_list的初始化及数据处理逻辑移到课程数据加载成功后执行,确保数据正确性
Showing
1 changed file
with
9 additions
and
11 deletions
| ... | @@ -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 | // 图片附件或者附件不存在 | ... | ... |
-
Please register or login to post a comment