From f8d921d9e550e7afcc0847bfafdaf383343cef4f Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 28 May 2024 13:54:57 +0800
Subject: [PATCH] =?UTF-8?q?=E9=98=85=E7=89=87=E8=B7=9F=E8=B8=AA=E5=88=97?=
=?UTF-8?q?=E8=A1=A8=E8=B0=83=E6=95=B4=E5=8F=8A=E9=98=85=E7=89=87=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dicom/DicomCanvas.vue | 30 +++++++++++++++----
.../reading/dicoms/components/DicomCanvas.vue | 6 ++++
.../dicoms/customize/CustomizeDicomCanvas.vue | 10 +++++--
.../components/RecordList.vue | 25 +++++++++++++++-
.../reading/reading-tracking/index.vue | 6 ++--
5 files changed, 65 insertions(+), 12 deletions(-)
diff --git a/src/components/Dicom/DicomCanvas.vue b/src/components/Dicom/DicomCanvas.vue
index b5f9304d..eca7365e 100644
--- a/src/components/Dicom/DicomCanvas.vue
+++ b/src/components/Dicom/DicomCanvas.vue
@@ -8,7 +8,6 @@
style="width:100%;height:100%;position:relative;"
class="cornerstone-element"
@contextmenu.prevent="onContextmenu"
- @mousemove="sliderMousemove"
@mouseup="sliderMouseup"
>
+
@@ -186,6 +185,9 @@ export default {
document.addEventListener('mouseup', () => {
this.sliderMouseup()
})
+ document.addEventListener('mousemove', (e) => {
+ this.sliderMousemove(e)
+ })
this.canvas.addEventListener('cornerstonetoolsstackscroll', this.stackScrollCallback)
},
@@ -356,6 +358,12 @@ export default {
if (this.dicomInfo.thick) {
this.dicomInfo.thick = this.dicomInfo.thick.toFixed(2)
}
+ let newImageIdIndex = this.stack.imageIds.findIndex(i=>i===e.detail.image.imageId)
+ if(newImageIdIndex === -1) return
+ this.stack.currentImageIdIndex = newImageIdIndex
+ this.stack.imageIdIndex = newImageIdIndex
+ this.series.imageIdIndex = newImageIdIndex
+ this.height = (this.stack.currentImageIdIndex) * 100 / (this.stack.imageIds.length - 1)
},
stackScrollCallback(e) {
const { detail } = e
@@ -438,10 +446,10 @@ export default {
}
},
onImageLoaded(e) {
- var image = e.detail.image
- // var seriesIndex = -1
- var seriesUid = image.data.string('x0020000e')
- console.log(seriesUid)
+ // var image = e.detail.image
+ // // var seriesIndex = -1
+ // var seriesUid = image.data.string('x0020000e')
+ // console.log(seriesUid)
},
getToolForElement(toolName) {
var isExist = false
@@ -521,6 +529,9 @@ export default {
this.sliderInfo.oldB = parseInt(e.srcElement.style.top) * boxHeight / 100
this.sliderInfo.oldM = e.clientY
this.sliderInfo.isMove = true
+ e.stopImmediatePropagation()
+ e.stopPropagation()
+ e.preventDefault()
},
sliderMousemove(e) {
if (!this.sliderInfo.isMove) return
@@ -540,6 +551,13 @@ export default {
sliderMouseup(e) {
this.sliderInfo.isMove = false
},
+ goViewer(e) {
+ // console.log(this.$refs['sliderBox'].clientHeight)
+ var height = e.offsetY * 100 / this.$refs['sliderBox'].clientHeight
+ this.height = height
+ var index = Math.trunc(this.stack.imageIds.length * this.height / 100)
+ scroll(this.canvas, index)
+ },
onClipStopped() {
this.toolState.clipPlaying = false
},
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
index 96c62808..7f5f93a6 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
@@ -1243,6 +1243,12 @@ export default {
if (this.dicomInfo.thick) {
this.dicomInfo.thick = this.dicomInfo.thick.toFixed(2)
}
+ let newImageIdIndex = this.stack.imageIds.findIndex(i=>i===imageId)
+ if(newImageIdIndex === -1) return
+ this.stack.currentImageIdIndex = newImageIdIndex
+ this.stack.imageIdIndex = newImageIdIndex
+ this.series.imageIdIndex = newImageIdIndex
+ this.height = (this.stack.currentImageIdIndex) * 100 / (this.stack.imageIds.length - 1)
},
getScreenshots() {
const canvas = this.canvas.querySelector('canvas')
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
index 7a5ae40f..8c03ec06 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
@@ -799,7 +799,7 @@ export default {
}
},
stackScrollCallback(e) {
- console.log('stackScrollCallback')
+ // console.log('stackScrollCallback')
const { detail } = e
if (this.isScrollSync && this.currentDicomCanvasIndex === this.canvasIndex) {
this.scrollSyncInfo.canvasIndex = this.canvasIndex
@@ -1181,7 +1181,7 @@ export default {
})
},
onNewImage(e) {
- console.log('cornerstonenewimage')
+ // console.log('cornerstonenewimage')
if (this.isCurrentTask && this.readingTaskState < 2) {
this.resetHideMeasureArr()
}
@@ -1218,6 +1218,12 @@ export default {
if (this.dicomInfo.thick) {
this.dicomInfo.thick = this.dicomInfo.thick.toFixed(2)
}
+ let newImageIdIndex = this.stack.imageIds.findIndex(i=>i===imageId)
+ if(newImageIdIndex === -1) return
+ this.stack.currentImageIdIndex = newImageIdIndex
+ this.stack.imageIdIndex = newImageIdIndex
+ this.series.imageIdIndex = newImageIdIndex
+ this.height = (this.stack.currentImageIdIndex) * 100 / (this.stack.imageIds.length - 1)
},
getScreenshots() {
const canvas = this.canvas.querySelector('canvas')
diff --git a/src/views/trials/trials-panel/reading/reading-tracking/components/RecordList.vue b/src/views/trials/trials-panel/reading/reading-tracking/components/RecordList.vue
index 954e6fab..8198dfc7 100644
--- a/src/views/trials/trials-panel/reading/reading-tracking/components/RecordList.vue
+++ b/src/views/trials/trials-panel/reading/reading-tracking/components/RecordList.vue
@@ -557,7 +557,8 @@ export default {
trialId: this.$route.query.trialId,
reReadingOrBackVisible: false,
loading2: false,
- influenceTaskList: []
+ influenceTaskList: [],
+ openWindow: null,
}
},
mounted() {
@@ -566,6 +567,11 @@ export default {
this.getDoctorUserSelectList()
this.getTrialCriterionList()
},
+ beforeDestroy() {
+ if (this.openWindow) {
+ this.openWindow.close()
+ }
+ },
methods: {
getList() {
this.searchData.TrialId = this.$route.query.trialId
@@ -600,6 +606,23 @@ export default {
this.trialCriterionList = res.Result
}).catch(() => {})
},
+ // 查看阅片结果
+ lookReadingResults(row) {
+ if (this.openWindow) {
+ this.openWindow.close()
+ }
+ var token = getToken()
+ var path
+ if (row.ReadingTool === 0) {
+ path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
+ } else {
+ path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
+ }
+ // const routeData = this.$router.resolve({
+ // path: `/readingPage?subjectId=${row.SubjectId}&trialId=${row.TrialId}&visitTaskId=${row.Id}&TokenKey=${token}`
+ // })
+ this.openWindow = window.open(path, '_blank')
+ },
changeTimeList() {
if (this.timeList) {
this.searchData.BeginAllocateDate = this.timeList[0]
diff --git a/src/views/trials/trials-panel/reading/reading-tracking/index.vue b/src/views/trials/trials-panel/reading/reading-tracking/index.vue
index afecf6b5..15be0ea3 100644
--- a/src/views/trials/trials-panel/reading/reading-tracking/index.vue
+++ b/src/views/trials/trials-panel/reading/reading-tracking/index.vue
@@ -349,7 +349,7 @@
@@ -387,13 +387,13 @@
@click="openReReadingOrBackList(scope.row)"
/>
-
+ /> -->