From 3c10ae73dd6c82b08bf87b84706a037a93420e0b Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Tue, 28 Apr 2026 09:14:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=9E=8D=E5=90=88=E8=A7=86=E5=8F=A3=E5=8D=81?= =?UTF-8?q?=E5=AD=97=E7=BA=BF=E5=AE=9A=E4=BD=8D=E5=B7=A5=E5=85=B7=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/ReadPage.vue | 1 + .../components/tools/FusionJumpToPointTool.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue index c598008f..3e4fd3f9 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -1711,6 +1711,7 @@ export default { enabled: true, lineLengthInPx: this.fusionCrosshairStyle.lineLength, }, + mipViewportIds: ['viewport-fusion-3'], }) toolGroup.setToolActive(VolumeRotateTool.toolName, { diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/tools/FusionJumpToPointTool.js b/src/views/trials/trials-panel/reading/dicoms3D/components/tools/FusionJumpToPointTool.js index 364e4684..27b06361 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/tools/FusionJumpToPointTool.js +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/tools/FusionJumpToPointTool.js @@ -25,6 +25,7 @@ class FusionJumpToPointTool extends AnnotationDisplayTool { enabled: true, lineLengthInPx: 20, }, + mipViewportIds: [], }, }) { super(toolProps, defaultToolProps) @@ -77,7 +78,10 @@ class FusionJumpToPointTool extends AnnotationDisplayTool { const annotation = this._getViewportCrosshairAnnotation(viewport) const sourceViewportId = this.dragSourceViewportId || annotation?.data?.sourceViewportId || viewport.id - this.setPoint(worldPoint, sourceViewportId, renderingEngine.id) + const sourceIsMip = this._isMipViewportId(viewport.id) + this.setPoint(worldPoint, sourceViewportId, renderingEngine.id, { + jumpToTargetViewports: sourceIsMip, + }) evt.preventDefault?.() } @@ -497,6 +501,11 @@ class FusionJumpToPointTool extends AnnotationDisplayTool { return fallbackColor || '#6fb9ff' } + _isMipViewportId(viewportId) { + const mipViewportIds = this.configuration?.mipViewportIds + return Array.isArray(mipViewportIds) && mipViewportIds.includes(viewportId) + } + _normalizeAppearance(appearance = {}, sourceViewportId) { const lineWidth = Number.isFinite(appearance.lineWidth) ? appearance.lineWidth : 2 const lineLength = Number.isFinite(appearance.lineLength) ? appearance.lineLength : 9