page.tsx
4.79 KB
-
feat(plan-detail): supersede 老 URL 自动跳最新版 + 刷新按钮旁加"更新于" · 70d53a9d
问题:刷新/重算会 supersede 出新版本 plan(新 id),老 plan 行仍保留 冻结快照。getPlanDetailByPlanId 用 findUnique(id) 照样返回 superseded 的 旧数据(不 404),导致老 plan URL(刷新后 refetch / 收藏 / 分享 / 任务抽屉) 停在陈旧快照 —— 召回原因读老 plan 的 1;4,治疗链实时合成 1B;4C,对不上 → "暂不召回",看着像"刷了没变化"。 修复: - 后端 getPlanDetailByPlanId 检测请求的 plan 为 superseded → 解析该患者当前 active/assigned plan → 响应带 currentPlanId(否则 = 请求 id);serializePlan 增加 updatedAt。 - 前端 page 据 currentPlanId !== planId 时 router.replace 落到最新版(过场 提示,不渲染陈旧快照),通吃所有老 URL 入口。 - 刷新按钮左侧加"更新于 X"(plan.updatedAt 相对时间),给数据新鲜度。 验证:老 plan(superseded)→ currentPlanId=新版;新版 K00 chain.target=true (★潜在新链)、reason=1B;4C。service + web tsc 均通过。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
luoqi committed