From c12da4de3e2820d5db52b00d38229b4f91bd3515 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 30 Apr 2026 14:54:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=89=B2=E9=83=A8=E5=88=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dicoms3D/components/MPRViewport.vue | 14 ++- .../reading/dicoms3D/components/ReadPage.vue | 2 +- .../dicoms3D/components/Segmentations.vue | 10 +- .../components/helpers/segmentations.js | 111 +++++++++--------- 4 files changed, 77 insertions(+), 60 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue index 0caaa393..8a74b534 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue @@ -120,6 +120,10 @@ export default { type: Boolean, default: false }, + isMPR: { + type: Boolean, + default: false + }, actionConfiguration: { type: Object, default: () => { @@ -251,6 +255,7 @@ export default { }, SegmentConfig: { handler() { + if (!this.isMPR) return false if (!this.segmentationId) return false if (!this.series.TaskInfo) return false readingSegmentByConfig(this.series, this.series.TaskInfo, this.viewportId, this.segmentationId, this.SegmentConfig) @@ -258,11 +263,13 @@ export default { deep: true }, segmentIndex() { + if (!this.isMPR) return false if (this.curSegSeries.Id !== this.series.Id || this.curSegSeries.VisitTaskId !== this.series.VisitTaskId) return false if (this.segmentIndex <= 0) return false selectSegment(this.viewportId, this.segmentationId, this.segmentIndex) }, segmentationId() { + if (!this.isMPR) return false if (this.curSegSeries.Id !== this.series.Id || this.curSegSeries.VisitTaskId !== this.series.VisitTaskId) return false if (!this.segmentationId) return false selectSegmentation(this.viewportId, this.segmentationId) @@ -665,8 +672,11 @@ export default { renderingEngine.render() }, 100) } - await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, null, this.actionConfiguration, this.segmentationId, this.segmentIndex) - DicomEvent.$emit('SegmentationLoading', this.viewportId) + if (this.isMPR) { + await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, null, this.actionConfiguration, this.segmentationId, this.segmentIndex) + DicomEvent.$emit('SegmentationLoading', this.viewportId) + } + let volume = cache.getVolume(this.volumeId) // console.log(volume, 'volume') if (this.series.orientation === 'AXIAL' && this.series.curIndex) return this.setFullScreen(this.series.curIndex) 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 7f652434..b933a348 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -344,7 +344,7 @@ :viewport-index="index" :histogramVisible="histogramVisible" :actionConfiguration="actionConfiguration" :SegmentConfig="SegmentConfig" :segmentationId.sync="segId" :segmentIndex.sync="segIndex" :curSegSeries.sync="curSegSeries" - :MPRInfo="MPRInfo" @activeViewport="activeViewport" @setMPRInfo="setMPRInfo" + :isMPR="isMPR" :MPRInfo="MPRInfo" @activeViewport="activeViewport" @setMPRInfo="setMPRInfo" @toggleTaskByViewport="toggleTaskByViewport" @previewCD="previewCD" @renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" @resetHistogram="resetHistogram" v-resize="(e) => handleSizeChange(e, `viewport-MPR-${index}`)" /> diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue index d5b2b0c1..9b437ab9 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue @@ -127,7 +127,7 @@ {{ $t('trials:reading:Segmentations:title:InactiveSegmentationsShow') - }} + }}