diff --git a/src/components/Dicom/DicomCanvas.vue b/src/components/Dicom/DicomCanvas.vue index a7ce70cc..dd5970d0 100644 --- a/src/components/Dicom/DicomCanvas.vue +++ b/src/components/Dicom/DicomCanvas.vue @@ -200,7 +200,7 @@ export default { this.stack.seriesId = dicomSeries.seriesId this.stack.seriesNumber = dicomSeries.seriesNumber this.stack.imageIds = dicomSeries.imageIds - this.stack.currentImageIdIndex = dicomSeries.imageIdIndex ? dicomSeries.imageIdIndex : 0 + this.stack.currentImageIdIndex = dicomSeries.imageIdIndex && dicomSeries.imageIdIndex < dicomSeries.imageIds.length ? dicomSeries.imageIdIndex : 0 this.stack.firstImageLoading = true this.stack.description = dicomSeries.description this.toolState.viewportInvert = false diff --git a/src/components/Dicom/DicomViewer.vue b/src/components/Dicom/DicomViewer.vue index 3ebe1ca4..5ea237e1 100644 --- a/src/components/Dicom/DicomViewer.vue +++ b/src/components/Dicom/DicomViewer.vue @@ -405,7 +405,8 @@ export default { loadImageStack(dicomSeries) { this.currentDicomCanvas.toolState.clipPlaying = false this.$nextTick(() => { - this.currentDicomCanvas.loadImageStack(dicomSeries) + let series = Object.assign({}, dicomSeries) + this.currentDicomCanvas.loadImageStack(series) }) }, loadOtherImageStack(seriesList) { @@ -415,7 +416,8 @@ export default { Array.from(elements).forEach((element, index) => { const canvasIndex = element.getAttribute('data-index') if (index < seriesList.length && element.style.display !== 'none') { - this.$refs[`dicomCanvas${canvasIndex}`].loadImageStack(seriesList[index]) + let series = Object.assign({}, seriesList[index]) + this.$refs[`dicomCanvas${canvasIndex}`].loadImageStack(series) } }) }) 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 ba120a41..6acdf1a2 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -1247,7 +1247,8 @@ export default { store.dispatch('reading/setActiveSeries', series) store.dispatch('reading/setLastCanvasTaskId', series.visitTaskId) } - this.$refs[`dicomCanvas${index}`][0].loadImageStack(series) + const s = Object.assign({}, series) + this.$refs[`dicomCanvas${index}`][0].loadImageStack(s) if (this.activeTool) { if (series.isCurrentTask && series.readingTaskState < 2) { @@ -1270,7 +1271,8 @@ export default { this.canvasObj[this.currentDicomCanvasIndex] = dicomSeries this.$nextTick(() => { this.activeSeries = dicomSeries - this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].loadImageStack(dicomSeries).then(res => { + const s = Object.assign({}, dicomSeries) + this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].loadImageStack(s).then(res => { if (this.activeTool) { if (dicomSeries.isCurrentTask && dicomSeries.readingTaskState < 2) { this.$nextTick(() => { @@ -1331,7 +1333,8 @@ export default { // } this.$nextTick(() => { this.activeSeries = dicomSeries - this.$refs[`dicomCanvas${canvasIndex}`][0].loadImageStack(dicomSeries) + const s = Object.assign({}, dicomSeries) + this.$refs[`dicomCanvas${canvasIndex}`][0].loadImageStack(s) store.dispatch('reading/setActiveSeries', dicomSeries) if (this.currentDicomCanvasIndex === this.maxCanvas - 1) { @@ -1406,7 +1409,8 @@ export default { var promiseArr = [] for (let i = 0; i < this.maxCanvas && i < seriesStack.length; i++) { this.canvasObj[i] = seriesStack[i] - promiseArr.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(seriesStack[i])) + const s = Object.assign({}, seriesStack[i]) + promiseArr.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(s)) } Promise.all(promiseArr).then(() => { // this.activateDicomCanvas(this.currentDicomCanvasIndex) @@ -1509,12 +1513,14 @@ export default { for (let i = 0; i < this.maxCanvas; i++) { if (i === this.maxCanvas - 1) { - loadImagePromises.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(currentAddSeries)) + const s = Object.assign({}, currentAddSeries) + loadImagePromises.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(s)) this.currentDicomCanvasIndex = i this.activeSeries = currentAddSeries store.dispatch('reading/setActiveSeries', currentAddSeries) } else { - loadImagePromises.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(firstAddSeries)) + const s = Object.assign({}, firstAddSeries) + loadImagePromises.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(s)) } } Promise.all(loadImagePromises) 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 c281fdef..e5eb871a 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue @@ -1335,7 +1335,8 @@ export default { store.dispatch('reading/setActiveSeries', series) store.dispatch('reading/setLastCanvasTaskId', series.visitTaskId) } - this.$refs[`dicomCanvas${index}`][0].loadImageStack(series) + let s = Object.assign({}, series) + this.$refs[`dicomCanvas${index}`][0].loadImageStack(s) if (this.activeTool) { if (series.isCurrentTask && series.readingTaskState < 2) { @@ -1379,9 +1380,10 @@ export default { } this.$nextTick(() => { this.activeSeries = dicomSeries + let s = Object.assign({}, dicomSeries) this.$refs[ `dicomCanvas${this.currentDicomCanvasIndex}` - ][0].loadImageStack(dicomSeries) + ][0].loadImageStack(s) // this.$refs['measurementList'].initPage(dicomSeries) store.dispatch('reading/setActiveSeries', dicomSeries) if (this.currentDicomCanvasIndex === this.maxCanvas - 1) { @@ -1414,7 +1416,8 @@ export default { } this.$nextTick(() => { this.activeSeries = dicomSeries - this.$refs[`dicomCanvas${canvasIndex}`][0].loadImageStack(dicomSeries) + let s = Object.assign({}, dicomSeries) + this.$refs[`dicomCanvas${canvasIndex}`][0].loadImageStack(s) store.dispatch('reading/setActiveSeries', dicomSeries) if (this.currentDicomCanvasIndex === this.maxCanvas - 1) { @@ -1517,8 +1520,9 @@ export default { var promiseArr = [] for (let i = 0; i < this.maxCanvas && i < seriesStack.length; i++) { this.canvasObj[i] = seriesStack[i] + let s = Object.assign({}, seriesStack[i]) promiseArr.push( - this.$refs[`dicomCanvas${i}`][0].loadImageStack(seriesStack[i]) + this.$refs[`dicomCanvas${i}`][0].loadImageStack(s) ) } Promise.all(promiseArr) @@ -1638,15 +1642,17 @@ export default { for (let i = 0; i < this.maxCanvas; i++) { if (i === this.maxCanvas - 1) { + let s = Object.assign({}, currentAddSeries) loadImagePromises.push( - this.$refs[`dicomCanvas${i}`][0].loadImageStack(currentAddSeries) + this.$refs[`dicomCanvas${i}`][0].loadImageStack(s) ) this.currentDicomCanvasIndex = i this.activeSeries = currentAddSeries store.dispatch('reading/setActiveSeries', currentAddSeries) } else { + let s = Object.assign({}, firstAddSeries) loadImagePromises.push( - this.$refs[`dicomCanvas${i}`][0].loadImageStack(firstAddSeries) + this.$refs[`dicomCanvas${i}`][0].loadImageStack(s) ) } }