测试台:抽键预检屏与收件箱格一并撤,台面改两栏对开
**抽键预检读数屏删了**。宽进之后它已经不是闸,只是一屏会亮会灭的字 —— 抽得出抽不出,进了活动由受理补全单说了算,不必在门口先演一遍。 镜像服务端正则的那份前端实现(`preflight`)随之退场:一套规则两处实现, 本就是迟早对不上的账。 **收件箱那一格删了**。投给哪个信箱是通道配置的事,不是造这封信的人该操心的 —— 契约里 `mail.to` 放宽为可空,空地址由服务端取在用的邮件通道(与线上真来一封信同一条路)。 信头从三行收成两行:发件人 / 主题 → 正文 → 附件签条。 **台面重排**:从「左读数屏 + 右两段」改成 **两栏对开** —— 左造信(01)、右派人(02), 起单条横跨两栏吸在底边,像仪器前面板压在桌沿上。被测流不再占一整栏:它是一次性的 决定,改成顶部一行卡片,且只在多于一条生效流时才出(没得选的选择器是纯占位)。 实测(丁子乔账号):不写收件箱照样起单成功,起后「停止仿真」连根销毁, 任务 0 / 工作流 0,试跑数据未留。五闸绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
@@ -827,9 +827,11 @@
|
||||
|
||||
/* ── 装配台:**拆盒**(2026-07-30 三改)—— 台面上只有三件「实物」:纸信、黑读数屏、
|
||||
起单钮;其余全是台面排版。两栏之间一道竖细线,不再是两只描边盒子摞题头栏。 */
|
||||
.g-rig { display: grid; grid-template-columns: minmax(232px, 280px) minmax(0, 1fr); gap: 0; align-items: stretch; }
|
||||
.g-rig-l { display: flex; flex-direction: column; min-width: 0; padding-right: 16px; border-right: 1px solid #16233c; }
|
||||
.g-rig-r { display: flex; flex-direction: column; min-width: 0; padding-left: 18px; }
|
||||
/* 台面两栏对开:左造信、右派人;起单条横跨两栏坐底(抽键读数屏 2026-07-29 撤) */
|
||||
.g-rig { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); gap: 0; align-items: start; }
|
||||
.g-rig-l { display: flex; flex-direction: column; min-width: 0; padding: 0 18px 12px 0; border-right: 1px solid #16233c; }
|
||||
.g-rig-r { display: flex; flex-direction: column; min-width: 0; padding: 0 0 12px 18px; }
|
||||
.g-rig > .tb-fire { grid-column: 1 / -1; }
|
||||
|
||||
/* 节题:不再是填色横栏 —— 一行疏排大写 + 底缘细线,是**标题**不是盒盖 */
|
||||
.g-rig-h { display: flex; align-items: center; gap: 8px; padding: 12px 0 8px; border-bottom: 1px solid #1d2c48; font-family: var(--sh-mono); font-size: 9.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--sh-steel); }
|
||||
@@ -845,6 +847,9 @@
|
||||
|
||||
/* 左栏:一包一行 —— 选中只亮一道磷光左棱 + 提亮文字;不整块染色,色彩留给读数屏 */
|
||||
.tb-pks { display: flex; flex-direction: column; padding: 4px 0 2px; }
|
||||
/* 被测流选择器:横排一行,选完就让位 —— 它是一次性的决定,不值一整栏 */
|
||||
.tb-pkrow { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0 14px; border-bottom: 1px solid #1d2c48; }
|
||||
.tb-pkrow .g-pk { flex: 0 1 auto; min-width: 168px; padding: 8px 12px; border: 1px solid var(--sh-line); border-radius: 8px; }
|
||||
.g-pk { display: flex; flex-direction: column; gap: 3px; padding: 9px 10px 9px 12px; border: 0; border-left: 2px solid transparent; background: transparent; text-align: left; font: inherit; color: var(--sh-steel); cursor: pointer; transition: color var(--t-fast), border-color var(--t-fast), background var(--t-fast); }
|
||||
.g-pk:hover { color: var(--sh-ink); background: rgba(255, 255, 255, .025); }
|
||||
.g-pk.on { border-left-color: var(--sh-live); color: var(--sh-ink); background: rgba(255, 255, 255, .03); }
|
||||
@@ -855,20 +860,7 @@
|
||||
.g-pk .cnt i { font-style: normal; }
|
||||
|
||||
/* ── 抽键预检读数屏(戏眼):左栏唯一的「实物」—— 黑色凹屏,一键一灯,值走磷光 ── */
|
||||
.tb-well { margin: 12px 0 8px; padding: 5px 0; background: var(--sh-well); border: 1px solid #1a2946; border-radius: 9px; box-shadow: inset 0 2px 10px rgba(0, 0, 0, .5); }
|
||||
.tb-well-r { display: grid; grid-template-columns: 16px minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 7px; padding: 8px 12px 8px 10px; font-family: var(--sh-mono); }
|
||||
.tb-well-r + .tb-well-r { border-top: 1px dashed #14213a; }
|
||||
.tb-well-r > i { width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--sh-muted); background: transparent; justify-self: center; transition: background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast); }
|
||||
.tb-well-r.hit > i { border-color: var(--sh-live); background: var(--sh-live); box-shadow: 0 0 7px var(--sh-live); }
|
||||
.tb-well-r.dead > i { border-color: var(--sh-alarm); }
|
||||
.tb-well-r .k { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; color: var(--sh-steel); }
|
||||
/* 必填不描框:一枚小字缀在键名后就够 —— 屏上的字越少越像屏 */
|
||||
.tb-well-r .k em { flex: none; font: 600 8.5px/1 var(--sh-mono); font-style: normal; color: var(--sh-muted); }
|
||||
.tb-well-r .v { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; font-size: 12px; font-weight: 700; color: var(--sh-muted); }
|
||||
.tb-well-r.hit .v { color: var(--sh-live); text-shadow: 0 0 8px rgba(69, 220, 178, .35); }
|
||||
.tb-well-r.dead .v { color: var(--sh-alarm); font-weight: 600; }
|
||||
.tb-well-none { margin: 0; padding: 10px 12px; font-size: 11px; line-height: 1.8; color: var(--sh-muted); }
|
||||
.tb-well-t { margin: 0; padding: 6px 2px 0; font-size: 10px; line-height: 1.7; color: var(--sh-muted); }
|
||||
|
||||
/* ── ① 一封信 = 一张**纸**压在暗台面上:整台仪器里唯一的浅色面 ──
|
||||
「机器说 mono、信是外界」推到视觉结论 —— 外界伸进仪器的那件东西,长得像张纸。
|
||||
@@ -922,7 +914,8 @@
|
||||
.tb-socket option { background: var(--sh-panel); color: var(--sh-ink); }
|
||||
|
||||
/* ── 起单条:仪器的前面板边缘 —— 全屏唯一的动作钮,灯全亮才上膛 ── */
|
||||
.tb-fire { position: sticky; bottom: -1px; z-index: 3; display: flex; align-items: center; gap: 14px; margin-top: auto; padding: 12px 0; border-top: 1px solid #1d2c48; background: var(--sh-bed); }
|
||||
/* 起单条:横跨两栏、吸在台面底边 —— 像仪器前面板压在桌沿上,内容从它底下过 */
|
||||
.tb-fire { position: sticky; bottom: -1px; z-index: 3; display: flex; align-items: center; gap: 14px; margin-top: 6px; padding: 12px 14px; border: 1px solid #1d2c48; border-bottom: 0; border-radius: 10px 10px 0 0; background: var(--sh-bed); box-shadow: 0 -10px 24px -12px rgba(0, 0, 0, .75); }
|
||||
.tb-fire .say { min-width: 0; font-size: 11px; line-height: 1.6; color: var(--sh-muted); }
|
||||
.tb-fire .say .bad { font-weight: 600; color: var(--sh-alarm); }
|
||||
.tb-go { flex: none; margin-left: auto; display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 22px; border: 1px solid var(--sh-lineb); border-radius: 8px; background: var(--sh-panel); color: var(--sh-steel); font: 700 12.5px/1 var(--sh-mono); letter-spacing: .12em; cursor: pointer; transition: color var(--t-fast), border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast); }
|
||||
|
||||
Reference in New Issue
Block a user