阅片跟踪列表调整及阅片页面更改
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-05-28 13:54:57 +08:00
parent 7758671f89
commit f8d921d9e5
5 changed files with 65 additions and 12 deletions

View File

@ -8,7 +8,6 @@
style="width:100%;height:100%;position:relative;"
class="cornerstone-element"
@contextmenu.prevent="onContextmenu"
@mousemove="sliderMousemove"
@mouseup="sliderMouseup"
>
<div v-show="dicomInfo.series" class="info-series">
@ -54,7 +53,7 @@
<!-- <div v-show="dicomInfo.acc">ACC {{ dicomInfo.acc }}</div> -->
<!-- <div>{{ dicomInfo.time }}</div> -->
</div>
<div ref="sliderBox" class="my_slider_box" style="position: absolute;right: 1px;height: calc(100% - 100px);transform: translateY(-50%);top: calc(50% - 30px);width: 10px;background: #333;cursor: pointer">
<div ref="sliderBox" class="my_slider_box" style="position: absolute;right: 1px;height: calc(100% - 100px);transform: translateY(-50%);top: calc(50% - 30px);width: 10px;background: #333;cursor: pointer" @click.stop="goViewer($event)">
<div :style="{top: height + '%'}" style="z-index:10;background: #9e9e9e;height: 20px;width: 100%;position: absolute;top: 0;cursor: move" @mousedown="sliderMousedown($event)" />
</div>
<div style="position: absolute;left: 50%;top: 15px;color: #f44336;">
@ -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
},

View File

@ -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')

View File

@ -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')

View File

@ -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]

View File

@ -349,7 +349,7 @@
<el-table-column
fixed="right"
:label="$t('common:action:action')"
width="260"
width="220"
>
<template slot-scope="scope">
<!-- 查看阅片结果 -->
@ -387,13 +387,13 @@
@click="openReReadingOrBackList(scope.row)"
/>
<!-- 退回已影响任务列表 -->
<el-button
<!-- <el-button
:disabled="!scope.row.IsPMSetBack"
icon="el-icon-document-copy"
circle
:title="$t('trials:reviewTrack:action:backToTaskList')"
@click="getInfluencedTaskList(scope.row)"
/>
/> -->
</template>
</el-table-column>
</el-table>