{#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'} {ds.error ?? '数据获取失败'}
{#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}
覆盖差异(共有区间 {cov.common.start ?? '—'} ~ {cov.common.end ?? '—'}):
    {#each cov.warnings as w, i (i)}
  • {w}
  • {/each}
{/if} {#if (preview.coverage ?? []).some((c) => (c.warnings ?? []).length > 0)}
来源与口径说明:
    {#each preview.coverage.filter((c) => (c.warnings ?? []).length > 0) as c (c.instrument)}
  • {c.instrument}:{(c.warnings ?? []).join(';')}
  • {/each}
{/if} {#if cov.common.start && cov.warnings.length === 0} 覆盖平稳:共有可用区间 {cov.common.start} ~ {cov.common.end}。可以直接用于回测。 {/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}