From c657bb878304b193a59d6694b5223b5624f879f9 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Fri, 18 Apr 2025 16:46:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E6=B3=A8=E5=BA=8F=E5=88=97=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/ReadPage.vue | 30 ++++++++++++++++--- .../reading/dicoms3D/components/StudyList.vue | 12 ++++++-- 2 files changed, 35 insertions(+), 7 deletions(-) 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 ad45a1f8..54c7f7dd 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -25,6 +25,7 @@ v-if="selectArr.includes(s.VisitTaskId) && s.StudyList.length > 0" :ref="s.VisitTaskId" :visit-task-info="s" + :markedSeriesIds="markedSeriesIds" @activeSeries="activeSeries" /> @@ -573,7 +574,8 @@ export default { lastViewportTaskId: '', digitPlaces: 2, instanceInfo: {}, - lastViewportTaskIds: [] + lastViewportTaskIds: [], + markedSeriesIds: [] } }, computed: { @@ -711,7 +713,16 @@ export default { if (!this.selectArr.includes(item.VisitTaskId)) { this.selectArr.push(item.VisitTaskId) } + if (item.IsCurrentTask) { + this.markedSeriesIds = [] + annotations.map(i=> { + if (i.MeasureData && i.MeasureData.seriesId) { + this.markedSeriesIds.push(i.MeasureData.seriesId) + } + }) + } } + this.visitTaskList.push({ ...item, StudyList: studyList, @@ -1075,7 +1086,6 @@ export default { }) }, addAnnotationListeners() { - console.log(toolsEvents) const debouncedCallback = this.debounce((evt) => { this.annotationModifiedListener(evt) }, 100) @@ -1109,7 +1119,7 @@ export default { console.log(arr) }, annotationAddedListener(e) { - console.log('annotationAddedListener', e) + }, annotationCompletedListener(e) { console.log('Completed') @@ -1128,9 +1138,12 @@ export default { annotation.sliceThickness = series.SliceThickness annotation.numberOfFrames = isNaN(parseInt(params.frame)) ? null : parseInt(params.frame) annotation.markTool = annotation.metadata.toolName + // this.$refs['ecrf'].setAnnotation({ annotation, toolName: annotation.metadata.toolName }) this.$refs[`ecrf_${this.lastViewportTaskId}`][0].setAnnotation({ annotation, toolName: annotation.metadata.toolName }) + this.markedSeriesIds.push(series.Id) } + this.setToolsPassive() }, annotationModifiedListener(e) { @@ -1147,7 +1160,16 @@ export default { this.setToolsPassive() }, annotationRemovedListener(e) { - + if (this.readingTaskState === 2) return + const { annotation } = e.detail + if (!annotation) return + if (annotation.visitTaskId === this.taskInfo.VisitTaskId && annotation.seriesId) { + const index = this.markedSeriesIds.indexOf(annotation.seriesId) + if (index !== -1) { + this.markedSeriesIds.splice(index, 1) + } + } + console.log(this.markedSeriesIds) }, removeAnnotation(annotation) { cornerstoneTools.annotation.state.removeAnnotation(annotation.annotationUID) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue index 9ebbed55..94a191f9 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue @@ -48,7 +48,7 @@
@@ -80,8 +80,8 @@ {{ series.Modality }}: {{ series.InstanceCount }} image
-
- +
+
@@ -106,6 +106,12 @@ export default { default() { return {} } + }, + markedSeriesIds: { + type: Array, + default() { + return [] + } } }, data() {