chore: localize workflow run report labels

This commit is contained in:
2026-06-13 15:01:57 +08:00
parent 5d399a09e8
commit 21411bda62
3 changed files with 40 additions and 12 deletions
@@ -1316,10 +1316,13 @@
}, },
"columns": { "columns": {
"workflow": "工作流", "workflow": "工作流",
"task": "任务",
"status": "状态", "status": "状态",
"trigger": "触发来源", "trigger": "触发来源",
"steps": "步骤", "steps": "步骤",
"tokens": "Token", "tokens": "Token",
"lastNode": "最后节点",
"resultSummary": "结果摘要",
"duration": "耗时", "duration": "耗时",
"startedAt": "开始时间", "startedAt": "开始时间",
"error": "错误", "error": "错误",
@@ -1348,6 +1351,14 @@
"completedAt": "完成时间", "completedAt": "完成时间",
"version": "版本", "version": "版本",
"draft": "草稿", "draft": "草稿",
"taskInput": "任务输入",
"finalOutput": "最终输出",
"collaborationAgents": "协作智能体",
"noAgentLogs": "暂无智能体协作记录",
"agent": "智能体",
"agentCode": "编码",
"model": "模型",
"promptCompletion": "Prompt / Completion",
"timeline": "执行时间线", "timeline": "执行时间线",
"noLogs": "暂无执行日志", "noLogs": "暂无执行日志",
"inputsOutputs": "输入 / 输出" "inputsOutputs": "输入 / 输出"
@@ -109,7 +109,7 @@ export function useZqTableColumns(): Column[] {
}, },
{ {
key: 'task_summary', key: 'task_summary',
title: '任务', title: $t('ai-platform.workflowRuns.columns.task'),
minWidth: 240, minWidth: 240,
showOverflowTooltip: true, showOverflowTooltip: true,
slots: { default: 'cell-task_summary' }, slots: { default: 'cell-task_summary' },
@@ -144,14 +144,14 @@ export function useZqTableColumns(): Column[] {
}, },
{ {
key: 'last_node', key: 'last_node',
title: '最后节点', title: $t('ai-platform.workflowRuns.columns.lastNode'),
minWidth: 150, minWidth: 150,
showOverflowTooltip: true, showOverflowTooltip: true,
slots: { default: 'cell-last_node' }, slots: { default: 'cell-last_node' },
}, },
{ {
key: 'result_summary', key: 'result_summary',
title: '结果摘要', title: $t('ai-platform.workflowRuns.columns.resultSummary'),
minWidth: 260, minWidth: 260,
showOverflowTooltip: true, showOverflowTooltip: true,
slots: { default: 'cell-result_summary' }, slots: { default: 'cell-result_summary' },
@@ -300,11 +300,15 @@ defineExpose({ open });
<div class="run-report-grid grid gap-4 lg:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_360px]"> <div class="run-report-grid grid gap-4 lg:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_360px]">
<div class="border-border bg-muted/30 rounded-lg border p-3"> <div class="border-border bg-muted/30 rounded-lg border p-3">
<div class="mb-2 text-sm font-medium">任务输入</div> <div class="mb-2 text-sm font-medium">
{{ $t('ai-platform.workflowRuns.detail.taskInput') }}
</div>
<pre class="run-json run-report-json">{{ taskSummary }}</pre> <pre class="run-json run-report-json">{{ taskSummary }}</pre>
</div> </div>
<div class="border-border bg-muted/30 rounded-lg border p-3"> <div class="border-border bg-muted/30 rounded-lg border p-3">
<div class="mb-2 text-sm font-medium">最终输出</div> <div class="mb-2 text-sm font-medium">
{{ $t('ai-platform.workflowRuns.detail.finalOutput') }}
</div>
<pre <pre
:class="run.status === 'failed' ? 'text-destructive' : ''" :class="run.status === 'failed' ? 'text-destructive' : ''"
class="run-json run-report-json" class="run-json run-report-json"
@@ -312,7 +316,9 @@ defineExpose({ open });
</div> </div>
<div class="border-border bg-muted/30 rounded-lg border p-3"> <div class="border-border bg-muted/30 rounded-lg border p-3">
<div class="mb-2 flex items-center justify-between"> <div class="mb-2 flex items-center justify-between">
<span class="text-sm font-medium">协作智能体</span> <span class="text-sm font-medium">
{{ $t('ai-platform.workflowRuns.detail.collaborationAgents') }}
</span>
<ElTag size="small">{{ agentSummaries.length }}</ElTag> <ElTag size="small">{{ agentSummaries.length }}</ElTag>
</div> </div>
<div v-if="agentSummaries.length" class="space-y-2"> <div v-if="agentSummaries.length" class="space-y-2">
@@ -333,7 +339,7 @@ defineExpose({ open });
</div> </div>
</div> </div>
<div v-else class="text-muted-foreground text-sm"> <div v-else class="text-muted-foreground text-sm">
暂无智能体协作记录 {{ $t('ai-platform.workflowRuns.detail.noAgentLogs') }}
</div> </div>
</div> </div>
</div> </div>
@@ -394,23 +400,31 @@ defineExpose({ open });
class="border-border bg-muted/40 grid grid-cols-2 gap-2 rounded-md border p-2" class="border-border bg-muted/40 grid grid-cols-2 gap-2 rounded-md border p-2"
> >
<div> <div>
<div class="text-muted-foreground">智能体</div> <div class="text-muted-foreground">
{{ $t('ai-platform.workflowRuns.detail.agent') }}
</div>
<div class="font-medium"> <div class="font-medium">
{{ getLogMeta(log).agent_name || getLogMeta(log).agent_code }} {{ getLogMeta(log).agent_name || getLogMeta(log).agent_code }}
</div> </div>
</div> </div>
<div> <div>
<div class="text-muted-foreground">编码</div> <div class="text-muted-foreground">
{{ $t('ai-platform.workflowRuns.detail.agentCode') }}
</div>
<div class="font-mono">{{ getLogMeta(log).agent_code }}</div> <div class="font-mono">{{ getLogMeta(log).agent_code }}</div>
</div> </div>
<div> <div>
<div class="text-muted-foreground">模型</div> <div class="text-muted-foreground">
{{ $t('ai-platform.workflowRuns.detail.model') }}
</div>
<div class="break-words"> <div class="break-words">
{{ getLogMeta(log).model || getLogMeta(log).model_id || '-' }} {{ getLogMeta(log).model || getLogMeta(log).model_id || '-' }}
</div> </div>
</div> </div>
<div> <div>
<div class="text-muted-foreground">Prompt / Completion</div> <div class="text-muted-foreground">
{{ $t('ai-platform.workflowRuns.detail.promptCompletion') }}
</div>
<div> <div>
{{ getLogMeta(log).prompt_tokens || 0 }} / {{ getLogMeta(log).prompt_tokens || 0 }} /
{{ getLogMeta(log).completion_tokens || 0 }} {{ getLogMeta(log).completion_tokens || 0 }}
@@ -430,7 +444,10 @@ defineExpose({ open });
<pre class="run-json">{{ previewValue(log.output) }}</pre> <pre class="run-json">{{ previewValue(log.output) }}</pre>
</div> </div>
<div class="text-muted-foreground flex gap-3"> <div class="text-muted-foreground flex gap-3">
<span>Token: {{ log.tokens_used || 0 }}</span> <span>
{{ $t('ai-platform.workflowRuns.columns.tokens') }}:
{{ log.tokens_used || 0 }}
</span>
<span>{{ log.node_type }}</span> <span>{{ log.node_type }}</span>
</div> </div>
</div> </div>