分割问题绑定标记显示问题
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2026-03-24 15:27:17 +08:00
parent 43f1736b05
commit 619af2e874
2 changed files with 26 additions and 17 deletions

View File

@ -274,8 +274,7 @@
<!-- 伪彩 --> <!-- 伪彩 -->
<template v-if="readingTool === 2"> <template v-if="readingTool === 2">
<colorMap v-show="isFusion" ref="colorMap" :unit="fusionOverlayModality === 'NM' ? 'counts' : 'g/ml'" <colorMap v-show="isFusion" ref="colorMap" :unit="fusionOverlayModality === 'NM' ? 'counts' : 'g/ml'"
:modality="fusionOverlayModality" :modality="fusionOverlayModality" @setColorMap="setColorMap" @voiChange="voiChange" />
@setColorMap="setColorMap" @voiChange="voiChange" />
</template> </template>
</div> </div>
@ -301,7 +300,9 @@
<!-- viewports --> <!-- viewports -->
<div class="viewports-wrapper"> <div class="viewports-wrapper">
<div ref="container" class="grid-container"> <div ref="container" class="grid-container">
<div :class="['viewports-box', isFusion || isMPR ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']" :style="gridStyle"> <div
:class="['viewports-box', isFusion || isMPR ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']"
:style="gridStyle">
<div v-for="(v, index) in cellsMax" v-show="index < cells.length" :key="`viewport-${index}`" <div v-for="(v, index) in cellsMax" v-show="index < cells.length" :key="`viewport-${index}`"
:class="['grid-cell', isMPR && index === 2 ? 'grid-cell-3' : '', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']" :class="['grid-cell', isMPR && index === 2 ? 'grid-cell-3' : '', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']"
@dblclick="toggleFullScreen($event, index)" @click="activeViewport(index)"> @dblclick="toggleFullScreen($event, index)" @click="activeViewport(index)">
@ -316,9 +317,9 @@
</div> </div>
</div> </div>
<div v-if="criterionType === 0 && readingTool === 0 || readingTool === 3" <div v-if="criterionType === 0 && readingTool === 0 || readingTool === 3"
:class="['viewports-box', !isMPR ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']" :style="gridStyleMPR"> :class="['viewports-box', !isMPR ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']"
<div v-for="(v, index) in 3" :key="`viewport-MPR-${index}`" :style="gridStyleMPR">
v-show="index < cells.length" <div v-for="(v, index) in 3" :key="`viewport-MPR-${index}`" v-show="index < cells.length"
:style="cellStyle" :style="cellStyle"
:class="['grid-cell', isMPR && index === 0 ? 'grid-cell-3' : '', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']" :class="['grid-cell', isMPR && index === 0 ? 'grid-cell-3' : '', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']"
@dblclick="toggleFullScreen($event, index)" @click="activeViewport(index)"> @dblclick="toggleFullScreen($event, index)" @click="activeViewport(index)">
@ -329,7 +330,8 @@
@renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" /> @renderAnnotations="renderAnnotations" @contentMouseup="contentMouseup" />
</div> </div>
</div> </div>
<div v-if="readingTool === 2" :class="['viewports-box', !isFusion ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']" <div v-if="readingTool === 2"
:class="['viewports-box', !isFusion ? 'viewports-box-down' : '', fullScreenIndex !== null ? 'viewports-box-full-screen' : '']"
:style="gridStyle"> :style="gridStyle">
<div v-for="(v, index) in cellsMax" v-show="index < cells.length" :key="`viewport-fusion-${index}`" <div v-for="(v, index) in cellsMax" v-show="index < cells.length" :key="`viewport-fusion-${index}`"
:class="['grid-cell', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']" :class="['grid-cell', index === activeViewportIndex ? 'cell_active' : '', index === fullScreenIndex ? 'cell-full-screen' : '']"
@ -899,8 +901,8 @@ export default {
this.$refs[`ecrf_${this.lastViewportTaskId}`][0].handleSegmentSave(obj) this.$refs[`ecrf_${this.lastViewportTaskId}`][0].handleSegmentSave(obj)
}, },
openSegmentForm(obj) { openSegmentForm(obj) {
// let { visitInfo, operateStateEnum } = obj let { visitInfo } = obj
this.segmentVisitInfo = obj this.segmentVisitInfo = Object.assign(visitInfo, { ...obj })
this.segmentVisible = true this.segmentVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.SegmentForm.setSeries(this.$refs[`viewport-${this.activeViewportIndex}`][0].series) this.$refs.SegmentForm.setSeries(this.$refs[`viewport-${this.activeViewportIndex}`][0].series)

View File

@ -77,18 +77,22 @@ export default {
}, },
async init() { async init() {
let studyList = Object.assign(this.visitInfo.StudyList, {}) let studyList = Object.assign(this.visitInfo.StudyList, {})
console.log(studyList, 'studyList')
let s = await this.getSegmentationList() let s = await this.getSegmentationList()
this.segmentionList = s this.segmentionList = s
let StudyIds = s.map(item => item.StudyId) let StudyIds = s.map(item => item.StudyId)
let SeriesIds = s.map(item => item.SeriesId) let SeriesIds = s.map(item => item.SeriesId)
console.log(SeriesIds, 'SeriesIds')
studyList = studyList.filter(item => StudyIds.includes(item.StudyId)) studyList = studyList.filter(item => StudyIds.includes(item.StudyId))
studyList.forEach(study => { studyList.forEach(study => {
study.SeriesList = study.SeriesList.filter(item => SeriesIds.includes(item.Id)) study.SeriesArr = study.SeriesList.filter(item => SeriesIds.includes(item.Id))
}) })
this.studyList = studyList this.studyList = studyList
if (this.visitInfo.operateStateEnum === 21) { if (this.visitInfo.operateStateEnum === 21) {
this.form.studyId = this.series.StudyId this.form.studyId = this.series.StudyId
this.handleChange(null, 'study')
this.form.seriesId = this.series.Id this.form.seriesId = this.series.Id
this.handleChange(null, 'series')
} }
if (this.visitInfo.operateStateEnum === 22) { if (this.visitInfo.operateStateEnum === 22) {
let o = {} let o = {}
@ -99,16 +103,19 @@ export default {
o.QuestionId = this.visitInfo.operateQuestionId o.QuestionId = this.visitInfo.operateQuestionId
} }
let list = await this.getSegmentBindingList(o) let list = await this.getSegmentBindingList(o)
this.form.segmentGroupId = list[0].SegmentationId let segmentGroup = this.segmentionList.find(item => item.Id === list[0].SegmentationId)
this.form.segmentId = list[0].SegmentId
let segmentGroup = this.segmentionList.find(item => item.Id === this.form.segmentGroupId)
this.form.studyId = segmentGroup.StudyId this.form.studyId = segmentGroup.StudyId
this.handleChange(null, 'study')
this.form.seriesId = segmentGroup.SeriesId this.form.seriesId = segmentGroup.SeriesId
this.handleChange(null, 'series')
this.form.segmentGroupId = list[0].SegmentationId
this.handleChange(null, 'segmentGroup')
this.form.segmentId = list[0].SegmentId
} }
}, },
async handleChange(e, key) { async handleChange(e, key) {
if (key === 'study') { if (key === 'study') {
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesList this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
} }
if (key === 'series') { if (key === 'series') {
this.segmentGroupList = this.segmentionList.filter(item => item.SeriesId === this.form.seriesId) this.segmentGroupList = this.segmentionList.filter(item => item.SeriesId === this.form.seriesId)