|
@@ -115,7 +115,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="submenu-content">
|
|
<div class="submenu-content">
|
|
|
- <AiChat :userid="props.userid" :userJson="userJson" :courseTitle="props.courseTitle" />
|
|
|
|
|
|
|
+ <AiChat ref="aiChatRef" :userid="props.userid" :userJson="userJson" :courseTitle="props.courseTitle" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="submenu" :class="{ visible: activeSubmenu === 'uploadFile' }">
|
|
<div class="submenu" :class="{ visible: activeSubmenu === 'uploadFile' }">
|
|
@@ -713,11 +713,11 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
-import { ref, watch, computed } from 'vue'
|
|
|
|
|
|
|
+import { ref, watch, computed, useTemplateRef, nextTick } from 'vue'
|
|
|
import { storeToRefs } from 'pinia'
|
|
import { storeToRefs } from 'pinia'
|
|
|
import useCreateElement from '@/hooks/useCreateElement'
|
|
import useCreateElement from '@/hooks/useCreateElement'
|
|
|
import useSlideHandler from '@/hooks/useSlideHandler'
|
|
import useSlideHandler from '@/hooks/useSlideHandler'
|
|
|
-import { useSlidesStore } from '@/store'
|
|
|
|
|
|
|
+import { useSlidesStore, useMainStore } from '@/store'
|
|
|
import { useSpeakingStore } from '@/store/speaking'
|
|
import { useSpeakingStore } from '@/store/speaking'
|
|
|
import FileInput from '@/components/FileInput.vue'
|
|
import FileInput from '@/components/FileInput.vue'
|
|
|
import AiChat from './componets/aiChat.vue'
|
|
import AiChat from './componets/aiChat.vue'
|
|
@@ -776,8 +776,21 @@ const { currentSlide } = storeToRefs(slidesStore)
|
|
|
|
|
|
|
|
const { createFrameElement } = useCreateElement()
|
|
const { createFrameElement } = useCreateElement()
|
|
|
const { createSlide, createSlideByTemplate } = useSlideHandler()
|
|
const { createSlide, createSlideByTemplate } = useSlideHandler()
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+const mainStore = useMainStore()
|
|
|
|
|
+const { running } = storeToRefs(mainStore)
|
|
|
|
|
+const aiChatRef = useTemplateRef<HTMLElement>('aiChatRef')
|
|
|
|
|
+
|
|
|
|
|
+watch(() => running.value, (newValue) => {
|
|
|
|
|
+ if (newValue) {
|
|
|
|
|
+ // 使用 nextTick 确保 DOM 更新后再调用子组件方法
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ toggleSubmenu('cocoai')
|
|
|
|
|
+ aiChatRef.value.sendQuickAction(lang.ssBatchInteractiveWeb)
|
|
|
|
|
+ aiChatRef.value.sendMessage()
|
|
|
|
|
+ })
|
|
|
|
|
+ mainStore.setRunningState(false)
|
|
|
|
|
+ }
|
|
|
|
|
+})
|
|
|
|
|
|
|
|
import _ from 'lodash'
|
|
import _ from 'lodash'
|
|
|
|
|
|