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 0bc5056d..e744e8d0 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue @@ -263,7 +263,7 @@ export default { series: '', ToolStateManager: null, renderedMeasured: [], - measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi'], + measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi', 'Probe'], measureData: [], selectedLesion: null, activeTool: 0, // 0:enable 1:passive 2:active @@ -607,7 +607,11 @@ export default { if ((i.LesionType === 0 || i.LesionType === 1 || i.LesionType === 7) && i.IsFirstChangeTask) { arr.push(i.OrderMarkName) } + if (i.Id && this.readingTaskState >= 2) { + arr.push(i.OrderMarkName) + } }) + console.log(arr) return arr }, getMergeMarks(measureDatas) { @@ -616,6 +620,9 @@ export default { if ((i.LesionType === 0) && i.SplitOrMergeType === 1) { arr.push(i.OrderMarkName) } + if (i.Id && this.readingTaskState >= 2) { + arr.push(i.OrderMarkName) + } }) return arr }, @@ -692,7 +699,7 @@ export default { } else if (criterionType === 2) { this.disabledMarks = this.getMergeMarks(this.visitTaskList[idx].MeasureData) } else { - this.disabledMarks = [] + this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData) } return true }, @@ -901,6 +908,9 @@ export default { } } else if (this.activeTool === 1 && this.readingTaskState < 2) { cornerstoneTools.setToolPassiveForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) + } else if (this.readingTaskState >= 2 && this.isCurrentTask) { + // setToolPassiveForElement + cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) } else { cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) } @@ -919,6 +929,9 @@ export default { } } }) + if (this.readingTaskState >= 2 && this.activeToolName && this.isCurrentTask) { + cornerstoneTools.setToolActiveForElement(element, this.activeToolName, { mouseButtonMask: 1 }) + } }, setMeasureDataVisible() { if (this.readingTaskState >= 2) return @@ -986,6 +999,7 @@ export default { } }, mouseClick(e) { + if (this.readingTaskState >= 2) return const { element, currentPoints, image, viewport } = e.detail var imageId = image.imageId const imageInfo = this.getInstanceInfo(imageId) @@ -1073,7 +1087,8 @@ export default { } else if (criterionType === 2) { this.disabledMarks = this.getMergeMarks(this.visitTaskList[idx].MeasureData) } else { - this.disabledMarks = [] + // this.disabledMarks = [] + this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData) } this.maxVistNum = this.visitTaskList[this.visitTaskList.length - 1].VisitTaskNum diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue index f401fbed..8bfe1c85 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -416,7 +416,7 @@ { - // this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].reloadCanvas() for (var i = 0; i < this.maxCanvas; i++) { this.$refs[`dicomCanvas${i}`][0].reloadCanvas() } @@ -1941,6 +1947,7 @@ export default { }, // 切换布局 changeLayout(name) { + this.fullScreenIndex = -1 if (this.activeTool) { if (this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].isCurrentTask && this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].readingTaskState < 2) { this.$nextTick(() => { @@ -2043,14 +2050,17 @@ export default { if (i === -1) return var isCurrentTask = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].isCurrentTask var readingTaskState = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].readingTaskState - if (!isCurrentTask || readingTaskState >= 2) { + if (!isCurrentTask) { this.measuredTools[i].isDisabled = true e.target.style.cursor = 'not-allowed' if (this.activeTool) { this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].setToolEnabled(toolName) this.activeTool = '' } - } else { + } else if (isCurrentTask && readingTaskState >= 2) { + this.measuredTools[i].isDisabled = false + e.target.style.cursor = 'pointer' + } else if (isCurrentTask && readingTaskState < 2) { // var obj = this.$refs['measurementList'].isCanActiveTool(toolName, true) var obj = this.$refs['measurementList'].isCanActiveTool(toolName, true) this.measuredTools[i].disabledReason = obj.reason @@ -2087,7 +2097,7 @@ export default { var toolObj = this.measuredTools.find(i => i.toolName === toolName) if (!toolObj || toolObj.isDisabled) return var dicomSeries = this.canvasObj[this.currentDicomCanvasIndex] - if (dicomSeries.isCurrentTask && isMeasuredTool && dicomSeries.readingTaskState < 2) { + if (dicomSeries.isCurrentTask && isMeasuredTool) { if (this.activeTool) { this.measuredTools.forEach(item => { this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].setToolPassive(item.toolName) diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue index eb4146a6..958bcb56 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue @@ -556,7 +556,7 @@ { - // this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].reloadCanvas() for (var i = 0; i < this.maxCanvas; i++) { this.$refs[`dicomCanvas${i}`][0].reloadCanvas() } @@ -1928,6 +1934,7 @@ export default { }, // 切换布局 changeLayout(name) { + this.fullScreenIndex = -1 if (this.activeTool) { if ( this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0]