feat: add fix-broken button to WorkspaceToolbar

This commit is contained in:
2026-06-15 23:06:42 -06:00
parent 9fb5646476
commit b79aa6672d

View File

@@ -13,6 +13,8 @@ defineEmits<{
export: [] export: []
clear: [] clear: []
generate: [] generate: []
batchGenerate: []
fixBroken: []
back: [] back: []
}>() }>()
@@ -29,14 +31,17 @@ const saveStatusLabel: Record<SaveStatus, string> = {
<button type="button" data-testid="back" @click="$emit('back')">返回列表</button> <button type="button" data-testid="back" @click="$emit('back')">返回列表</button>
<button type="button" data-testid="upload" @click="$emit('upload')">导入教案</button> <button type="button" data-testid="upload" @click="$emit('upload')">导入教案</button>
<button type="button" data-testid="generate" @click="$emit('generate')">生成教案</button> <button type="button" data-testid="generate" @click="$emit('generate')">生成教案</button>
<button type="button" data-testid="batch-generate" @click="$emit('batchGenerate')">批量生成</button>
<button type="button" data-testid="print" :disabled="lessonCount === 0" @click="$emit('print')">打印整册</button> <button type="button" data-testid="print" :disabled="lessonCount === 0" @click="$emit('print')">打印整册</button>
<button type="button" data-testid="export" :disabled="lessonCount === 0" @click="$emit('export')">导出 Markdown</button> <button type="button" data-testid="export" :disabled="lessonCount === 0" @click="$emit('export')">导出 Markdown</button>
<button type="button" data-testid="clear" :disabled="lessonCount === 0" @click="$emit('clear')">清空</button> <button type="button" data-testid="clear" :disabled="lessonCount === 0" @click="$emit('clear')">清空</button>
<span class="workspace-toolbar-count"> {{ lessonCount }} </span> <span class="workspace-toolbar-count"> {{ lessonCount }} </span>
<span v-if="warningCount > 0" class="workspace-toolbar-warning"> <template v-if="warningCount > 0">
{{ warningCount }} 处提示 <button type="button" data-testid="fix-broken" @click="$emit('fixBroken')">
</span> 修复 {{ warningCount }} 处提示
</button>
</template>
<span class="workspace-toolbar-status" :class="`workspace-toolbar-status--${saveStatus}`"> <span class="workspace-toolbar-status" :class="`workspace-toolbar-status--${saveStatus}`">
{{ saveStatusLabel[props.saveStatus] }} {{ saveStatusLabel[props.saveStatus] }}
</span> </span>