From dab5a44f2d8c704c39071c5167e3fd65fb749e90 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Mon, 14 Jul 2025 10:28:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=96=E6=8B=BD=E6=A0=87=E8=AE=B0=E5=BB=B6?= =?UTF-8?q?=E6=97=B6=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/ReadPage.vue | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 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 bc166b08..d2409ca1 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -783,6 +783,7 @@ export default { loadingText: null, toolNames: ['Length', 'Bidirectional', 'RectangleROI', 'ArrowAnnotate', 'CircleROI', 'Eraser'], // resetAnnotation: false , // 是否初始化标记 (融合时使用) + saveCustomAnnotationTimer: null, // 上传 downloadImageVisible: false, @@ -1540,7 +1541,11 @@ export default { if (this.isNumber(operateStateEnum)) { this.$refs[`ecrf_${series.TaskInfo.VisitTaskId}`][0].bindAnnotationToQuestion(annotation) } else { - setTimeout(()=>{this.saveCustomAnnotation(annotation)},500) + if (this.saveCustomAnnotationTimer) { + clearTimeout(this.saveCustomAnnotationTimer) + this.saveCustomAnnotationTimer = null + } + this.saveCustomAnnotationTimer = setTimeout(()=>{this.saveCustomAnnotation(annotation)},500) } } } @@ -1572,6 +1577,7 @@ export default { params.Id = annotation.id ? annotation.id : '' params.MeasureData = JSON.stringify(measureData) params.NumberOfFrames = annotation.numberOfFrames + params.MarkId = annotation.annotationUID const res = await submitCustomTag(params) annotation.id = res.Result }) @@ -1600,7 +1606,11 @@ export default { if (isBound || this.isNumber(operateStateEnum)) { this.$refs[`ecrf_${series.TaskInfo.VisitTaskId}`][0].updateAnnotationToQuestion(annotation) } else { - this.saveCustomAnnotation(annotation) + if (this.saveCustomAnnotationTimer) { + clearTimeout(this.saveCustomAnnotationTimer) + this.saveCustomAnnotationTimer = null + } + this.saveCustomAnnotationTimer = setTimeout(()=>{this.saveCustomAnnotation(annotation)},1000) } } this.setToolsPassive() @@ -3216,6 +3226,10 @@ export default { DicomEvent.$off('isCanActiveNoneDicomTool') DicomEvent.$off('removeNoneDicomMeasureData') DicomEvent.$off('addNoneDicomMeasureData') + if (this.saveCustomAnnotationTimer) { + clearTimeout(this.saveCustomAnnotationTimer) + this.saveCustomAnnotationTimer = null + } } }