2026-05-24-15-55-48 增加项目锁定与切片控件修正

This commit is contained in:
2026-05-24 16:15:52 +08:00
parent e9f0823281
commit 3bedf204c8
14 changed files with 586 additions and 62 deletions

View File

@@ -0,0 +1,49 @@
# 需求分析-2026-05-24-15-55-48
## 开始时间
2026-05-24-15-55-48
## 原始需求摘要
1. 逆向工作区“构件层级”标题右侧增加全局小眼睛按钮,可一键显示或隐藏所有构件。
2. 项目列表中增加项目锁定能力:在“进入逆向工作区”左侧增加“锁定按钮”;锁定时将位姿数据保存到 `项目数据/锁定结果/`;进入逆向工作区时若项目已锁定则提示需要解锁;项目列表左侧支持筛选未上锁项目;项目按最后处理时间排序。
3. 修正 DICOM 切片位置滚动条:滚动后轨道不要出现进度色;显示顺序保持正确,但 `1` 应位于滚动条最上方,通过下拉从 `1``N` 查看切片。
## 业务目标
- 让批量构件显示控制更高效,便于快速观察 DICOM 与 STL 的融合效果。
- 为项目处理状态增加可控的“锁定”机制,避免已确认位姿的项目被误进入/误编辑。
- 将锁定时的关键位姿数据落盘,便于后续追溯和复核。
- 让切片滚动控件语义与用户认知一致:顶部为第 1 张,向下逐步增加。
## 输入与输出
- 输入项目列表操作、构件可见性操作、DICOM 切片滚动条操作。
- 输出:项目锁定状态、锁定结果 JSON 文件、构件显示状态更新、正确方向的切片预览与无进度色滚动条。
## 影响范围
- 前端项目库、逆向工作区、DICOM 切片控件、构件层级工具栏。
- 后端:项目状态结构、锁定/解锁接口、锁定结果落盘、项目排序字段维护。
- 文档:`Docker部署/` 部署说明与工程分析经验记录。
## 关键约束
- 必须沿用现有 `WebSite/server.ts` 的项目状态持久化方式。
- 新增字段需要兼容既有 `state.json`,避免旧项目读取失败。
- 锁定结果必须写入仓库根目录下的 `项目数据/锁定结果/`
- 不提交大型医学影像数据、运行态导出文件或无关工作区变化。
## 风险点
- 锁定后禁止进入工作区需要和项目卡片按钮状态、错误提示保持一致。
- 位姿数据来源可能同时存在于项目级 `modelPose` 和后端当前状态,需要归一化保存。
- DICOM 视图已经做过切片编号反转,滚动方向调整时不能再次破坏显示编号。
- 一键隐藏所有构件会影响跨页面共享样式,需要调用既有构件样式 API。
## 默认假设
- “锁定按钮”需要支持再次点击解锁,解锁后允许进入逆向工作区。
- “最后处理时间”使用项目最近更新时间、最后导出时间或最后锁定时间中的最新值排序。
- 切片滚动条无需保留蓝色进度轨道,只保留中性轨道与滑块。