|
|
@@ -146,7 +146,7 @@
|
|
|
<div class="slide-bottom-right" v-if="!isFullscreen">
|
|
|
<Refresh class="tool-btn" v-tooltip="lang.ssRefresh" @click="handleRefreshPage" v-if="currentSlideHasIframe && !currentSlideHasEnglishSpeaking"/>
|
|
|
<!-- <UpTwo @click="handleHomeworkSubmit" v-if="currentSlideHasIframe && !currentSlideHasBilibiliVideo && !isSubmitting" class="tool-btn upBtn" v-tooltip="lang.ssSubmitHW"/> -->
|
|
|
- <svg @click="handleHomeworkSubmit" v-if="currentSlideHasIframe && !currentSlideHasBilibiliVideo && !isSubmitting && !currentSlideHasEnglishSpeaking" class="tool-btn upBtn" v-tooltip="lang.ssSubmitHW" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
|
|
|
+ <svg @click="handleHomeworkSubmit" v-if="currentSlideHasIframe && !currentSlideHasBilibiliVideo && !isSubmitting && !currentSlideHasEnglishSpeaking && currentSlideIframeReady" class="tool-btn upBtn" v-tooltip="lang.ssSubmitHW" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
|
|
|
<!-- Document body -->
|
|
|
<path d="M15 10 L15 90 Q15 95 20 95 L80 95 Q85 95 85 90 L85 35 L60 10 Z"
|
|
|
fill="none" stroke="currentColor" stroke-width="6" stroke-linejoin="round" stroke-linecap="round"/>
|
|
|
@@ -181,7 +181,7 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 作业提交按钮 - 当当前幻灯片包含iframe时显示(排除B站视频) -->
|
|
|
- <div v-if="currentSlideHasIframe && !currentSlideHasBilibiliVideo && isFullscreen && !currentSlideHasEnglishSpeaking" class="homework-submit-btn" :class="{ 'submitting': isSubmitting }"
|
|
|
+ <div v-if="currentSlideHasIframe && !currentSlideHasBilibiliVideo && isFullscreen && !currentSlideHasEnglishSpeaking && currentSlideIframeReady" class="homework-submit-btn" :class="{ 'submitting': isSubmitting }"
|
|
|
:style="{ right: getHomeworkButtonRight() + 'px' }" @click="handleHomeworkSubmit"
|
|
|
v-tooltip="isSubmitting ? lang.ssHwSubmitting : lang.ssHwSubmit">
|
|
|
<!-- <IconEdit v-if="!isSubmitting" class="tool-btn" />
|
|
|
@@ -1088,6 +1088,13 @@ const currentSlideHasIframe = computed(() => {
|
|
|
return elementList.value.some(element => element.type === ElementTypes.FRAME)
|
|
|
})
|
|
|
|
|
|
+// 当前幻灯片的所有 iframe 是否都已 isDone(含非 type=73,非 type=73 的 elementDone 跑完即设 true)
|
|
|
+const currentSlideIframeReady = computed(() => {
|
|
|
+ const frames = elementList.value.filter(element => element.type === ElementTypes.FRAME)
|
|
|
+ if (frames.length === 0) return true // 没 iframe 视为 ready
|
|
|
+ return frames.every(frame => frame.isDone === true)
|
|
|
+})
|
|
|
+
|
|
|
const currentSlideToolType = computed(() => {
|
|
|
const frame = elementList.value.find(element => element.type === ElementTypes.FRAME)
|
|
|
return Number((frame as any)?.toolType) || 0
|