diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue index 28eb5452..3125926b 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/PetCtViewport.vue @@ -479,9 +479,9 @@ export default { async setSeriesInfo(obj, isLocate = false, option = {}) { try { let { data } = obj - // if (this.series && data.Id === this.series.Id && data.Description === this.series.Description) { - // data.SliceIndex = this.series.SliceIndex - // } + if (this.series && data.Id === this.series.Id && data.Description === this.series.Description && !isLocate) { + data.SliceIndex = this.series.SliceIndex + } // this.series = { ...data } const renderingEngine = getRenderingEngine(this.renderingEngineId) const viewport = renderingEngine.getViewport(this.viewportId) 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 6b917441..7ffb0a12 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -3280,13 +3280,17 @@ export default { let viewportSeries = this.$refs[`viewport-volume-0`][0].series if (data && viewportSeries.SeriesInstanceUid === data.SeriesInstanceUid) return resolve(true) } - + if (!data) { + let { imageOrientationPatient, imagePositionPatient } = this.$refs[`viewport-${this.activeViewportIndex}`][0].imageInfo + if (!imageOrientationPatient || !imagePositionPatient || imagePositionPatient.length <= 0 || imageOrientationPatient.length <= 0) return this.$confirm(this.$t('trials:reading:confirm:imageNotMPR')) + } + const series = data ? data : this.$refs[`viewport-${this.activeViewportIndex}`][0].series + if (series.ImageIds.length <= 5) return this.$confirm(this.$t('trials:reading:confirm:smallNumberOfimage')) this.isMPR = true this.rows = 3 this.cols = 1 this.loading = true this.loadingText = this.$t('trials:lugano:message:loadVolumes') - const series = data ? data : this.$refs[`viewport-${this.activeViewportIndex}`][0].series if (!data) this.activeViewportIndex = 0 const visitTaskId = this.visitTaskList[this.activeTaskIndex].VisitTaskId this.$refs[visitTaskId][0].setSeriesActive(series.StudyIndex, series.SeriesIndex) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue index 7698146c..549618a5 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/Viewport.vue @@ -141,7 +141,9 @@ export default { size: null, location: null, sliceThickness: null, - wwwc: null + wwwc: null, + imageOrientationPatient: [], + imagePositionPatient: [] }, digitPlaces: 2, orientationMarkers: [], @@ -194,6 +196,8 @@ export default { this.imageInfo.zoom = zoom.toFixed(4) this.imageInfo.size = `${detail.image.columns}*${detail.image.rows}` const imagePlaneModule = metaData.get('imagePlaneModule', detail.imageId) + this.imageInfo.imageOrientationPatient = imagePlaneModule.imageOrientationPatient + this.imageInfo.imagePositionPatient = imagePlaneModule.imagePositionPatient this.imageInfo.location = imagePlaneModule.sliceLocation // this.imageInfo.wwwc = `${Math.round(detail.image.windowWidth)}/${Math.round(detail.image.windowCenter)}` this.getOrientationMarker()