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 {