From 9874af77ee0b1e8fe27d655890505c113a799be8 Mon Sep 17 00:00:00 2001 From: gaozheng Date: Tue, 23 Jun 2026 10:34:47 +0800 Subject: [PATCH] =?UTF-8?q?docs(detail):=20=E5=8F=B0=E8=B4=A6=E6=A0=87?= =?UTF-8?q?=E8=AE=B0=E6=94=B6=E5=B0=BE=206=20=E9=A1=B9=E5=B7=B2=E6=8E=A5?= =?UTF-8?q?=E9=80=9A=20+=20build.bat=20all=20=E9=AA=8C=E8=AF=81=E6=95=99?= =?UTF-8?q?=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...taset-detail-interaction-replica-ledger.md | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/superpowers/specs/2026-06-22-dataset-detail-interaction-replica-ledger.md b/docs/superpowers/specs/2026-06-22-dataset-detail-interaction-replica-ledger.md index 24cddfe..aed5edc 100644 --- a/docs/superpowers/specs/2026-06-22-dataset-detail-interaction-replica-ledger.md +++ b/docs/superpowers/specs/2026-06-22-dataset-detail-interaction-replica-ledger.md @@ -156,13 +156,19 @@ - **#4 视电阻率模型锁定**:`InversionFormDialog::ApparentResistivity` 已 `modelCombo_->setEnabled(false)` 且锁定 `code==script_visual_resistivity_data` 的项——与原版 `InversionDialog.vue`(静态 `disabled` + 锁脚本)一致。 - **#5 网格 xsize/ysize 绑点数**:`GridWizardDialog` 的 `xSize_/ySize_` 是「X/Y点数」(1~300,默认 100),`buildGridToBody` 映射 `xsize←xSize`、间距走独立 `xSpacing←xSpacing_`——与原版 `GridDialog.vue toGridTheData`(`xsize:xPoints`、`xSpacing:xInterval`)一致。 -### 6.4 明确后置 / 降级项(本次不实现,重型或 Qt 受限) +### 6.4 收尾 6 项 —— 已全部接通(2026-06-23,commit ec4a7e8) -| 项 | 原因 | 后续所需 | +§6.4 原列的 6 项后置/降级项已全部实现,build app + test 全绿(318/318)。 + +| 项 | 状态 | 实现 / 残留边界 | |---|---|---| -| **M14 框选/点选模式** | Qwt 橡皮筋框选 + 选区联动隐藏成本高,原版 enter/exitSelectMode 交互重 | 接入 QwtPlotPicker(RubberBand 矩形)+ 选区命中→批量 saveDisplayStatus;保留占位提示 | -| **M2 行级可见性 switch** | DataTableView 需新增可选开关列 + 行级 popconfirm 交互 | 给 measurement 列表加 optional 开关列,复用 saveDisplayStatus(ids=[record.id],status 取反) | -| **M3 过滤直方图** | 过滤范围已通,仅缺直方图绘制(须取 getDataFilterConfig 分桶并渲染) | 在 ScatterFilterDialog 加直方图视图(分桶 + min/max 区间叠加) | -| **I9 异常图上绘形** | 表单已通;图上交互绘制多边形/折线/点(橡皮筋 + 顶点编辑)属重型 Qwt 交互 | 接入图上绘制工具(绘形→坐标回填 location),与表单提交合流 | -| **I14 Quill 富文本** | 原版 attachedParameters.deltaContent 为 Quill Delta;Qt 暂降级为纯文本 | 引入富文本编辑器(QTextEdit 富文本 ↔ Delta 互转)或保持纯文本兜底 | -| **I3 白化 tmObjectId 透传** | 客户端视图未透传 `structParentId`(白化模板列表用),现兜底空串 | 上游改造:数据集列表把 `structParentId` 接进视图(属上游数据流改造) | +| **M2 行级可见性 switch** | ✅ | DataTableView 载荷驱动可交互开关列(`toggleInteractive`+`rowIds`,仅 measurement 置位),行级 popconfirm → `saveDisplayStatus` | +| **M3 过滤直方图** | ✅ | 新增自绘 `ScatterHistogramView`(20 箱,选区高亮 + min/max 输入联动);拖拽刷选未做(原版用输入/滑块,非画布 brush) | +| **M14 框选/点选模式** | ✅ | `ScatterMarqueePicker` 橡皮筋矩形 → `ScatterPlotItem` 选中红边高亮;显示/隐藏对选中子集操作(无选区回退全部)。复刻 box-select 变体;原版单击逐点选未做 | +| **I9 异常图上绘形** | ✅ | `ContourDrawTool` 在等值面交互绘制 点/线/面/文字(先弹窗填类型/名称→图上绘制→`newException`);坐标表保留为兜底。文字类型无原版独立富文本样式编辑器 | +| **I14 Quill 富文本** | ✅(降级可用) | `DescriptionPanel` 升级富文本(粗体/斜体/下划线/字色/字号/标题/列表)+ `QuillDelta` 与 Quill Delta 常见格式往返。**Qt 无 Quill,不可字节级 1:1**:未知 attributes/嵌入对象容错降级(保文本、丢样式、不崩) | +| **I3 白化 tmObjectId** | ✅(待联调验证) | `openWhitening` 经 `getDsObjectDetail(dsId)` 取 `structParentId` 作 tmObjectId。**存疑**:未实证 getDetail 响应含 structParentId,若不含需转方案 B(经 openDataset 链路透传) | + +### 6.5 命名冲突修复 + +`ScatterHistogram` 名冲突(M3 widget 类 vs ScatterDataOps 分箱 struct)导致 desktop 目标曾无法链接(`build.bat test` 只建测试目标未暴露)→ widget 改名 `ScatterHistogramView`。**教训**:详情视图改动须 `build.bat all` 验证 app 链接,不能只 `build.bat test`。