This commit is contained in:
2026-02-24 21:47:21 +08:00
parent 9388f7d75b
commit 7490298ded
2 changed files with 48 additions and 42 deletions

View File

@@ -156,7 +156,7 @@
<!-- 操作按钮 -->
<div class="action-section">
<a-button
v-if="!isPipelineReady"
v-if="!isPipelineCompleted"
type="primary"
size="large"
:disabled="!canGenerate"
@@ -165,20 +165,13 @@
@click="generateAudio"
class="action-btn"
>
{{ isPipelineBusy ? '处理中...' : '生成配音并验证' }}
{{ isPipelineBusy ? pipelineStateLabel + '...' : '生成数字人视频' }}
</a-button>
<a-button
v-else
type="primary"
size="large"
:loading="isPipelineBusy"
block
@click="generateDigitalHuman"
class="action-btn"
>
{{ isPipelineBusy ? '处理中...' : '生成数字人视频' }}
</a-button>
<div v-else class="completed-tip">
<span>任务已提交成功</span>
<a-button @click="resetPipeline" class="reset-btn">重新生成</a-button>
</div>
</div>
</section>
@@ -252,6 +245,7 @@ const {
// Pipeline 状态(单一状态源)
pipelineState,
pipelineStateLabel,
isPipelineBusy,
isPipelineReady,
isPipelineFailed,
@@ -269,7 +263,6 @@ const {
handleVideoSelect,
handleVideoLoaded,
replaceVideo,
generateDigitalHuman,
// UI 辅助方法
formatDuration,
@@ -706,6 +699,35 @@ onMounted(async () => {
}
}
.completed-tip {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
padding: 12px 16px;
background: #F0FDF4;
border: 1px solid #86EFAC;
border-radius: 8px;
color: #166534;
font-size: 14px;
font-weight: 500;
.reset-btn {
padding: 4px 12px;
font-size: 13px;
color: #3B82F6;
border: 1px solid #3B82F6;
border-radius: 4px;
background: transparent;
cursor: pointer;
transition: all 0.2s;
&:hover {
background: rgba(59, 130, 246, 0.1);
}
}
}
// 预览面板
.preview-card {
position: sticky;