Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2026-03-27 13:53:45 +08:00
commit a0e355d69b
1 changed files with 23 additions and 27 deletions

View File

@ -120,7 +120,7 @@
</el-switch> </el-switch>
<span style="margin-left: 5px;">{{ <span style="margin-left: 5px;">{{
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow') $t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
}}</span> }}</span>
</div> </div>
<!-- <div class="SegmentConfig" v-if="SegmentConfig.InactiveSegmentations.show"> <!-- <div class="SegmentConfig" v-if="SegmentConfig.InactiveSegmentations.show">
<span>{{ $t('trials:reading:Segmentations:title:Opacity') }}</span> <span>{{ $t('trials:reading:Segmentations:title:Opacity') }}</span>
@ -164,7 +164,7 @@
<div <div
:style="`overflow-y: auto;max-height:${showSegmentConfig ? (SegmentHight - 220) : SegmentHight}px;`"> :style="`overflow-y: auto;max-height:${showSegmentConfig ? (SegmentHight - 220) : SegmentHight}px;`">
<div :class="['SegmentBox', item && item.segmentIndex === segmentIndex ? 'SegmentBox_active' : '']" <div :class="['SegmentBox', item && item.segmentIndex === segmentIndex ? 'SegmentBox_active' : '']"
v-for="(item) in curSegmentGroup.segments" v-for="(item, index) in curSegmentGroup.segments"
:key="`${item.segmentationId}_${item.segmentIndex}`" @click.stop="selectSegment(item)"> :key="`${item.segmentationId}_${item.segmentIndex}`" @click.stop="selectSegment(item)">
<div class="messageBox"> <div class="messageBox">
<el-popover placement="left" :title="item.SegmentLabel" width="200" trigger="hover"> <el-popover placement="left" :title="item.SegmentLabel" width="200" trigger="hover">
@ -191,10 +191,10 @@
<div v-for="k in statsKey" :key="k" class="statsBox"> <div v-for="k in statsKey" :key="k" class="statsBox">
<span>{{ k }}</span> <span>{{ k }}</span>
<span v-if="item.stats[k]">{{ Number(item.stats[k].value).toFixed(2) <span v-if="item.stats[k]">{{ Number(item.stats[k].value).toFixed(2)
}}<i>{{ item.stats[k].unit }}</i></span> }}<i>{{ item.stats[k].unit }}</i></span>
</div> </div>
</template> </template>
<div class="serialNum" slot="reference">{{ item.segmentIndex }}</div> <div class="serialNum" slot="reference">{{ index + 1 }}</div>
</el-popover> </el-popover>
<el-color-picker v-model="item.color" size="mini" <el-color-picker v-model="item.color" size="mini"
@ -231,7 +231,8 @@
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
<div class="saveBtnBox"> <div class="saveBtnBox">
<el-button type="success" size="small" @click="saveSegmentGroup">{{ $t("common:button:save") }}</el-button> <el-button type="success" size="small" @click="saveSegmentGroup()">{{ $t("common:button:save")
}}</el-button>
</div> </div>
</div> </div>
</template> </template>
@ -763,7 +764,6 @@ export default {
annotations.forEach(item => { annotations.forEach(item => {
annotation.state.removeAnnotation(item.annotationUID) annotation.state.removeAnnotation(item.annotationUID)
}) })
let segmentationId = this.segmentationId
if (this.segmentList.length > 0) { if (this.segmentList.length > 0) {
this.segmentationId = this.segmentList[0].segmentationId; this.segmentationId = this.segmentList[0].segmentationId;
this.selectSegmentGroup() this.selectSegmentGroup()
@ -772,13 +772,7 @@ export default {
} }
this.readingSegmentByConfig() this.readingSegmentByConfig()
this.resetViewport() this.resetViewport()
let data = { this.$emit('resetQuestion')
SegmentationId: segmentationId
}
let r = await this.getSegmentBindingList(data)
if (r && r.length > 0) {
this.$set('resetQuestion')
}
}, },
// //
async delSegment(data) { async delSegment(data) {
@ -803,13 +797,8 @@ export default {
if (this.segmentList[groupIndex].segments.length > 0) { if (this.segmentList[groupIndex].segments.length > 0) {
this.selectSegment(this.segmentList[groupIndex].segments[0]) this.selectSegment(this.segmentList[groupIndex].segments[0])
} }
let d = { this.$emit('resetQuestion')
SegmentId: data.id this.saveSegmentGroup([this.segmentList[groupIndex]])
}
let r = await this.getSegmentBindingList(d)
if (r && r.length > 0) {
this.$set('resetQuestion')
}
}, },
resetViewport(passive = true) { resetViewport(passive = true) {
@ -1193,7 +1182,7 @@ export default {
}, },
segmentationModifiedCallback(evt) { segmentationModifiedCallback(evt) {
const { detail } = evt; const { detail } = evt;
// console.log(detail) console.log(detail)
if (detail.segmentIndex === 0) { if (detail.segmentIndex === 0) {
this.drawing = true this.drawing = true
this.isDel = true this.isDel = true
@ -1269,6 +1258,11 @@ export default {
segmentGroup.segments.forEach(item => { segmentGroup.segments.forEach(item => {
segmentIndexs.push(item.segmentIndex) segmentIndexs.push(item.segmentIndex)
}) })
annotation.state.getAllAnnotations().forEach(i => {
if (i.metadata.segmentationId === this.segmentationId && i.metadata.toolName === "SegmentBidirectional") {
annotation.state.removeAnnotation(i.annotationUID)
}
})
this.getBidirectional(segmentGroup.segments) this.getBidirectional(segmentGroup.segments)
this.calculateStatistics(segmentIndexs, this.segmentationId, 'individual'); this.calculateStatistics(segmentIndexs, this.segmentationId, 'individual');
} }
@ -1311,14 +1305,16 @@ export default {
} }
}, },
// //
async saveSegmentGroup() { async saveSegmentGroup(list = null) {
try { try {
if (this.segmentList.length <= 0) return false
let segmentList = list ? list : this.segmentList
if (segmentList.length <= 0) return false
this.$emit("setToolsPassive") this.$emit("setToolsPassive")
let questionNeedChange = false; let questionNeedChange = false;
let bindingList = [] let bindingList = []
for (let i = 0; i < this.segmentList.length; i++) { for (let i = 0; i < segmentList.length; i++) {
let segmentGroup = this.segmentList[i] let segmentGroup = segmentList[i]
let data = { let data = {
SegmentationId: segmentGroup.segmentationId SegmentationId: segmentGroup.segmentationId
} }
@ -1357,8 +1353,8 @@ export default {
} }
this.$emit("update:globalLoading", true) this.$emit("update:globalLoading", true)
this.$emit("update:loadingText", this.$t("segment:loadingText:saveSegmentation")) this.$emit("update:loadingText", this.$t("segment:loadingText:saveSegmentation"))
for (let i = 0; i < this.segmentList.length; i++) { for (let i = 0; i < segmentList.length; i++) {
let segmentGroup = this.segmentList[i] let segmentGroup = segmentList[i]
// //
segmentGroup.segments.forEach(s => { segmentGroup.segments.forEach(s => {
this.lockSegment(s, true) this.lockSegment(s, true)