分割默认工具功能修复
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5cb3e8e606
commit
25b909c660
|
|
@ -77,12 +77,10 @@ export default {
|
|||
},
|
||||
async init() {
|
||||
let studyList = Object.assign(this.visitInfo.StudyList, {})
|
||||
console.log(studyList, 'studyList')
|
||||
let s = await this.getSegmentationList()
|
||||
this.segmentionList = s
|
||||
let StudyIds = s.map(item => item.StudyId)
|
||||
let SeriesIds = s.map(item => item.SeriesId)
|
||||
console.log(SeriesIds, 'SeriesIds')
|
||||
studyList = studyList.filter(item => StudyIds.includes(item.StudyId))
|
||||
studyList.forEach(study => {
|
||||
study.SeriesArr = study.SeriesList.filter(item => SeriesIds.includes(item.Id))
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@
|
|||
:title="$t('trials:dicom-show:Eraser')" @click.prevent="setToolActive('CircularEraser')">
|
||||
<svg-icon icon-class="clear" class="svg-icon" />
|
||||
</div>
|
||||
<div :class="['tool-item']">
|
||||
<!-- <div :class="['tool-item']">
|
||||
<input type="file" @change="beginScanFiles($event)">
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="ConfigBox">
|
||||
<div class="EraserConfig" v-if="activeTool === 'CircularEraser' || activeTool === 'CircularBrush'">
|
||||
|
|
@ -86,12 +86,11 @@
|
|||
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="SegmentConfig">
|
||||
<!-- <div class="SegmentConfig" v-if="SegmentConfig.InactiveSegmentations.show">
|
||||
<span>{{ $t('trials:reading:Segmentations:title:Opacity') }}</span>
|
||||
<el-slider v-model="SegmentConfig.InactiveSegmentations.fillAlpha" show-input :step="0.1"
|
||||
:max="1" input-size="mini" :show-input-controls="false"
|
||||
v-if="SegmentConfig.InactiveSegmentations.show" />
|
||||
</div>
|
||||
:max="1" input-size="mini" :show-input-controls="false" />
|
||||
</div> -->
|
||||
</div>
|
||||
<template v-if="segmentList.length > 0">
|
||||
<div class="SegmentGroupBox">
|
||||
|
|
@ -127,7 +126,7 @@
|
|||
@click.stop="viewSegmentGroup(segmentList.find(i => i.segmentationId === segmentationId))" />
|
||||
</div>
|
||||
<div
|
||||
:style="`overflow-y: auto;max-height:${showSegmentConfig ? (SegmentHight - 260) : SegmentHight}px;`">
|
||||
:style="`overflow-y: auto;max-height:${showSegmentConfig ? (SegmentHight - 220) : SegmentHight}px;`">
|
||||
<div :class="['SegmentBox', item && item.segmentIndex === segmentIndex ? 'SegmentBox_active' : '']"
|
||||
v-for="(item) in curSegmentGroup.segments"
|
||||
:key="`${item.segmentationId}_${item.segmentIndex}`" @click.stop="selectSegment(item)">
|
||||
|
|
@ -146,7 +145,7 @@
|
|||
<div class="btnBox">
|
||||
<svg-icon :icon-class="!item.bidirectionalView ? 'eye' : 'eye-open'"
|
||||
style="color:#000;margin-right: 5px;cursor: pointer;"
|
||||
@click.stop="viewBidirectional(item, !item.bidirectionalView)" />
|
||||
@click.stop="viewBidirectional([item], !item.bidirectionalView)" />
|
||||
<svg-icon icon-class="jumpto" style="color:#000;cursor: pointer;"
|
||||
@click.stop="jumpBidirectional(item)" />
|
||||
</div>
|
||||
|
|
@ -304,7 +303,7 @@ export default {
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
this.SegmentHight = window.innerHeight * 0.4;
|
||||
this.SegmentHight = window.innerHeight > 900 ? window.innerHeight * 0.5 : window.innerHeight * 0.4;
|
||||
this.statsKey = getCustomizeStandardsSegmentDicomTools('Labelmap')[0].props.filter(item => item !== 'width' && item !== 'length')
|
||||
// console.log(segmentation, 'segmentation')
|
||||
// console.log(annotation, 'annotation')
|
||||
|
|
@ -465,10 +464,14 @@ export default {
|
|||
this.showSegmentConfig = !this.showSegmentConfig
|
||||
}
|
||||
},
|
||||
viewBidirectional(item, view) {
|
||||
viewBidirectional(arr, view) {
|
||||
for (let j = 0; j < arr.length; j++) {
|
||||
let item = arr[j]
|
||||
let bidirectional = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
|
||||
annotation.visibility.setAnnotationVisibility(bidirectional.annotationUID, view)
|
||||
item.bidirectionalView = view
|
||||
if (!bidirectional) return false
|
||||
annotation.visibility.setAnnotationVisibility(bidirectional.annotationUID, view)
|
||||
}
|
||||
this.resetViewport()
|
||||
},
|
||||
jumpBidirectional(item) {
|
||||
|
|
@ -496,10 +499,12 @@ export default {
|
|||
);
|
||||
})
|
||||
item.view = view
|
||||
|
||||
item.segments.forEach(i => {
|
||||
i.view = view
|
||||
this.viewBidirectional(i, view)
|
||||
// this.viewBidirectional(i, view)
|
||||
})
|
||||
this.viewBidirectional(item.segments, view)
|
||||
},
|
||||
viewSegment(item, view) {
|
||||
this.viewprotIds.forEach(id => {
|
||||
|
|
@ -509,7 +514,7 @@ export default {
|
|||
}, item.segmentIndex, view)
|
||||
})
|
||||
item.view = view
|
||||
this.viewBidirectional(item, view)
|
||||
this.viewBidirectional([item], view)
|
||||
this.$emit('setToolsPassive')
|
||||
},
|
||||
lockSegment(item, lock) {
|
||||
|
|
@ -531,7 +536,7 @@ export default {
|
|||
segmentation.activeSegmentation.setActiveSegmentation(id, this.segmentationId)
|
||||
})
|
||||
this.selectSegment({ segmentationId: this.segmentationId, segmentIndex: 1 })
|
||||
// this.changeSegmentConfig()
|
||||
this.readingSegmentByConfig()
|
||||
},
|
||||
async addSegmentGroup() {
|
||||
let viewprotIds = this.viewprotIds
|
||||
|
|
@ -738,17 +743,16 @@ export default {
|
|||
// 切换非当前分组分割标记显示
|
||||
changeInactiveSegmentShow() {
|
||||
let segmentList = this.segmentList.filter(item => item.segmentationId !== this.segmentationId)
|
||||
segmentList.forEach(segment => {
|
||||
this.viewprotIds.forEach(id => {
|
||||
segmentation.config.style.setStyle(
|
||||
segmentation.config.visibility.setSegmentationRepresentationVisibility(
|
||||
id,
|
||||
{
|
||||
segmentationId: this.segmentationId,
|
||||
type: csToolsEnums.SegmentationRepresentations.Labelmap,
|
||||
segmentationId: segment.segmentationId,
|
||||
},
|
||||
{
|
||||
fillAlpha: Number(this.SegmentConfig.InactiveSegmentations.fillAlpha),
|
||||
}
|
||||
)
|
||||
true
|
||||
);
|
||||
segmentList.forEach(segment => {
|
||||
segmentation.config.visibility.setSegmentationRepresentationVisibility(
|
||||
id,
|
||||
{
|
||||
|
|
@ -757,9 +761,16 @@ export default {
|
|||
},
|
||||
this.SegmentConfig.InactiveSegmentations.show
|
||||
);
|
||||
|
||||
})
|
||||
|
||||
})
|
||||
segmentList.forEach(segment => {
|
||||
this.viewBidirectional(segment.segments, this.SegmentConfig.InactiveSegmentations.show)
|
||||
})
|
||||
let segments = this.segmentList.find(item => item.segmentationId === this.segmentationId).segments
|
||||
this.viewBidirectional(segments, true)
|
||||
|
||||
},
|
||||
// 更改分割标记显示模式
|
||||
changeSegmentConfig(renderOutline, renderFill) {
|
||||
|
|
@ -970,6 +981,7 @@ export default {
|
|||
return obj
|
||||
},
|
||||
readingSegmentByConfig() {
|
||||
this.changeInactiveSegmentShow()
|
||||
segmentation.config.style.setStyle(
|
||||
{
|
||||
type: csToolsEnums.SegmentationRepresentations.Labelmap,
|
||||
|
|
@ -981,7 +993,6 @@ export default {
|
|||
fillAlpha: Number(this.SegmentConfig.fillAlpha),
|
||||
}
|
||||
)
|
||||
this.changeInactiveSegmentShow()
|
||||
},
|
||||
setBrushSize() {
|
||||
const toolGroupId = this.isMPR ? this.volumeToolGroupId : `${this.viewportKey}-${this.activeViewportIndex}`
|
||||
|
|
@ -1001,7 +1012,6 @@ export default {
|
|||
}
|
||||
)
|
||||
}
|
||||
|
||||
segmentation.addSegmentations([
|
||||
{
|
||||
segmentationId,
|
||||
|
|
@ -1624,11 +1634,11 @@ export default {
|
|||
}
|
||||
|
||||
::v-deep .el-slider__input {
|
||||
width: 50px;
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
::v-deep .el-slider__runway.show-input {
|
||||
margin-right: 60px;
|
||||
margin-right: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -188,10 +188,10 @@
|
|||
v-if="question.ImageMarkTypeEnum === 1">
|
||||
<el-input type="text" @change="(val) => { formItemNumberChange(val, question) }"
|
||||
@input="numberInput(question.Id)"
|
||||
@blur="questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked ? () => { } : handleMarkedQsBlur(questionForm[question.Id], questionForm, question.Id, question)"
|
||||
@blur="questionsSegmentMarkStatus[question.Id] ? () => { } : handleMarkedQsBlur(questionForm[question.Id], questionForm, question.Id, question)"
|
||||
v-model="questionForm[question.Id]"
|
||||
:title="questionsMarkStatus[question.Id] ? questionsMarkStatus[question.Id].OrderMarkName : question.Remark"
|
||||
:disabled="(questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked && question.ImageMarkEnum === 2) || question.ImageMarkEnum === 1 || readingTaskState === 2"
|
||||
:title="questionsSegmentMarkStatus[question.Id] ? `${questionsSegmentMarkStatus[question.Id].SegmentationName}_${questionsSegmentMarkStatus[question.Id].SegmentName}` : question.Remark"
|
||||
:disabled="(questionsSegmentMarkStatus[question.Id] && question.ImageMarkEnum === 2) || question.ImageMarkEnum === 1 || readingTaskState === 2"
|
||||
style="width: 150px;margin-right: 5px;">
|
||||
<template v-if="question.Unit !== 0" slot="append">
|
||||
{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }}
|
||||
|
|
|
|||
|
|
@ -577,9 +577,9 @@ export default {
|
|||
this.questionsSegmentMarkStatus = {}
|
||||
list.forEach(item => {
|
||||
if (item.TableQuestionId && item.RowId) {
|
||||
this.$set(this.questionsSegmentMarkStatus, `${item.RowId}_${item.TableQuestionId}`, item.SegmentId)
|
||||
this.$set(this.questionsSegmentMarkStatus, `${item.RowId}_${item.TableQuestionId}`, { SegmentId: item.SegmentId, SegmentationName: item.SegmentationName, SegmentName: item.SegmentName, })
|
||||
} else {
|
||||
this.$set(this.questionsSegmentMarkStatus, item.QuestionId, item.SegmentId)
|
||||
this.$set(this.questionsSegmentMarkStatus, item.QuestionId, { SegmentId: item.SegmentId, SegmentationName: item.SegmentationName, SegmentName: item.SegmentName, })
|
||||
}
|
||||
})
|
||||
} catch (err) {
|
||||
|
|
|
|||
|
|
@ -111,10 +111,10 @@
|
|||
v-if="question.ImageMarkTypeEnum === 1">
|
||||
<el-input type="text" @change="(val) => { formItemNumberChange(val, question) }"
|
||||
@input="numberInput(question.Id)"
|
||||
@blur="questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked ? () => { } : handleMarkedQsBlur(questionForm[question.Id], questionForm, question.Id, question)"
|
||||
@blur="questionsSegmentMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id] ? () => { } : handleMarkedQsBlur(questionForm[question.Id], questionForm, question.Id, question)"
|
||||
v-model="questionForm[question.Id]"
|
||||
:title="questionsMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id] ? questionsMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id].OrderMarkName : question.Remark"
|
||||
:disabled="(questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked && question.ImageMarkEnum === 2) || question.ImageMarkEnum === 1 || question.IsPreinstall"
|
||||
:title="questionsSegmentMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id] ? `${questionsSegmentMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id].SegmentationName}_${questionsSegmentMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id].SegmentName}` : question.Remark"
|
||||
:disabled="(questionsSegmentMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id] && question.ImageMarkEnum === 2) || question.ImageMarkEnum === 1 || question.IsPreinstall"
|
||||
style="width: 150px;margin-right: 5px;">
|
||||
<template v-if="question.Unit !== 0" slot="append">
|
||||
{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }}
|
||||
|
|
|
|||
Loading…
Reference in New Issue