Files
2026-07-27 16:46:15 +08:00

5.0 KiB
Raw Blame History

运维质量差异队列:批量处置与返回位置

本轮结论

差异队列从“只能逐条打开、逐条滚动到结论”升级为可审计的批量工作流:当前页和跨页均可累计选择,单次最多 20 项;提交前确认真实影响范围和共同结论;服务端逐项执行乐观锁校验;结果明确区分成功与跳过;返回后仅保留失败项,并保持筛选、页码和当前详情的 URL 上下文。

本轮属于既有车辆数据中台设计系统内的范围明确增强,因此未生成新的 Image Gen 视觉概念。当前产品基线截图作为视觉来源,沿用 Semi UI、现有蓝绿运行治理语义、表格密度和 SideSheet 容器模型。

审计步骤与健康度

  1. 进入质量问题队列 — 需优化。 基线只有逐条证据入口,没有批量模式;桌面与手机都必须打开每条详情后滚动到复核结论。证据:桌面队列手机队列
  2. 选择待处置差异 — 健康。 新增显式批量模式、当前页选择、清空与退出;普通浏览时不显示复选框。桌面保持表格,手机保持卡片列表和 44px 选择目标。证据:桌面批量选择手机批量选择
  3. 确认影响与共同结论 — 健康。 侧栏明确显示影响数量、统一结论、失败策略和每项提交版本;说明必填后才允许提交,底栏动作不随内容滚动。证据:桌面影响确认
  4. 读取逐项结果 — 健康。 成功和跳过分组显示;版本冲突保留原状态,不阻断其他项;桌面与手机都能在一屏读取核心结果。证据:桌面逐项结果手机逐项结果
  5. 返回原队列 — 健康。 成功项退出活跃范围,失败项保持选中;筛选、页码、详情 ID 写入 URL刷新或关闭侧栏不会丢失工作位置。证据手机返回位置

实现要点

  • 新增 POST /api/v2/reconciliation/issues/batch-actions,限制 120 个唯一 ID。
  • 每项独立携带 version 并复用单条处置和不可变履历;接口返回 succeededskipped
  • 批量统一结论仅允许“已修复 / 无需处理 / 退回待复核”,避免跨车辆错误套用来源 A/B。
  • URL 恢复键:reconcileKeywordreconcileStatusreconcileSeverityreconcileRulereconcilePagereconcileIssue
  • 桌面与手机都只让问题列表或 SideSheet 内容区滚动;筛选、批量操作、分页和提交底栏固定在任务边界。

五点视觉一致性账本

检查点 基线证据 实现证据 结论
页面容器 单一质量队列卡片与表格 同一容器内加入浅蓝批量工具带 保持原容器模型,没有新增套卡片
信息密度 表格按问题、车辆、来源、时间、状态组织 仅批量模式增加 54px 选择列 原有列顺序和密度保持稳定
移动布局 卡片列表、固定分页和底部导航 批量工具固定在列表上方,列表独立滚动 390 × 844 无横向溢出
风险确认 单条详情内结论在长证据之后 560px 桌面 SideSheet / 92dvh 手机 Bottom Sheet 影响、结论、版本和提交动作首屏可读
结果反馈 单条保存后只刷新列表 成功 / 跳过分组,失败原因与原状态明确 部分失败不再伪装成整体失败

首屏文案差异

允许新增文案只有正常态入口“批量处置”(手机为“批量”)以及进入批量模式后的“已选 / 选择本页 / 清空 / 退出 / 处置选中”。页面标题、工作区导航、质量指标、筛选标签和普通队列表头均未改名、删除或重排;没有新增装饰性标签或无关说明。

验证

  • APIgo test ./... 全部通过。
  • Web 正式测试75 个文件、459 个测试全部通过。
  • Web 生产构建:tsc -b、Vite build 与 release asset gate 全部通过。
  • 浏览器:内置 Browser/IAB 实测桌面当前视口与 390 × 844手机根文档横向溢出为 0px。
  • 核心路径:进入批量模式 → 选择 4 项 → 填写共同说明 → 3 项成功 / 1 项版本冲突 → 保留失败项返回。

无障碍证据与限制

已验证批量工具栏具有命名区域,复选框、行选择、确认表单、结果状态和关闭动作都有可访问名称;表格行支持 Enter / Space手机选择目标与主操作至少 4244px。截图无法证明完整的屏幕阅读器朗读顺序、浏览器缩放至 200% 后的所有状态、强制色彩模式,以及真实辅助技术下的焦点恢复,因此本轮不宣称完整 WCAG 合规;这些项目仍需 NVDA / VoiceOver 和自动对比度工具补测。