新增的分段后,点击计算长短径保存,刷新页面后计算值全部变为0
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
74c5d032fb
commit
7afbc360e5
|
|
@ -146,7 +146,6 @@ export default {
|
||||||
},
|
},
|
||||||
async handleChange(e, key) {
|
async handleChange(e, key) {
|
||||||
if (key === 'study') {
|
if (key === 'study') {
|
||||||
console.log(this.studyList, 'this.studyList')
|
|
||||||
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
|
this.seriesList = this.studyList.find(item => item.StudyId === this.form.studyId).SeriesArr
|
||||||
}
|
}
|
||||||
if (key === 'series') {
|
if (key === 'series') {
|
||||||
|
|
|
||||||
|
|
@ -202,7 +202,8 @@
|
||||||
<template v-if="item.stats">
|
<template v-if="item.stats">
|
||||||
<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]">{{ JSON.stringify(item.stats[k].value) !== 'null' ?
|
||||||
|
Number(item.stats[k].value).toFixed(2) : null
|
||||||
}}<i>{{ item.stats[k].unit }}</i></span>
|
}}<i>{{ item.stats[k].unit }}</i></span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -402,13 +403,12 @@ export default {
|
||||||
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')
|
||||||
console.log(cache, 'cache')
|
// console.log(cache, 'cache')
|
||||||
eventTarget.addEventListener(
|
eventTarget.addEventListener(
|
||||||
'CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED',
|
'CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED',
|
||||||
this.segmentationModifiedCallback
|
this.segmentationModifiedCallback
|
||||||
);
|
);
|
||||||
DicomEvent.$on('activeSeries', (series) => {
|
DicomEvent.$on('activeSeries', (series) => {
|
||||||
console.log(series, 'series')
|
|
||||||
let { TaskInfo = {}, Id } = series
|
let { TaskInfo = {}, Id } = series
|
||||||
if (this.isMPR) return false
|
if (this.isMPR) return false
|
||||||
if (Id === this.series.Id && TaskInfo.VisitTaskId === this.visitInfo.VisitTaskId) return false
|
if (Id === this.series.Id && TaskInfo.VisitTaskId === this.visitInfo.VisitTaskId) return false
|
||||||
|
|
@ -897,6 +897,8 @@ export default {
|
||||||
annotations.forEach(item => {
|
annotations.forEach(item => {
|
||||||
annotation.state.removeAnnotation(item.annotationUID)
|
annotation.state.removeAnnotation(item.annotationUID)
|
||||||
})
|
})
|
||||||
|
let f = this.segmentList.some(item => item.segUrl)
|
||||||
|
DicomEvent.$emit("IsBeSegment", { StudyId: this.series.StudyId, Id: this.series.Id, IsBeSegment: f })
|
||||||
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()
|
||||||
|
|
@ -1471,6 +1473,7 @@ 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"))
|
||||||
|
let IsBeSegment = false
|
||||||
for (let i = 0; i < segmentList.length; i++) {
|
for (let i = 0; i < segmentList.length; i++) {
|
||||||
let segmentGroup = segmentList[i]
|
let segmentGroup = segmentList[i]
|
||||||
// 将所有分割进行锁定
|
// 将所有分割进行锁定
|
||||||
|
|
@ -1487,6 +1490,7 @@ export default {
|
||||||
}/${this.series.Id}/${segmentGroup.name}.dcm`
|
}/${this.series.Id}/${segmentGroup.name}.dcm`
|
||||||
const result = await this.OSSclient.put(path, blob)
|
const result = await this.OSSclient.put(path, blob)
|
||||||
segmentGroup.segUrl = this.$getObjectName(result.url)
|
segmentGroup.segUrl = this.$getObjectName(result.url)
|
||||||
|
DicomEvent.$emit("IsBeSegment", { StudyId: this.series.StudyId, Id: this.series.Id, IsBeSegment: true })
|
||||||
} else {
|
} else {
|
||||||
segmentGroup.segUrl = null
|
segmentGroup.segUrl = null
|
||||||
}
|
}
|
||||||
|
|
@ -1498,6 +1502,10 @@ export default {
|
||||||
this.syncBindingAnswer(segmentList)
|
this.syncBindingAnswer(segmentList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!IsBeSegment) {
|
||||||
|
let f = this.segmentList.some(item => item.segUrl)
|
||||||
|
DicomEvent.$emit("IsBeSegment", { StudyId: this.series.StudyId, Id: this.series.Id, IsBeSegment: f })
|
||||||
|
}
|
||||||
this.$emit("update:globalLoading", false)
|
this.$emit("update:globalLoading", false)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|
@ -1535,7 +1543,7 @@ export default {
|
||||||
segmentationId: list[0].segmentationId,
|
segmentationId: list[0].segmentationId,
|
||||||
segmentIndices: list.map(item => item.segmentIndex),
|
segmentIndices: list.map(item => item.segmentIndex),
|
||||||
});
|
});
|
||||||
console.log(bidirectionalData)
|
// console.log(bidirectionalData)
|
||||||
if (bidirectionalData.length <= 0) {
|
if (bidirectionalData.length <= 0) {
|
||||||
list.forEach(item => {
|
list.forEach(item => {
|
||||||
let annotations = annotation.state.getAllAnnotations().filter(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex);
|
let annotations = annotation.state.getAllAnnotations().filter(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex);
|
||||||
|
|
|
||||||
|
|
@ -89,8 +89,8 @@
|
||||||
}} image</span>
|
}} image</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="line-height: 12px;">
|
<div style="line-height: 12px;">
|
||||||
<i v-show="series.IsBeMark || markedSeriesIds.includes(series.Id)" class="el-icon-star-on"
|
<i v-show="series.IsBeSegment || series.IsBeMark || markedSeriesIds.includes(series.Id)"
|
||||||
style="font-size: 12px;color: #ff5722;" />
|
class="el-icon-star-on" style="font-size: 12px;color: #ff5722;" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -151,6 +151,19 @@ export default {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.activeStudy(this.studyList[0].StudyId)
|
this.activeStudy(this.studyList[0].StudyId)
|
||||||
})
|
})
|
||||||
|
DicomEvent.$on('IsBeSegment', (obj) => {
|
||||||
|
this.studyList.some(study => {
|
||||||
|
if (study.StudyId === obj.StudyId) {
|
||||||
|
study.SeriesList.some(series => {
|
||||||
|
if (series.Id === obj.Id) {
|
||||||
|
series.IsBeSegment = obj.IsBeSegment
|
||||||
|
}
|
||||||
|
return series.Id === obj.Id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return study.StudyId === obj.StudyId
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
activeSeries(series, seriesIndex, studyIndex) {
|
activeSeries(series, seriesIndex, studyIndex) {
|
||||||
|
|
|
||||||
|
|
@ -519,7 +519,7 @@ export default {
|
||||||
if (!obj.bidirectional || !obj.bidirectional.maxMajor) return this.$confirm(this.$t("segment:error:notValue"))
|
if (!obj.bidirectional || !obj.bidirectional.maxMajor) return this.$confirm(this.$t("segment:error:notValue"))
|
||||||
answer = obj.bidirectional[s[imageToolAttribute]] ? Number(obj.bidirectional[s[imageToolAttribute]]).toFixed(this.digitPlaces) : ''
|
answer = obj.bidirectional[s[imageToolAttribute]] ? Number(obj.bidirectional[s[imageToolAttribute]]).toFixed(this.digitPlaces) : ''
|
||||||
} else {
|
} else {
|
||||||
if (!obj.stats) return this.$confirm(this.$t("segment:error:notValue"))
|
if (!obj.stats || !obj.stats[imageToolAttribute] || obj.stats[imageToolAttribute].value === null) return this.$confirm(this.$t("segment:error:notValue"))
|
||||||
answer = obj.stats[imageToolAttribute] ? Number((obj.stats[imageToolAttribute]).value).toFixed(this.digitPlaces) : ''
|
answer = obj.stats[imageToolAttribute] ? Number((obj.stats[imageToolAttribute]).value).toFixed(this.digitPlaces) : ''
|
||||||
}
|
}
|
||||||
let o = {
|
let o = {
|
||||||
|
|
|
||||||
|
|
@ -295,7 +295,6 @@ async function jumpBidirectional(item, viewportId, volumeId) {
|
||||||
// DicomEvent.$emit('jumpBidirectional', item)
|
// DicomEvent.$emit('jumpBidirectional', item)
|
||||||
if (item.bidirectional) {
|
if (item.bidirectional) {
|
||||||
let an = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
|
let an = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
|
||||||
console.log(an, 'an')
|
|
||||||
if (!an) return false
|
if (!an) return false
|
||||||
if (['viewport-MPR-1', 'viewport-MPR-2'].includes(viewportId)) return false
|
if (['viewport-MPR-1', 'viewport-MPR-2'].includes(viewportId)) return false
|
||||||
const renderingEngine = getRenderingEngine(renderingEngineId)
|
const renderingEngine = getRenderingEngine(renderingEngineId)
|
||||||
|
|
@ -400,7 +399,6 @@ async function renderSegmentation(series, visitInfo, viewportId, SegmentConfig,
|
||||||
annotation.locking.setAnnotationLocked(an.annotationUID, true)
|
annotation.locking.setAnnotationLocked(an.annotationUID, true)
|
||||||
annotation.visibility.setAnnotationVisibility(an.annotationUID, true)
|
annotation.visibility.setAnnotationVisibility(an.annotationUID, true)
|
||||||
}
|
}
|
||||||
console.log(an, 'an')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue