{#if ds}
{ds.name ?? '未命名数据集'} {#if ds.manifest_hash}manifest {ds.manifest_hash.slice(0, 10)}…{/if} {#if ds.cache_hit}缓存命中 · 复用现有物化对象{/if}
{datasetStatusLabel[ds.status]}
请求标的 {(ds.request.instruments ?? []).map(instrumentLabel).join(';')} 范围 {ds.request.start_date} ~ {ds.request.end_date} · {ds.request.frequency} · {adjustmentLabel[ds.request.adjustment] ?? ds.request.adjustment} 字段 {(ds.request.fields ?? []).join(', ')} 创建时间 {fmtDate(ds.created_at)}
{#if ds.status === 'failed'}
{#if recreatedId} 已用原请求创建新数据集(编号 {recreatedId.slice(0, 8)}…),新数据集出现在下方列表并自动跟踪进度;本条失败记录原样保留。 {/if} {#if recreateErr}{recreateErr}{/if}
{/if} {#if ds.status === 'ready'}
{#if showPreview}
{#if preview} {@const cov = summarizeCoverage(preview.coverage ?? [])} {#if cov.warnings.length > 0} {/if} {#if (preview.coverage ?? []).some((c) => (c.warnings ?? []).length > 0)} {/if} {#if cov.common.start && cov.warnings.length === 0} {/if}
{#each preview.columns as c (c)}{c}{/each} {#each preview.rows as row, i (i)} {#each preview.columns as c (c)}{row[c]}{/each} {/each}
{#if preview.truncated}

预览仅展示部分行

{/if} {/if}
{/if} {/if} {:else} {/if}