阅片中上传影像后,查看后处理的影像时,关联访视的Tab需要处理
continuous-integration/drone/push Build is passing Details

rj
wangxiaoshuang 2026-06-29 17:25:04 +08:00
parent c80e7ca5a9
commit 2b93fd18ff
3 changed files with 27 additions and 16 deletions

View File

@ -304,7 +304,8 @@
</el-table>
<study-view v-if="model_cfg.visible" :model_cfg="model_cfg" :IsDicom="true" :bodyPart="bodyPart"
:subjectVisitId="openSubjectVisitId" :modelList="modelList" :isUpload="openIsUpload"
:visitTaskId="openVisitTaskId" :TrialModality="TrialModality" @getList="getList" />
:visitTaskId="openVisitTaskId" :TrialModality="TrialModality" :IsReadingTaskViewInOrder="IsReadingTaskViewInOrder"
@getList="getList" />
</div>
</template>
<script>
@ -426,6 +427,7 @@ export default {
openSubjectVisitId: null,
openVisitTaskId: null,
TrialModality: [],
IsReadingTaskViewInOrder: 2
}
},
async mounted() {
@ -469,6 +471,7 @@ export default {
this.loading = false
if (res.IsSuccess) {
this.TrialModality = res.OtherInfo.TrialModality.split('|')
this.IsReadingTaskViewInOrder = res.OtherInfo.IsReadingTaskViewInOrder || 2
this.StudyInstanceUidList = []
this.SopInstanceUidList = []
this.UploadStudyList = []
@ -1639,7 +1642,7 @@ export default {
const routeData = this.$router.resolve({
path: `/showvisitdicoms?page=upload&trialId=${trialId}&visitTaskId=${this.IsImageSegment ? 'undefined' : row.VisitTaskId
}&subjectVisitId=${row.SourceSubjectVisitId
}&isReading=1&TokenKey=${token}`,
}&isReading=1&TokenKey=${token}&IsReadingTaskViewInOrder=${this.IsReadingTaskViewInOrder}`,
})
this.open = window.open(routeData.href, '_blank')
},

View File

@ -139,6 +139,10 @@ export default {
return {}
},
},
IsReadingTaskViewInOrder: {
type: Number,
default: 2,
}
},
components: {
'base-model': baseModel,
@ -176,7 +180,7 @@ export default {
var token = getToken()
let trialId = this.$route.query.trialId
routeData = this.$router.resolve({
path: `/showvisitdicoms?trialId=${trialId}&visitTaskId=${this.visitTaskId}&subjectVisitId=${this.subjectVisitId}&isReading=1&TokenKey=${token}`,
path: `/showvisitdicoms?trialId=${trialId}&visitTaskId=${this.visitTaskId}&subjectVisitId=${this.subjectVisitId}&isReading=1&TokenKey=${token}&IsReadingTaskViewInOrder=${this.IsReadingTaskViewInOrder}`,
})
} else {
let trialId = this.$route.query.trialId

View File

@ -23,10 +23,10 @@
<div class="text-desc">
{{ study.StudyCode }}
</div>
<!-- <div v-show="study.Description" class="text-desc">
<!-- <div v-show="study.Description" class="text-desc">
{{ study.Description }}
</div> -->
<!-- <el-tooltip v-show="study.Description" class="item" effect="dark" :content="study.Description"
<!-- <el-tooltip v-show="study.Description" class="item" effect="dark" :content="study.Description"
placement="bottom">
<div v-if="study.Description"
style="width: 50px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;padding: 1x;">
@ -155,8 +155,8 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane v-show="!visitTaskId" :label="$t('trials:dicom-show:relatedVisit')" name="relation-study"
class="pane-relation-wrapper">
<el-tab-pane v-show="!visitTaskId && IsReadingTaskViewInOrder < 2"
:label="$t('trials:dicom-show:relatedVisit')" name="relation-study" class="pane-relation-wrapper">
<div class="viewerSidethumbinner">
<el-collapse v-model="relationActiveName" @change="handelRelationActiveChange">
@ -172,7 +172,7 @@
<div class="text-desc">
{{ study.StudyCode }}
</div>
<!-- <div v-show="study.Description" class="text-desc">
<!-- <div v-show="study.Description" class="text-desc">
{{ study.Description }}
</div> -->
@ -187,19 +187,18 @@
<div class="viewerSidethumbs ps" style="position: relative;">
<div class="viewerSidethumbinner">
<div v-for="(seriesItem, index) in study.seriesList" :key="seriesItem.seriesId">
<div class="viewernavigatorwrapper"
style="position: relative;border:1px solid #434343;" series-type="relation"
<div class="viewernavigatorwrapper" style="position: relative;border:1px solid #434343;"
series-type="relation"
@click="showRelationSeriesImage($event, seriesItem, studyIndex, index)">
<div class="imageBox" style="width: 72px;height:72px;">
<img class="image-preview" :src="seriesItem.previewImageUrl"
crossorigin="anonymous" alt="" style="width: 72px;height:72px;" fit="fill" />
<img class="image-preview" :src="seriesItem.previewImageUrl" crossorigin="anonymous"
alt="" style="width: 72px;height:72px;" fit="fill" />
<i class="el-icon-refresh" :title="$t('tip:refreshImage')"
@click.stop="refreshImage(item)"></i>
</div>
<div class="viewernavitextwrapper">
<div
style="padding: 1px 5px 1px 1px;display: flex;justify-content: space-between;">
<div style="padding: 1px 5px 1px 1px;display: flex;justify-content: space-between;">
<div v-if="seriesItem.keySeries" style="color:red">
Key Images
</div>
@ -332,7 +331,8 @@ export default {
visitTaskId: null,
page: '',
activeSeriesId: null,
activeInstanceId: null
activeInstanceId: null,
IsReadingTaskViewInOrder: 2
}
},
mounted() {
@ -351,6 +351,9 @@ export default {
this.isFromCRCUpload = !!this.$router.currentRoute.query.isFromCRCUpload
this.visitTaskId = this.$router.currentRoute.query.visitTaskId
this.page = this.$route.query.page
if (this.$router.currentRoute.query.IsReadingTaskViewInOrder) {
this.IsReadingTaskViewInOrder = Number(this.$router.currentRoute.query.IsReadingTaskViewInOrder)
}
this.beforeUnloadHandler = () => {
cornerstone.imageCache.purgeCache()
requestPoolManager.resetRequestPool()
@ -951,7 +954,7 @@ export default {
if (this.imageList.length > 0) {
requestPoolManager.startTaskTimer()
this.imageList.map(image => {
requestPoolManager.loadAndCacheImagePlus(image.imageId, image.seriesId, image.priority).catch(() => {})
requestPoolManager.loadAndCacheImagePlus(image.imageId, image.seriesId, image.priority).catch(() => { })
})
requestPoolManager.sortTaskPool()
this.imageList = []
@ -1338,6 +1341,7 @@ export default {
border-color: #213a54 !important;
background-color: #213a54;
}
.frame_content_active {
border-color: #213a54 !important;
background-color: #213a54;