任务进度 · {{ phase(progress.phase) }}
@for (item of items; track item.key) {
- {{ item.label }}
- {{ duration(progress.durations[item.key]) }}
}
{{ progress.note || '分项使用实际记录;缺失为未知。执行完成不等于验证通过。' }}
@if (progress.observed_at != null) { 记录更新于 {{ progress.observed_at * 1000 | date:'HH:mm:ss' }} }
}`,
styles: [`
:host { display: block; }
.lifecycle { margin: 8px 0; padding: 10px 12px; border: 1px solid var(--app-border-control, #cbd5e1); border-radius: 8px; color: var(--app-text-control, #1e293b); background: var(--app-surface, #fff); font-size: 12px; }
summary { cursor: pointer; font-weight: 600; }
dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin: 12px 0; }
dt, p, small { color: var(--app-text-muted, #64748b); }
dd { margin: 4px 0 0; font-variant-numeric: tabular-nums; }
p { margin: 8px 0; line-height: 1.6; overflow-wrap: anywhere; }
`]
})
export class TaskLifecycleComponent {
value = input