From f7b6a3a107ac341c0b6733cdd78dd7be058774c9 Mon Sep 17 00:00:00 2001 From: 18628386721 <18628386721@163.com> Date: Tue, 28 Jul 2026 10:32:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A9=BA=E6=80=81=E5=88=86=E5=87=BA=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E7=A7=8D=E7=A9=BA=20=E2=80=94=E2=80=94=20=E3=80=8C?= =?UTF-8?q?=E6=B2=A1=E6=8E=A5=E9=80=9A=E3=80=8D=E4=B8=8D=E8=AE=B8=E8=AF=BA?= =?UTF-8?q?,=E5=88=AB=E8=AE=A9=E4=BA=BA=E7=99=BD=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 上一版补占位时漏了一件:占位分**两种**空,我只做了一种。 「沟通记录」的注释写着「明说没接,不伪装成暂无数据」,正文却写「与客户、供应商的 邮件和消息都会归到这里」—— 注释和文案自相矛盾。按单归档的投影根本没做,`outbound_mail` 至今只有 channel 建表和 reset-runs 碰过,**任何界面都读不到**。所以在那一屏等下去 永远不会有内容,而文案在请人等。 改成如实说:「往来记录还没接通」。并给 EmptyState 加第三色调,让三种空长得不一样: ok 办完了、清空了 —— 这是好事(待批清空、无未读) brand 还没发生,但通路是通的 —— 等着就会有(还没有任务、还没有成果) muted 通路还没接 —— 等下去也不会有。灰环灰图标,视觉上就不许诺 `muted` 是新加的真色调(不是我编的类名 —— union 与 CSS 一并落地)。 文案也不把人指去「消息」面:那里同样读不到外部邮件,指过去是第二个谎。 顺手把十处空态过了一遍:其余 brand 都名副其实(起单、聚合、纪要、成果的装配都通), 只有沟通记录这一处在许诺。债务簿该条对账。 tsc ✓ eslint ✓ depcruise ✓ 481 测试 ✓ Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m --- apps/web/src/app/styles/app.css | 8 ++++++++ .../src/features/desk-task/internal/ViewRegion.tsx | 13 +++++++++---- apps/web/src/shared/desk/module-kit.tsx | 7 ++++++- docs/debt.md | 6 ++++++ 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/apps/web/src/app/styles/app.css b/apps/web/src/app/styles/app.css index 98e6d5c..4a367b2 100644 --- a/apps/web/src/app/styles/app.css +++ b/apps/web/src/app/styles/app.css @@ -2950,3 +2950,11 @@ .proto-root .jc-fc-h { flex-wrap: wrap; row-gap: 3px; } .proto-root .jc-fc-h b { min-width: 0; flex: 1 1 auto; } .proto-root .jc-fc-open { white-space: nowrap; } + +/* ── 空态第三色调:muted —— 「通路还没接」(补充,非原型)────────────── + 原型只有 ok(办完了)和 brand(等着就会有)。但还有第三种空:**通路没接**, + 等下去也不会有内容。它不能跟 brand 一个样 —— 那是在请人白等。 + 灰环 + 灰图标,视觉上就不许诺。 */ +.proto-root .jc-empty.t-muted .r1 { background: radial-gradient(circle, var(--line-soft), transparent 72%); } +.proto-root .jc-empty.t-muted .r2 { background: var(--line-soft); } +.proto-root .jc-empty.t-muted .jc-empty-ico { color: var(--ink-3); } diff --git a/apps/web/src/features/desk-task/internal/ViewRegion.tsx b/apps/web/src/features/desk-task/internal/ViewRegion.tsx index e9d181a..fd85a9e 100644 --- a/apps/web/src/features/desk-task/internal/ViewRegion.tsx +++ b/apps/web/src/features/desk-task/internal/ViewRegion.tsx @@ -192,12 +192,17 @@ export function ViewRegion({ detail, onReplyOrder }: ViewRegionProps) { {openFile !== undefined ? ( ) : view === 'comms' ? ( - /* 占位:与外界的往来(邮件线程等)还没接进来 —— 明说没接,不装成「暂无数据」 */ + /* + * 「还没接」和「暂无数据」是两回事,占位不能混: + * 邮件与通道消息的数据在 `channel` / `event` 里确实有,但按单归档的投影还没做 —— + * 所以在这儿等下去也不会自己冒出内容来。说「都会归到这里」就是把没接说成了空, + * 人会一直等,或者以为坏了。如实说没接通,再说接通之后是什么样。 + */ ) : view === 'wf' ? ( diff --git a/apps/web/src/shared/desk/module-kit.tsx b/apps/web/src/shared/desk/module-kit.tsx index c03adf1..144414d 100644 --- a/apps/web/src/shared/desk/module-kit.tsx +++ b/apps/web/src/shared/desk/module-kit.tsx @@ -190,6 +190,11 @@ export function NoteBand({ children }: { children: ReactNode }) { * * **空态是产品的常态,不是缺陷**:文案一律从用人的角度写「你手上现在没有什么」, * 而不是从开发角度写「这块还没做」—— 后者是给自己看的,前者才是用户要的那句话。 + * + * 三个色调分的是**三种空**,不是三种好看: + * - `ok` 办完了、清空了 —— 这是好事(待批清空、无未读) + * - `brand` 还没发生,但通路是通的 —— 等着就会有(还没有任务、还没有成果) + * - `muted` 通路还没接 —— 等下去也不会有内容。灰着,别让人白等 */ export function EmptyState({ ico, @@ -199,7 +204,7 @@ export function EmptyState({ hint, }: { ico: string; - tone: 'ok' | 'brand'; + tone: 'ok' | 'brand' | 'muted'; title: string; desc: string; hint?: string | undefined; diff --git a/docs/debt.md b/docs/debt.md index adff93b..afcc402 100644 --- a/docs/debt.md +++ b/docs/debt.md @@ -46,6 +46,12 @@ 邮件线程、通道消息、原件存档 —— 数据在 `channel` 与 `event` 里已有,尚未做投影。 界面上明说「还没接」,不伪装成「暂无数据」。 +2026-07-28 对账:这条曾**只写在注释里没落到文案上** —— 注释写着「明说没接」, +正文却写「都会归到这里」,等于把没接说成了空,人会一直等。已改为「往来记录还没接通」, +并给空态加了第三色调 `muted`(通路没接,灰着不许诺;区别于 `brand` 的「等着就会有」)。 +`outbound_mail` 至今只有 channel 建表与清库脚本碰过,任何界面都读不到 —— 所以文案也 +不把人指去「消息」面。 + ## 工作区页签条装不下五个页签 五个四字页签 380px + 翻页囊 112px + 间距 30px = 522px,工作区仅 429px,差 94px。