From a7aab01f051487327e5ce52b6a8905208c546e8c Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Fri, 18 Sep 2026 15:49:44 +0800 Subject: [变更性质] feat(frontend) [新增功能] 12 页面组件全量 shadcn:Card/Button/Table/Tabs/Select/Alert;375 底部 Tab Bar 改用 Tabs 组件实现 [实现方案] 页面级手写 class 全部移除(.btn/.banner/table.data/.badge/.tabs/.metric-row/.m-tile/.hint 等改为 shadcn + tailwind 工具类);Modal/DatasetWizard/DatasetCard/DiffView/CodeEditor/Status/Layout 同步 [影响范围] src/pages/*.svelte、src/components/*.svelte MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/DatasetCard.svelte | 60 ++++++++++++------------------ 1 file changed, 24 insertions(+), 36 deletions(-) (limited to 'frontend/src/components/DatasetCard.svelte') diff --git a/frontend/src/components/DatasetCard.svelte b/frontend/src/components/DatasetCard.svelte index 69083fb..266c9a4 100644 --- a/frontend/src/components/DatasetCard.svelte +++ b/frontend/src/components/DatasetCard.svelte @@ -119,50 +119,49 @@ {#if ds} -
+
- {ds.name ?? '未命名数据集'} - {#if ds.manifest_hash}manifest {ds.manifest_hash.slice(0, 10)}…{/if} + {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} @@ -176,22 +175,22 @@
{#if showPreview} -
+
{#if preview} {@const cov = summarizeCoverage(preview.coverage ?? [])} {#if cov.warnings.length > 0} -
-
覆盖差异(共有区间 {cov.common.start ?? '—'} ~ {cov.common.end ?? '—'}):
-
    +
    +
    覆盖差异(共有区间 {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} @@ -199,12 +198,12 @@
      {/if} {#if cov.common.start && cov.warnings.length === 0} - + 覆盖平稳:共有可用区间 {cov.common.start} ~ {cov.common.end}。可以直接用于回测。 {/if} -
      +
      @@ -214,14 +213,14 @@ {#each preview.rows as row, i (i)} - {#each preview.columns as c (c)}{row[c]}{/each} + {#each preview.columns as c (c)}{row[c]}{/each} {/each}
      {#if preview.truncated} -

      预览仅展示部分行

      +

      预览仅展示部分行

      {/if} {/if}
      @@ -231,14 +230,3 @@ {/if} - - -- cgit v1.2.3