From 5c7c2d6ef6f8acc1a6dd28f3c099e4d40b76881e Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 19 Aug 2024 13:45:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=BD=B1=E5=83=8F=E9=A2=84=E8=A7=88bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Dicom/DicomCanvas.vue | 2 +- src/components/Dicom/DicomViewer.vue | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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) } }) }) From 09ed271199ae8c67f0e2d7646f31b15468e3c319 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 19 Aug 2024 13:59:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=98=85=E7=89=87=E5=BD=B1=E5=83=8F?= =?UTF-8?q?=E6=B8=B2=E6=9F=93bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms/components/DicomViewer.vue | 18 ++++++++++++------ .../dicoms/customize/CustomizeDicomViewer.vue | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) 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) ) } }