Browse Source

fix(学生视图): 修复当存在B站视频时面板切换逻辑错误

调整面板自动切换逻辑,增加对B站视频的判断条件,避免与iframe内容冲突
lsc 1 month ago
parent
commit
32a9b725b0
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/views/Student/index.vue

+ 3 - 2
src/views/Student/index.vue

@@ -194,6 +194,7 @@
           <!-- 标签页切换按钮 -->
           <!-- 标签页切换按钮 -->
           <div v-show="!workPanelCollapsed" class="tab-switcher">
           <div v-show="!workPanelCollapsed" class="tab-switcher">
             <button 
             <button 
+              v-if="currentSlideHasIframe && !currentSlideHasBilibiliVideo"
               v-show="currentSlideHasIframe"
               v-show="currentSlideHasIframe"
               class="tab-btn" 
               class="tab-btn" 
               :class="{ active: rightPanelMode === 'homework' }"
               :class="{ active: rightPanelMode === 'homework' }"
@@ -630,7 +631,7 @@ const switchToChoice = () => {
 // 自动切换到可用的面板
 // 自动切换到可用的面板
 const autoSwitchToAvailablePanel = () => {
 const autoSwitchToAvailablePanel = () => {
   // 如果当前在回答结果但没有iframe,自动切换到其他可用面板
   // 如果当前在回答结果但没有iframe,自动切换到其他可用面板
-  if (rightPanelMode.value === 'homework' && !currentSlideHasIframe.value) {
+  if (rightPanelMode.value === 'homework' && !currentSlideHasIframe.value && !currentSlideHasBilibiliVideo.value) {
     if (isChoiceQuestion.value) {
     if (isChoiceQuestion.value) {
       rightPanelMode.value = 'choice'
       rightPanelMode.value = 'choice'
       console.log('自动切换到统计面板')
       console.log('自动切换到统计面板')
@@ -645,7 +646,7 @@ const autoSwitchToAvailablePanel = () => {
     rightPanelMode.value = 'dialogue'
     rightPanelMode.value = 'dialogue'
     console.log('自动切换到对话面板')
     console.log('自动切换到对话面板')
   }
   }
-  else if (currentSlideHasIframe.value && rightPanelMode.value !== 'homework') {
+  else if (currentSlideHasIframe.value && rightPanelMode.value !== 'homework' && !currentSlideHasBilibiliVideo.value) {
     rightPanelMode.value = 'homework'
     rightPanelMode.value = 'homework'
   }
   }
 }
 }