⏳ 排队等待 | 未排队 | LV.3 | 120分 | 答题挑战(替换原本空荡的标题栏)。
检测 按钮点击触发该条重新检测(diagItem 走真实检测,riskItem 模拟 800ms)。
defineExpose 暴露 6 个 API(totalBadge / totalBadgeByLevel / showCelebrate / isRunningAll / hasAnyDiagItems / runAllDiag)。
.accordion-item--active { max-height: 80% } 硬限制;右栏 overflow-y: auto 整体可滚动。
⏳ 排队等待 #5 前面4人 LV.3 120分 [答题挑战];queue-content 内不再单独显示 position-card(QueueWaiting 组件需新增 show-position=false prop)。
currentTab 已 computed 自动过滤,切 Tab 时 Vue 自动卸载旧 DOM / 挂载新 DOM,无需代码改动,仅原型标注。
安全 1•2(红数字徽章 + 灰色斜体小角标)。
.diag-tab__badge)= 异常项数;
② 灰斜体小角标(.diag-tab__pending-hint)= 接入中项数;两角标视觉区隔明显(颜色 + 字体)。
⚠️ 仅适用于桌面端(≥500px)右栏,移动端(<500px)右栏整体不显示(ChatView.vue:80-89)。 以 Tab「安全」为例,3 种不同的视觉处理方式(当前激活态 = 系统软件):
| 方案 | 占用高度 | 视觉区隔 | Tab 高度统一 | 总评 |
|---|---|---|---|---|
| A 文字右侧 (当前 v2.2) |
34px | 强(斜体+小号) | ✅ 与其他 Tab 一致 | 推荐 和 v2.1 Tab 整体观感一致 |
| B 替代数字徽章 | 34px | 中(颜色区隔) | ✅ | 可作备选 更适合 pending 数字较大场景 |
| C 文字下方 | 54px | 最强 | ❌ 高度变高 | 信息量大但破坏对齐 不推荐 |
💡 说明:方案 A 是当前 v2.2 已落地的方案,保持 Tab 高度统一(34px),文字+角标同级排列视觉简洁。 方案 B 是 Tab "安全" 同时有异常 + 接入(如 `1W·2接入`)时的备选,把数字徽章位置复用。 方案 C 因高度不统一,破坏横向并排视觉,不推荐。
⚠️ 仅适用于移动端(<500px):ChatView.vue:80-89 移动端不显示右栏, 新增 toggle 开关后切换显示左对话框 vs 右栏。桌面端(≥500px)维持原状不变。
| 方案 | 占用空间 | 切换体验 | 学习成本 | 桌面端一致性 | 总评 |
|---|---|---|---|---|---|
| A 顶部双按钮 | 顶部 ~38px | 单击切换 · 直觉 | 极低 | ✅ 不出现 | 推荐 视觉直白,状态一目了然 |
| B 右下 FAB | 右下 38×38px | 点击展开抽屉 | 中(需关闭) | ✅ 不出现 | 抽屉体验好 但覆盖对话丢失上下文 |
| C 底部 Tab Bar | 底部 ~56px | 单击切换 · 移动 App 范式 | 极低 | ❌ 仅移动端有 | 移动 App 习惯 但跨端一致性差 |
💡 说明:方案 A 顶部双按钮最直白,单击即切换且状态高亮清晰。 方案 B FAB 抽屉式切换更有"展开感",但右栏会覆盖左对话框丢失上下文。 方案 C 底部 Tab Bar 是移动 App 主流,但桌面端(≥500px)仍维持双栏,跨端控件位置不一致会增加用户认知负担。 推荐 A。
用户需求:「选择某一项标签时(网络),下方只显示网络的诊断项,不显示其他标签页诊断项」
代码 SelfDiagnosis.vue 现状:line 499-501 `currentTab` 已 computed 自动过滤;
激活 Tab 切换时,下方内容区只渲染当前 Tab 的 `diagItems` + `riskItems`,其他 Tab 数据仅参与总异常数计算。