Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/design/operations-ownership-20260723/README.md
2026-07-27 16:46:15 +08:00

4.4 KiB
Raw Blame History

运维质量:责任人、处理期限与交接闭环

本轮结论

质量队列从“只显示 SLA 超时总数”升级为可执行的责任工作流:每条差异都能结构化保存负责人、分配人、分配时间与处理期限;队列直接标出未分配、已超时和八小时内即将到期;详情和批量模式都可交接;负责人/SLA 筛选、分页与详情继续写入 URL刷新或分享不会丢失工作范围。

本轮沿用车辆数据中台的 Semi UI、运行治理蓝绿语义、密集表格和 WorkspaceSideSheet没有生成与现有产品脱节的视觉概念。

审计步骤与健康度

  1. 识别 SLA 风险 — 需优化 → 健康。 基线指标能显示 5 项超时,但队列没有责任人、期限或未分配状态,无法直接行动。优化后“责任 / 时限”成为队列主列,并用红色超时、橙色即将到期和未分配状态区分优先级。证据:优化前队列优化后队列
  2. 缩小责任范围 — 健康。 新增“全部负责人 / 未分配 / 已分配”和“全部时限 / 已超时 / 8 小时内到期”筛选,并以 reconcileOwnerreconcileSla 写入 URL与状态、等级、规则、页码和详情共同恢复。
  3. 交接单条差异 — 健康。 详情首屏摘要直接显示责任状态,证据之后紧邻责任卡片;负责人和 4/8/24/72 小时时限同排完成,旧负责人可重新交接。每次提交携带版本,冲突不会覆盖他人的更新。证据:责任交接详情
  4. 批量形成责任 — 健康。 批量模式在“处置选中”旁提供“交接选中”120 项使用统一负责人和期限;逐项校验版本并返回成功/跳过,失败项继续保持选中。
  5. 移动端读取与操作 — 健康但证据有限。 390 × 844 语义快照确认卡片首屏显示负责人、已超时/即将到期,筛选默认折叠,责任表单改为单列且主操作保持 44px本轮截图驱动在显式窄视口下返回空白位图因此不把该位图作为视觉证明。

实现要点

  • 新增迁移 032_reconciliation_ownership.sqlassigneeassigned_byassigned_atdue_at 及责任/SLA 索引。
  • 新增单条 POST /api/v2/reconciliation/issues/{id}/assignment 与批量 POST /api/v2/reconciliation/issues/batch-assignments
  • 服务端校验负责人、未来 RFC 3339 期限和乐观版本;写入不可变 assign 履历,分配人只取认证主体。
  • 列表新增 owner=assigned|unassignedsla=overdue|due_soon;摘要优先使用明确期限,旧数据继续使用首次发现后 24 小时的兼容 SLA。
  • 桌面筛选在宽屏保持一行、中等宽度三列、手机两列;责任表单在手机降为单列,不引入嵌套滚动。

五点视觉一致性账本

检查点 基线 实现 结论
页面容器 单一质量队列卡片 原容器内增加一列和两项筛选 未新增页面层或套卡片
信息层级 SLA 仅存在于指标 风险下沉到每条记录 指标与行动对象建立对应
桌面密度 五列表格 六列表格,水平滚动阈值同步扩大 1440px 首屏核心列完整可读
详情动作 证据 → 复核结论 证据 → 责任交接 → 复核结论 责任先于结论,符合处置顺序
状态颜色 严重度与结论 复用红/橙风险语义显示期限 无新增装饰色或图标体系

验证

  • API平台与应用包测试通过新增单条交接、责任筛选和批量交接测试。
  • Web75 个测试文件、464 个测试全部通过;生产构建与 release asset gate 通过。
  • 浏览器1440 × 1000 队列和详情真实截图已保存并人工检查390 × 844 DOM 语义快照确认无功能缺失。
  • 核心路径:未分配/超时筛选 → 打开差异 → 分配负责人和期限 → 履历记录;批量选择 → 统一交接 → 逐项结果。

无障碍证据与限制

负责人输入、时限选择、责任筛选、单条/批量提交和关闭动作均有可访问名称;表格行继续支持 Enter / Space手机主操作保持至少 44px。真实截图不能证明屏幕阅读器朗读顺序、200% 缩放、强制色彩或完整焦点恢复,本轮也未使用 NVDA/VoiceOver因此不宣称完整 WCAG 合规。