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)