diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue index dd7ce476..93bb25c6 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue @@ -127,7 +127,6 @@ export default { sliceThickness: null, wwwc: null, total: 0, - sliceThickness: 0 }, digitPlaces: 2, orientationMarkers: [], @@ -277,6 +276,7 @@ export default { let imageId = imageIds[0] let volume = cache.getVolume(this.volumeId) let spacing = volume ? volume.spacing : [] + console.log(spacing, 'spacing') // if (this.series.orientation === 'AXIAL') imageId = viewport.getCurrentImageId() if (imageId && volume) { this.$emit('setMPRInfo', { type: this.series.orientation, key: "imageNum", value: detail.numberOfSlices }) @@ -467,13 +467,13 @@ export default { this.loading = true try { return await createImageIdsAndCacheMetaData({ - modality: obj.Modality, - imageIds: obj.ImageIds + modality: obj.Modality, + imageIds: obj.ImageIds }) } finally { this.loading = false } - }, + }, async setSeriesInfo(obj, isLocate = false) { try { let data = obj @@ -501,7 +501,8 @@ export default { DicomEvent.$emit("isloaded", {}) } }]).then(r => { - if (data.isLocation) { + console.log(this.imageInfo.zoom, 'this.imageInfo.zoom') + if (data.isLocation || !this.imageInfo.zoom) { setTimeout(() => { csUtils.jumpToSlice(viewport.element, { imageIndex: data.SliceIndex }); }) } }) 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 6810f7fc..4eeabe3f 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -1401,7 +1401,9 @@ export default { toolGroup.addTool(WindowLevelTool.toolName, { targetViewportIds: volumeViewportIds }) - toolGroup.addTool(CrosshairsTool.toolName); + toolGroup.addTool(CrosshairsTool.toolName, { + getReferenceLineColor: this.setCrosshairsToolLineColor + }); } else { toolGroup.addTool(WindowLevelTool.toolName) } @@ -2037,6 +2039,21 @@ export default { const viewport = renderingEngine.getViewport(viewportId) viewport.render() }, + setCrosshairsToolLineColor(viewportId) { + let colors = [ + '#0ca8df', + '#ffd10a', + '#b6d634', + '#3fbe95', + '#785db0', + '#5070dd', + '#505372', + '#ff994d', + '#fb628b', + ] + let index = viewportId.split("-").pop() + return colors[colors.length - 1 - Number(index)] || colors[0] + }, getLengthToolTextLines(data, targetId) { const cachedVolumeStats = data.cachedStats[targetId] const { length, unit } = cachedVolumeStats @@ -2519,6 +2536,9 @@ export default { viewport.resetProperties() viewport.render() renderingEngine.render() + if (this.readingTool === 3) { + DicomEvent.$emit('isloaded', {}) + } }, // 更改视图布局 async changeLayout(v) { @@ -2797,6 +2817,18 @@ export default { toggleFullScreen(e, index) { this.fullScreenIndex = this.fullScreenIndex === index ? null : index this.activeViewportIndex = index + if (this.readingTool === 3 || this.isMPR) { + // this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series) + this.$nextTick(() => { + const renderingEngine = getRenderingEngine(renderingEngineId) + renderingEngine.resize(true, false) + renderingEngine.render() + if (this.readingTool === 3) { + DicomEvent.$emit('isloaded', {}) + } + }) + + } if (this.isFusion) { const viewportIds = [`${this.viewportKey}-0`, `${this.viewportKey}-1`, `${this.viewportKey}-2`] viewportIds.forEach(id => { @@ -2899,7 +2931,16 @@ export default { this.activeViewportIndex = 0 this.fullScreenIndex = null this.isMPR = false - return this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(obj) + this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(obj) + return this.$nextTick(() => { + const renderingEngine = getRenderingEngine(renderingEngineId) + renderingEngine.resize(true, false) + renderingEngine.render() + if (this.readingTool === 3) { + DicomEvent.$emit('isloaded', {}) + } + }) + } if (!obj.IsDicom) { return this.previewNoneDicoms(obj) @@ -3523,9 +3564,9 @@ export default { syncColormap: false }) let viewportIds = [ - `viewport-volume-0`, - `viewport-volume-1`, - `viewport-volume-2` + `viewport-MPR-0`, + `viewport-MPR-1`, + `viewport-MPR-2` ] viewportIds.forEach((viewportId) => { MPRVoiSynchronizer.add({ diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue index 7cd876d5..a58bd948 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/Segmentations.vue @@ -120,7 +120,7 @@ {{ $t('trials:reading:Segmentations:title:InactiveSegmentationsShow') - }} + }}