【dicom分割】MPR横截面的普通标记绑定保存时会提示是否切换至二维视图
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
653faaf4ba
commit
8315bcf59f
|
|
@ -3723,7 +3723,7 @@ export default {
|
|||
})
|
||||
this.setToolsPassive()
|
||||
},
|
||||
async activeSeries(obj) {
|
||||
async activeSeries(obj, isSave = false) {
|
||||
if (this.readingTool === 3) {
|
||||
let res = await this.changeScreenSave()
|
||||
if (!res) return false
|
||||
|
|
@ -3735,6 +3735,7 @@ export default {
|
|||
if (!confirm) return false
|
||||
this.$refs[`ecrf_${this.taskInfo.VisitTaskId}`][0].removeAllNoSaveAnnotation()
|
||||
} else {
|
||||
if (isSave) return false
|
||||
const confirm = await this.$confirm(this.$t('trials:reading:confirm:changeStack'))
|
||||
if (!confirm) return false
|
||||
}
|
||||
|
|
@ -4022,7 +4023,7 @@ export default {
|
|||
}
|
||||
let res = await this.openMPRViewport(series)
|
||||
if (!res) {
|
||||
this.$refs[series.TaskInfo.VisitTaskId][0].setSeriesActive(series.StudyIndex, series.SeriesIndex)
|
||||
this.$refs[series.TaskInfo.VisitTaskId][0].setSeriesActive(series.StudyIndex, series.SeriesIndex, true)
|
||||
setTimeout(async () => {
|
||||
const divForDownloadViewport = document.querySelector(
|
||||
`div[data-viewport-uid="${this.viewportKey}-${this.activeViewportIndex}"]`
|
||||
|
|
@ -4534,7 +4535,7 @@ export default {
|
|||
return new Promise(async (resolve, reject) => {
|
||||
this.setToolsPassive()
|
||||
if (this.isMPR) {
|
||||
this.activeSeries(this.$refs[`viewport-MPR-0`][0].series)
|
||||
this.activeSeries(this.$refs[`viewport-MPR-0`][0].series, true)
|
||||
resolve(false)
|
||||
if (!data) return resolve(false)
|
||||
let viewportSeries = this.$refs[`viewport-MPR-0`][0].series
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div class="ps">
|
||||
<el-collapse v-model="activeNames">
|
||||
|
||||
<el-collapse-item v-for="(study, index) in studyList" :key="`${study.StudyId}`" :name="`${study.StudyId}`">
|
||||
<el-collapse-item v-for="(study, index) in studyList" :key="`${study.StudyId}`" :name="`${study.StudyId}`">
|
||||
<template slot="title">
|
||||
<div v-if="!study.IsCriticalSequence" class="dicom-desc">
|
||||
<div style="text-overflow: ellipsis;overflow: hidden;">
|
||||
|
|
@ -24,7 +24,8 @@
|
|||
</div>
|
||||
<div>
|
||||
<span class="study-meta-line" :title="study.Modalities">
|
||||
<span v-if="taskInfo && taskInfo.IsReadingTaskViewInOrder !== 0" class="study-code" :title="study.StudyCode">{{ study.StudyCode }}</span>
|
||||
<span v-if="taskInfo && taskInfo.IsReadingTaskViewInOrder !== 0" class="study-code"
|
||||
:title="study.StudyCode">{{ study.StudyCode }}</span>
|
||||
<span class="study-modality">{{ `${study.Modalities}(${study.SeriesCount})` }}</span>
|
||||
<span class="patient-info" v-if="['PT、CT', 'CT、PT', 'PET-CT'].includes(study.Modalities)">
|
||||
<el-popover placement="right-start" trigger="hover" popper-class="patient-info-popper">
|
||||
|
|
@ -81,8 +82,7 @@
|
|||
style="position: absolute;right: 0;top: 0;">
|
||||
<el-popover placement="right" trigger="hover" popper-class="instance_frame_wrapper">
|
||||
<div class="frame_list">
|
||||
<div v-for="(instance, idx) in series.InstanceInfoList" :key="instance.Id"
|
||||
class="frame_content"
|
||||
<div v-for="(instance, idx) in series.InstanceInfoList" :key="instance.Id" class="frame_content"
|
||||
:class="{ 'frame_content_active': activeInstanceId === instance.Id }"
|
||||
:style="{ 'margin-bottom': idx < series.InstanceInfoList.length - 1 ? '5px' : '0px' }"
|
||||
@click.stop="showMultiFrames(index, series, i, instance)">
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
|
||||
|
||||
|
||||
</el-collapse>
|
||||
</div>
|
||||
|
|
@ -205,18 +205,19 @@ export default {
|
|||
this.activeStudyIndex = studyIndex
|
||||
this.activeSeriesIndex = seriesIndex
|
||||
this.activeInstanceId = null
|
||||
},
|
||||
},
|
||||
activeStudy(id) {
|
||||
console.log('activeStudy')
|
||||
if (this.activeNames.indexOf(id) > -1) return
|
||||
this.activeNames.push(id)
|
||||
},
|
||||
setSeriesActive(studyIndex, seriesIndex) {
|
||||
setSeriesActive(studyIndex, seriesIndex, isSave = false) {
|
||||
this.activeStudyIndex = studyIndex
|
||||
this.activeSeriesIndex = seriesIndex
|
||||
const studyId = this.studyList[studyIndex].StudyId
|
||||
if (!studyId) return
|
||||
this.activeStudy(studyId)
|
||||
if (isSave) return false
|
||||
DicomEvent.$emit('activeSeries', this.studyList[studyIndex].SeriesList[this.activeSeriesIndex])
|
||||
},
|
||||
showMultiFrames(studyIndex, series, seriesIndex, instance) {
|
||||
|
|
@ -482,25 +483,29 @@ export default {
|
|||
|
||||
<style lang="scss">
|
||||
.study-wrapper {
|
||||
.instance_frame_wrapper{
|
||||
.instance_frame_wrapper {
|
||||
min-width: 120px;
|
||||
background-color: #2c2c2c;
|
||||
border: 1px solid #2c2c2c;
|
||||
padding: 5px;
|
||||
}
|
||||
.frame_list{
|
||||
|
||||
.frame_list {
|
||||
max-height: 500px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.instance_frame_wrapper ::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
}
|
||||
.instance_frame_wrapper ::-webkit-scrollbar-thumb {
|
||||
|
||||
.instance_frame_wrapper ::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background: #d0d0d0;
|
||||
}
|
||||
.frame_content{
|
||||
|
||||
.frame_content {
|
||||
height: 50px;
|
||||
padding: 5px;
|
||||
display: flex;
|
||||
|
|
@ -509,6 +514,7 @@ export default {
|
|||
font-size: 12px;
|
||||
border: 1px solid #404040;
|
||||
}
|
||||
|
||||
.frame_content:hover {
|
||||
/* font-weight: bold; */
|
||||
/* box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); */
|
||||
|
|
@ -517,10 +523,10 @@ export default {
|
|||
border-color: #213a54 !important;
|
||||
background-color: #213a54;
|
||||
}
|
||||
|
||||
.frame_content_active {
|
||||
border-color: #213a54 !important;
|
||||
background-color: #213a54;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue