|
|
@@ -106,7 +106,7 @@
|
|
|
</div>
|
|
|
<div class="slide-bottom-right" v-if="!isFullscreen">
|
|
|
<Refresh class="tool-btn" v-tooltip="'刷新'" @click="handleRefreshPage" v-if="currentSlideHasIframe"/>
|
|
|
- <IconEdit @click="handleHomeworkSubmit" v-if="currentSlideHasIframe && !isSubmitting" class="tool-btn" v-tooltip="'提交作业'"/>
|
|
|
+ <UpTwo @click="handleHomeworkSubmit" v-if="currentSlideHasIframe && !isSubmitting" class="tool-btn upBtn" v-tooltip="'提交作业'"/>
|
|
|
<IconLoading v-else-if="currentSlideHasIframe" class="tool-btn loading" v-tooltip="'提交中...'"></IconLoading>
|
|
|
<IconStopwatchStart class="tool-btn" v-tooltip="'计时器'" @click="timerlVisible = !timerlVisible" v-if="(props.type == '1' && courseDetail.userid == props.userid)"/>
|
|
|
<IconWrite class="tool-btn" v-tooltip="'画笔工具'" @click="writingBoardToolVisible = true" v-if="(props.type == '1')"/>
|
|
|
@@ -544,6 +544,9 @@ const autoSwitchToAvailablePanel = () => {
|
|
|
rightPanelMode.value = 'dialogue'
|
|
|
console.log('自动切换到对话面板')
|
|
|
}
|
|
|
+ else if (currentSlideHasIframe.value && rightPanelMode.value !== 'homework') {
|
|
|
+ rightPanelMode.value = 'homework'
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 移除定时器相关函数,改用socket监听
|
|
|
@@ -1798,6 +1801,7 @@ const getCourseDetail = async () => {
|
|
|
}
|
|
|
}
|
|
|
getWorkId()
|
|
|
+ autoSwitchToAvailablePanel()
|
|
|
}
|
|
|
catch (error) {
|
|
|
console.error('获取课程详情失败:', error)
|
|
|
@@ -1971,6 +1975,9 @@ const selectCourseSLook = async (type = 2) => {
|
|
|
toggleFollowMode()
|
|
|
}
|
|
|
}
|
|
|
+ if (props.type == '2') {
|
|
|
+ message.success(isFollowModeActive.value ? '跟随模式已开启' : '自由模式已开启')
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 切换跟随模式
|
|
|
@@ -1986,7 +1993,7 @@ const toggleFollowMode = async () => {
|
|
|
|
|
|
if (res) {
|
|
|
isFollowModeActive.value = newFollowState
|
|
|
- message.success(newFollowState ? '跟随模式已开启' : '跟随模式已关闭')
|
|
|
+ message.success(newFollowState ? '跟随模式已开启' : '自由模式已开启')
|
|
|
|
|
|
// 如果开启跟随模式,设置当前幻灯片为跟随目标
|
|
|
if (newFollowState) {
|
|
|
@@ -3212,7 +3219,19 @@ const clearTimerState = () => {
|
|
|
&+.tool-btn {
|
|
|
margin-left: 15px;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
+ .upBtn{
|
|
|
+ border-bottom: 3px solid #fff;
|
|
|
+ padding-bottom: 3px;
|
|
|
+
|
|
|
+ &:hover,
|
|
|
+ &.active {
|
|
|
+ border-color: #1890ff;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
.tool-btn.loading {
|
|
|
animation: icon-rotate 1s linear infinite;
|
|
|
}
|
|
|
@@ -3221,6 +3240,10 @@ const clearTimerState = () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.upBtn :deep(svg) {
|
|
|
+ width: calc(1em - 3px) !important;
|
|
|
+ height: calc(1em - 3px) !important;
|
|
|
+}
|
|
|
|
|
|
.loading-indicator {
|
|
|
position: absolute;
|