From 09e9c62f3c4a60eebb61753f9c2fa5a67c6d734b Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Thu, 7 May 2026 13:52:28 +0800 Subject: [PATCH] =?UTF-8?q?pt=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E5=8F=96=E6=B6=88=E7=82=B9=E5=87=BBmodal=E5=85=B3?= =?UTF-8?q?=E9=97=ADDialog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms/components/DicomCanvas.vue | 2 +- .../MRIPDFFAdvance/QuestionForm.vue | 2 - .../MRIPDFFAdvance/QuestionList.vue | 2 - .../reading/dicoms/tools/Probe/ProbeTool.js | 43 +++++++++++++++++-- .../visit/crc-upload/components/studyInfo.vue | 2 +- .../components/uploadDicomFiles2.vue | 2 +- .../visit/qc-check/components/dicomFiles.vue | 2 +- .../qc-check/components/qualityAssurance.vue | 2 +- 8 files changed, 45 insertions(+), 12 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue index 926304e1..1c2022a1 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue @@ -1223,7 +1223,7 @@ export default { } else if (toolName === 'Probe' && (parseInt(localStorage.getItem('CriterionType')) === 21)) { cornerstoneTools.addToolForElement(element, ProbeTool, { configuration: { fixedRadius: 5, handleRadius: true, drawHandlesOnHover: true, hideHandlesIfMoving: true, digits: this.digitPlaces } }) } else if (toolName === 'Probe' && parseInt(localStorage.getItem('CriterionType')) === 22) { - cornerstoneTools.addToolForElement(element, ProbeTool, { configuration: { radius: 5, unit: 'mm', handleRadius: true, drawHandlesOnHover: true, hideHandlesIfMoving: true, digits: this.digitPlaces } }) + cornerstoneTools.addToolForElement(element, ProbeTool, { configuration: { fixedRadius: 5, unit: 'mm', handleRadius: true, drawHandlesOnHover: true, hideHandlesIfMoving: true, digits: this.digitPlaces } }) } else { cornerstoneTools.addToolForElement(element, apiTool) } diff --git a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionForm.vue index 11315cae..b6a654cd 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionForm.vue @@ -385,13 +385,11 @@ export default { }, setMeasureData(measureData, isInit = false) { return new Promise(resolve => { - console.log('setMeasureData', measureData) if (!measureData || (measureData && measureData.tableQuestionId !== this.activeQuestionId)) { resolve() } var data = {} // 创建标记 - console.log('setMeasureData', measureData) if (!measureData.data.remark) { // 维护标记信息 measureData.data.remark = this.getLesionName(this.orderMark, this.activeQuestionMark) diff --git a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionList.vue index 16e0c915..a3a722bc 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFFAdvance/QuestionList.vue @@ -432,7 +432,6 @@ export default { } }, modifyMeasuredData(measureObj) { - console.log('modifyMeasuredData') if (measureObj.questionInfo) { this.activeItem.activeCollapseId = measureObj.questionInfo.QuestionId this.activeItem.activeRowIndex = String(measureObj.questionInfo.RowIndex) @@ -443,7 +442,6 @@ export default { }, // 设置测量数据 setMeasuredData(measureData) { - console.log('setMeasuredData') if (this.activeItem.activeCollapseId) { // 判断是否存在测量数据 this.$nextTick(() => { diff --git a/src/views/trials/trials-panel/reading/dicoms/tools/Probe/ProbeTool.js b/src/views/trials/trials-panel/reading/dicoms/tools/Probe/ProbeTool.js index a8224bbc..65baf902 100644 --- a/src/views/trials/trials-panel/reading/dicoms/tools/Probe/ProbeTool.js +++ b/src/views/trials/trials-panel/reading/dicoms/tools/Probe/ProbeTool.js @@ -1,4 +1,6 @@ import * as cornerstoneTools from 'cornerstone-tools' +const EVENTS = cornerstoneTools.EVENTS +const triggerEvent = cornerstoneTools.import('util/triggerEvent') const external = cornerstoneTools.external // State const getToolState = cornerstoneTools.getToolState @@ -87,7 +89,7 @@ export default class ProbeTool extends cornerstoneTools.ProbeTool { return { visible: true, - active: true, + active: false, color: undefined, invalidated: true, handles: { @@ -100,8 +102,8 @@ export default class ProbeTool extends cornerstoneTools.ProbeTool { end: { x: eventData.currentPoints.image.x, y: eventData.currentPoints.image.y, - highlight: true, - active: true, + highlight: false, + active: false, radius: 0 }, // textBox: { @@ -125,6 +127,41 @@ export default class ProbeTool extends cornerstoneTools.ProbeTool { }; } + addNewMeasurement(evt, interactionType) { + const eventData = evt.detail + if (!eventData || !eventData.currentPoints || !eventData.currentPoints.image) { + return + } + + const { element, image } = eventData + const measurementData = this.createNewMeasurement(eventData) + + if (!measurementData) { + return + } + + // Click-to-place and finish immediately; avoid default drag listeners. + measurementData.active = false + if (measurementData.handles && measurementData.handles.end) { + measurementData.handles.end.active = false + measurementData.handles.end.highlight = false + } + + cornerstoneTools.addToolState(element, this.name, measurementData) + + if (!measurementData.cachedStats && image) { + this.updateCachedStats(image, element, measurementData) + } + + external.cornerstone.updateImage(element) + + triggerEvent(element, EVENTS.MEASUREMENT_COMPLETED, { + toolName: this.name, + element, + measurementData + }) + } + /** * * diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/studyInfo.vue b/src/views/trials/trials-panel/visit/crc-upload/components/studyInfo.vue index 47dfcc74..0ccde59d 100644 --- a/src/views/trials/trials-panel/visit/crc-upload/components/studyInfo.vue +++ b/src/views/trials/trials-panel/visit/crc-upload/components/studyInfo.vue @@ -150,7 +150,7 @@ - + diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue index 9b25e7bf..ea97a047 100644 --- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue +++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue @@ -423,7 +423,7 @@ - + diff --git a/src/views/trials/trials-panel/visit/qc-check/components/dicomFiles.vue b/src/views/trials/trials-panel/visit/qc-check/components/dicomFiles.vue index 087fca9e..f69003dc 100644 --- a/src/views/trials/trials-panel/visit/qc-check/components/dicomFiles.vue +++ b/src/views/trials/trials-panel/visit/qc-check/components/dicomFiles.vue @@ -78,7 +78,7 @@ - + diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue index ca1aab84..958bca3c 100644 --- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue +++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue @@ -920,7 +920,7 @@ - +