diff --git a/web/src/views/drama/EpisodeWorkflow.vue b/web/src/views/drama/EpisodeWorkflow.vue index d101f32..333d57c 100644 --- a/web/src/views/drama/EpisodeWorkflow.vue +++ b/web/src/views/drama/EpisodeWorkflow.vue @@ -346,7 +346,7 @@ 生成中... {{ scene.image_generation_status === 'pending' ? '排队中' : '处理中' }} -
+
生成失败 点击重新生成 @@ -1353,10 +1353,19 @@ const batchGenerateSceneImages = async () => { batchGeneratingScenes.value = true try { - for (const sceneId of selectedSceneIds.value) { - await generateSceneImage(sceneId.toString()) + const promises = selectedSceneIds.value.map(sceneId => + generateSceneImage(sceneId.toString()) + ) + const results = await Promise.allSettled(promises) + + const successCount = results.filter(r => r.status === 'fulfilled').length + const failCount = results.filter(r => r.status === 'rejected').length + + if (failCount === 0) { + ElMessage.success(`批量生成完成!成功生成 ${successCount} 个场景`) + } else { + ElMessage.warning(`生成完成:成功 ${successCount} 个,失败 ${failCount} 个`) } - ElMessage.success('批量生成完成!') } catch (error: any) { ElMessage.error(error.message || '批量生成失败') } finally {