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

main
caiyiling 2026-06-02 10:46:42 +08:00
commit f06f7827cf
1 changed files with 39 additions and 6 deletions

View File

@ -39,10 +39,19 @@
</div> -->
</div>
<div class="ConfigBox">
<div class="EraserConfig"
v-if="activeTool === 'CircularEraser' || activeTool === 'CircularBrush' || ThresholdTools.includes(activeTool)">
<span>{{ $t('trials:reading:Segmentations:title:EraserConfigSection') }}</span>
<el-select v-model="sliderMax" placeholder="" size="small" @change="handleSliderChange">
<el-option v-for="item in sliderSection" :key="item.id" :label="item.label"
:value="item.max">
</el-option>
</el-select>
</div>
<div class="EraserConfig"
v-if="activeTool === 'CircularEraser' || activeTool === 'CircularBrush' || ThresholdTools.includes(activeTool)">
<span>{{ $t('trials:reading:Segmentations:title:EraserConfig') }}</span>
<el-slider v-model="brushSize" show-input :step="1" :max="100" input-size="mini"
<el-slider v-model="brushSize" show-input :step="sliderStep" :max="sliderMax" input-size="mini"
:show-input-controls="false" />
</div>
<div class="EraserConfig" v-if="ThresholdTools.includes(activeTool)">
@ -128,7 +137,7 @@
</el-switch>
<span style="margin-left: 5px;">{{
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
}}</span>
}}</span>
</div>
</div>
<template v-if="segmentList.length > 0">
@ -246,8 +255,9 @@
<div
style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
<div class="SegmentName">{{ item.SegmentLabel }}</div>
<div v-if="item.stats && item.stats['volume']" style="text-align: left;width: 100px;">{{
Number(item.stats['volume'].value).toFixed(digitPlaces) }}{{
<div v-if="item.stats && item.stats['volume']"
style="text-align: left;width: 100px;">{{
Number(item.stats['volume'].value).toFixed(digitPlaces) }}{{
item.stats['volume'].unit }}</div>
</div>
@ -310,7 +320,7 @@
<template slot-scope="scope">
<el-button type="text" @click.stop="restoreSegmentationVersion(scope.row)">{{
$t('trials:reading:Segmentations:button:recovery')
}}</el-button>
}}</el-button>
</template>
</el-table-column>
</el-table>
@ -443,6 +453,19 @@ export default {
},
data() {
return {
sliderMax: 50,
sliderStep: 1,
sliderSection: [{
id: `sliderSection1`,
max: 50,
step: 1,
label: '0~50mm'
}, {
id: `sliderSection2`,
max: 5,
step: 0.1,
label: '0~5mm'
}],
visible: false,
recoveryList: [],
searchData: searchDataDefault(),
@ -488,7 +511,7 @@ export default {
}
},
mounted() {
this.SegmentHight = window.innerHeight > 900 ? window.innerHeight * 0.5 : window.innerHeight * 0.4;
this.SegmentHight = window.innerHeight > 900 ? window.innerHeight * 0.45 : window.innerHeight * 0.35;
this.statsKey = getCustomizeStandardsSegmentDicomTools('Labelmap')[0].props.filter(item => item !== 'width' && item !== 'length')
// console.log(segmentation, 'segmentation')
// console.log(annotation, 'annotation')
@ -578,6 +601,16 @@ export default {
}
},
methods: {
handleSliderChange(value) {
// console.log(value, 'value')
let data = this.sliderSection.find(item => item.max === value)
if (data) {
this.sliderStep = data.step
}
if (this.brushSize >= data.max) {
this.brushSize = data.max
}
},
fileSizeFormatter(size) {
if (!size) return
return (size / Math.pow(1024, 2)).toFixed(3) + 'MB'