From 4fabe3fa14e92129a7f6efe80a4d5f26426a682d Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Wed, 27 Mar 2024 16:45:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=B1=E5=83=8F=E5=B7=A5=E5=85=B7=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=9B=BE=E5=83=8F=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms/components/DicomViewer.vue | 19 +++++++++++++++++-- .../dicoms/components/Fusion/PetCt.vue | 6 +++--- .../dicoms/components/Fusion/Viewport.vue | 2 +- 3 files changed, 21 insertions(+), 6 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 f108525a..5f18ffed 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -1866,8 +1866,23 @@ export default { this.$refs['measurementList'].modifyMeasuredData(data) this.activeTool = '' }, - saveImage() { - this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].saveImage() + async saveImage() { + // this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].saveImage() + // canvas为转换后的Canvas对象 + const divForDownloadViewport = document.querySelector( + `div[data-canvas-uid="dicomCanvas${this.currentDicomCanvasIndex}"]` + ) + var canvas = await html2canvas(divForDownloadViewport) + let oImg = new Image() + oImg = canvas.toDataURL('image/png', 1)// 导出图片 + var oA = document.createElement('a') + var subjectCode = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].subjectCode + var taskBlindName = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].stack.taskBlindName + oA.download = `${subjectCode}_${taskBlindName}`// 设置下载的文件名,默认是'下载' + oA.href = oImg + document.body.appendChild(oA) + oA.click() + oA.remove() // 下载之后把创建的元素删除 }, // 设置窗宽/窗位 setDicomCanvasWwwc(v) { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue index 6a070362..eda2ef90 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/PetCt.vue @@ -527,7 +527,7 @@ export default { initAnnotations: [], activeCanvasWW: null, activeCanvasWC: null, - fusion: { visible: false }, // 历史记录融合调窗 + fusion: { visible: false } // 历史记录融合调窗 // initFirstAnnotation:false } }, @@ -2000,14 +2000,14 @@ export default { if (index > -1) { viewportId = 'PT_AXIAL' this.$refs[viewportId].scroll(index) - }else{ + } else { index = this.ctSeries.instanceList.findIndex(i => i === instanceId) if (index > -1) { viewportId = 'CT_AXIAL' this.$refs[viewportId].scroll(index) } } - + resolve() }) }, diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue index 9c96b17d..29bbade4 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Viewport.vue @@ -232,7 +232,7 @@ export default { methods: { handleVolumeNewImage(e) { const { imageIndex } = e.detail - if(this.viewportId === e.detail.viewportId && this.index !== 4){ + if (this.viewportId === e.detail.viewportId && this.index !== 4) { this.seriesInfo.imageIdIndex = imageIndex } renderingEngine = getRenderingEngine(this.renderingEngineId)