Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
f06f7827cf
|
|
@ -39,10 +39,19 @@
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="ConfigBox">
|
<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"
|
<div class="EraserConfig"
|
||||||
v-if="activeTool === 'CircularEraser' || activeTool === 'CircularBrush' || ThresholdTools.includes(activeTool)">
|
v-if="activeTool === 'CircularEraser' || activeTool === 'CircularBrush' || ThresholdTools.includes(activeTool)">
|
||||||
<span>{{ $t('trials:reading:Segmentations:title:EraserConfig') }}</span>
|
<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" />
|
:show-input-controls="false" />
|
||||||
</div>
|
</div>
|
||||||
<div class="EraserConfig" v-if="ThresholdTools.includes(activeTool)">
|
<div class="EraserConfig" v-if="ThresholdTools.includes(activeTool)">
|
||||||
|
|
@ -128,7 +137,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>
|
</div>
|
||||||
<template v-if="segmentList.length > 0">
|
<template v-if="segmentList.length > 0">
|
||||||
|
|
@ -246,8 +255,9 @@
|
||||||
<div
|
<div
|
||||||
style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
|
style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
|
||||||
<div class="SegmentName">{{ item.SegmentLabel }}</div>
|
<div class="SegmentName">{{ item.SegmentLabel }}</div>
|
||||||
<div v-if="item.stats && item.stats['volume']" style="text-align: left;width: 100px;">{{
|
<div v-if="item.stats && item.stats['volume']"
|
||||||
Number(item.stats['volume'].value).toFixed(digitPlaces) }}{{
|
style="text-align: left;width: 100px;">{{
|
||||||
|
Number(item.stats['volume'].value).toFixed(digitPlaces) }}{{
|
||||||
item.stats['volume'].unit }}</div>
|
item.stats['volume'].unit }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -310,7 +320,7 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click.stop="restoreSegmentationVersion(scope.row)">{{
|
<el-button type="text" @click.stop="restoreSegmentationVersion(scope.row)">{{
|
||||||
$t('trials:reading:Segmentations:button:recovery')
|
$t('trials:reading:Segmentations:button:recovery')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -443,6 +453,19 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
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,
|
visible: false,
|
||||||
recoveryList: [],
|
recoveryList: [],
|
||||||
searchData: searchDataDefault(),
|
searchData: searchDataDefault(),
|
||||||
|
|
@ -488,7 +511,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
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')
|
this.statsKey = getCustomizeStandardsSegmentDicomTools('Labelmap')[0].props.filter(item => item !== 'width' && item !== 'length')
|
||||||
// console.log(segmentation, 'segmentation')
|
// console.log(segmentation, 'segmentation')
|
||||||
// console.log(annotation, 'annotation')
|
// console.log(annotation, 'annotation')
|
||||||
|
|
@ -578,6 +601,16 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
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) {
|
fileSizeFormatter(size) {
|
||||||
if (!size) return
|
if (!size) return
|
||||||
return (size / Math.pow(1024, 2)).toFixed(3) + 'MB'
|
return (size / Math.pow(1024, 2)).toFixed(3) + 'MB'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue