Просмотр исходного кода

fix(pptEasy/addCourse3): 优化弹窗触发逻辑,增加类型判断并简化遍历

1. 将原逐页遍历检查toolsArray改为通过some方法一次性判断全局是否存在有效toolsArray
2. 为弹窗触发条件增加type == 1的校验,避免非目标场景弹出提示
3. 移除冗余的页面内循环检查代码,提升代码可读性和执行效率
lsc 2 дней назад
Родитель
Сommit
5e3be2b0cb
1 измененных файлов с 13 добавлено и 12 удалено
  1. 13 12
      src/components/pages/pptEasy/addCourse3.vue

+ 13 - 12
src/components/pages/pptEasy/addCourse3.vue

@@ -1963,16 +1963,17 @@ export default {
                 return content.replace(/<[^>]*>/g, '')
               }).join(' ')
             }
-            toolsArrayCont = slide.elements.filter((element) => element.toolsArray && element.toolsArray.length > 0)
-            if (toolsArrayCont.length > 0) {
-              // 有内容就弹出弹窗
-              istoolsArray = true
-            }
           }
           pptContent.push(`第${index + 1}页: ${slideContent || '内容为空'}`)
         })
+        toolsArrayCont = _pptData2.slides.some(slide => slide.toolsArray && slide.toolsArray?.length > 0)
+        if (toolsArrayCont) {
+          // 有内容就弹出弹窗
+          istoolsArray = true
+        }
       }
-      if(istoolsArray){
+
+      if(istoolsArray && type == 1){
         const confirmed = await this.showToolsConfirmDialog();
         if (!confirmed) {
           this.uploadWorkLoading = false;
@@ -2097,16 +2098,16 @@ export default {
                 return content.replace(/<[^>]*>/g, '')
               }).join(' ')
             }
-            toolsArrayCont = slide.elements.filter((element) => element.toolsArray && element.toolsArray.length > 0)
-            if (toolsArrayCont.length > 0) {
-              // 有内容就弹出弹窗
-              istoolsArray = true
-            }
           }
           pptContent.push(`第${index + 1}页: ${slideContent || '内容为空'}`)
         })
+        toolsArrayCont = _pptData2.slides.some(slide => slide.toolsArray && slide.toolsArray?.length > 0)
+        if (toolsArrayCont) {
+          // 有内容就弹出弹窗
+          istoolsArray = true
+        }
       }
-      if(istoolsArray){
+      if(istoolsArray && type == 1){
         const confirmed = await this.showToolsConfirmDialog();
         if (!confirmed) {
           this.uploadWorkLoading = false;