|
@@ -53,14 +53,14 @@ const { childPageToolsArray, userid, courseTitle, childPageIndex } = storeToRefs
|
|
|
const { setChildPageState } = mainStore
|
|
const { setChildPageState } = mainStore
|
|
|
const { currentSlide, slideIndex } = storeToRefs(slidesStore)
|
|
const { currentSlide, slideIndex } = storeToRefs(slidesStore)
|
|
|
|
|
|
|
|
-const toolsArray = childPageToolsArray.value
|
|
|
|
|
|
|
+const toolsArray = ref(childPageToolsArray.value.filter(t => !t.isSet))
|
|
|
const selectedToolIndex = ref(0)
|
|
const selectedToolIndex = ref(0)
|
|
|
const agentid2 = ref('f86aa63c-b7b7-4d03-9b37-b59f116d36f3')// 生成内容
|
|
const agentid2 = ref('f86aa63c-b7b7-4d03-9b37-b59f116d36f3')// 生成内容
|
|
|
const loading = ref(true)
|
|
const loading = ref(true)
|
|
|
|
|
|
|
|
|
|
|
|
|
const toolsJson = computed(() => {
|
|
const toolsJson = computed(() => {
|
|
|
- return toolsArray[selectedToolIndex.value] || {}
|
|
|
|
|
|
|
+ return toolsArray.value[selectedToolIndex.value] || {}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const formatHint = (str: string, count: number) => {
|
|
const formatHint = (str: string, count: number) => {
|
|
@@ -69,20 +69,20 @@ const formatHint = (str: string, count: number) => {
|
|
|
|
|
|
|
|
const selectTool = (index: number) => {
|
|
const selectTool = (index: number) => {
|
|
|
selectedToolIndex.value = index
|
|
selectedToolIndex.value = index
|
|
|
- console.log('👶 选中工具:', toolsArray[index])
|
|
|
|
|
|
|
+ console.log('👶 选中工具:', toolsArray.value[index])
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
- console.log('👶 带选页打开,toolsArray:', toolsArray)
|
|
|
|
|
- const toolsToCreate = toolsArray.filter(t => !t.url)
|
|
|
|
|
|
|
+ console.log('👶 带选页打开,toolsArray:', toolsArray.value)
|
|
|
|
|
+ const toolsToCreate = toolsArray.value.filter(t => !t.url)
|
|
|
if (toolsToCreate.length === 0) {
|
|
if (toolsToCreate.length === 0) {
|
|
|
loading.value = false
|
|
loading.value = false
|
|
|
// return
|
|
// return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// const createPromises = toolsToCreate.map((tool) => {
|
|
// const createPromises = toolsToCreate.map((tool) => {
|
|
|
- // const originalIndex = toolsArray.findIndex(t => t.tool_id === tool.tool_id)
|
|
|
|
|
- // return createTool(toolsArray, tool, originalIndex)
|
|
|
|
|
|
|
+ // const originalIndex = toolsArray.value.findIndex(t => t.tool_id === tool.tool_id)
|
|
|
|
|
+ // return createTool(toolsArray.value, tool, originalIndex)
|
|
|
// })
|
|
// })
|
|
|
|
|
|
|
|
// await Promise.all(createPromises)
|
|
// await Promise.all(createPromises)
|
|
@@ -183,16 +183,20 @@ const createTool = async (array: any[], tool: any, index: number) => {
|
|
|
|
|
|
|
|
const setTool = () => {
|
|
const setTool = () => {
|
|
|
const slide = currentSlide.value
|
|
const slide = currentSlide.value
|
|
|
- slidesStore.updateSlide({ toolsArray: toolsArray }, slide.id)
|
|
|
|
|
|
|
+ slidesStore.updateSlide({ toolsArray: toolsArray.value }, slide.id)
|
|
|
console.log(slide)
|
|
console.log(slide)
|
|
|
|
|
|
|
|
// 判断所有工具是否都已保留
|
|
// 判断所有工具是否都已保留
|
|
|
- const allToolsSet = toolsArray.every(t => t.isSet)
|
|
|
|
|
|
|
+ const allToolsSet = toolsArray.value.every(t => t.isSet)
|
|
|
if (allToolsSet) {
|
|
if (allToolsSet) {
|
|
|
const slide = currentSlide.value
|
|
const slide = currentSlide.value
|
|
|
slidesStore.updateSlide({ toolsArray: [] }, slide.id)
|
|
slidesStore.updateSlide({ toolsArray: [] }, slide.id)
|
|
|
setChildPageState(false, [], slideIndex.value || 0)
|
|
setChildPageState(false, [], slideIndex.value || 0)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 过滤掉已处理(保留/放弃)的工具,剩余未处理的供继续选择
|
|
|
|
|
+ toolsArray.value = toolsArray.value.filter(t => !t.isSet)
|
|
|
|
|
+ selectedToolIndex.value = 0
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const setUrl = () => {
|
|
const setUrl = () => {
|
|
@@ -241,31 +245,36 @@ const saveTool = (url: string, type: any, index: number) => {
|
|
|
createSlide()
|
|
createSlide()
|
|
|
createFrameElement(url, type)
|
|
createFrameElement(url, type)
|
|
|
changeSlideIndex(childPageIndex.value)
|
|
changeSlideIndex(childPageIndex.value)
|
|
|
- toolsArray[index].isSet = true
|
|
|
|
|
|
|
+ toolsArray.value[index].isSet = true
|
|
|
setTool()
|
|
setTool()
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
changeSlideIndex(childPageIndex.value + 1)
|
|
changeSlideIndex(childPageIndex.value + 1)
|
|
|
setChildPageState(false, [], slideIndex.value || 0)
|
|
setChildPageState(false, [], slideIndex.value || 0)
|
|
|
}, 100)
|
|
}, 100)
|
|
|
- console.log('保留工具', toolsArray)
|
|
|
|
|
|
|
+ console.log('保留工具', toolsArray.value)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 放弃工具
|
|
// 放弃工具
|
|
|
const discardTool = (index: number) => {
|
|
const discardTool = (index: number) => {
|
|
|
- toolsArray[index].isSet = true
|
|
|
|
|
|
|
+ toolsArray.value[index].isSet = true
|
|
|
setTool()
|
|
setTool()
|
|
|
- console.log('放弃工具', toolsArray)
|
|
|
|
|
|
|
+ // 丢弃后自动切换到下一个未处理的题;全部处理完时 setTool 内已关闭带选页
|
|
|
|
|
+ if (toolsArray.value.length > 0) {
|
|
|
|
|
+ selectedToolIndex.value = Math.min(index, toolsArray.value.length - 1)
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log('放弃工具', toolsArray.value)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 保留所有工具
|
|
// 保留所有工具
|
|
|
const keepAllTools = () => {
|
|
const keepAllTools = () => {
|
|
|
- toolsArray.forEach(tool => {
|
|
|
|
|
|
|
+ toolsArray.value.forEach(tool => {
|
|
|
if (!tool.isSet) {
|
|
if (!tool.isSet) {
|
|
|
createSlide()
|
|
createSlide()
|
|
|
createFrameElement(tool.url, getToolType(tool.tool_id))
|
|
createFrameElement(tool.url, getToolType(tool.tool_id))
|
|
|
tool.isSet = true
|
|
tool.isSet = true
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
changeSlideIndex(childPageIndex.value)
|
|
changeSlideIndex(childPageIndex.value)
|
|
|
setTool()
|
|
setTool()
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
@@ -283,7 +292,7 @@ const toolTypeMap: Record<string, number> = {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const currentToolType = computed(() => {
|
|
const currentToolType = computed(() => {
|
|
|
- const toolId = toolsArray[selectedToolIndex.value]?.tool_id
|
|
|
|
|
|
|
+ const toolId = toolsArray.value[selectedToolIndex.value]?.tool_id
|
|
|
return toolId ? toolTypeMap[toolId] || 0 : 0
|
|
return toolId ? toolTypeMap[toolId] || 0 : 0
|
|
|
})
|
|
})
|
|
|
|
|
|