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 c3b4d767..31cb75b7 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -708,7 +708,8 @@ export default { studyList: [], volumeData: {}, fusionSerieId: {}, - loadingText: null + loadingText: null, + resetAnnotation: false , // 是否初始化标记 (融合时使用) } }, computed: { @@ -1471,6 +1472,7 @@ export default { async customAnnotationRemovedListener(e) { const { annotation } = e.detail try{ + if ( this.resetAnnotation && this.isFusion ) return false if (!annotation) return false if (this.readingTaskState === 2) throw 'annotation Not allowed to operate' if (annotation.visitTaskId === this.taskInfo.VisitTaskId && annotation.seriesId) { @@ -2733,6 +2735,9 @@ export default { let { ct, pt } = data this.loading = true this.loadingText = this.$t('trials:lugano:message:loadVolumes') + this.resetAnnotation = true + cornerstoneTools.annotation.state.removeAllAnnotations() + this.renderedTaskIds = [] if ( this.verifyFusionData(ct, pt) ) { this.loading = false this.loadingText = null @@ -2740,6 +2745,7 @@ export default { this.$refs[`viewport-1`][0].setSeriesInfo(pt) this.$refs[`viewport-2`][0].setSeriesInfo(pt) this.$refs[`viewport-3`][0].setSeriesInfo(pt) + this.resetAnnotation = false return true } if (!this.fusionSerieId.ct || this.fusionSerieId.ct !== ct.SeriesInstanceUid ) { @@ -2779,6 +2785,7 @@ export default { this.$refs[`viewport-fusion-1`][0].setSeriesInfo(ptData, { colorMap: true}) this.$refs[`viewport-fusion-2`][0].setSeriesInfo(fusionData, { isFusion: true, colorMap: true }) this.$refs[`viewport-fusion-3`][0].setSeriesInfo(ptData, { isMip: true, colorMap: true }) + this.resetAnnotation = false this.$nextTick(() => { this.$refs[`colorMap`].init() })