分割部分问题解决
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2026-04-15 17:21:19 +08:00
parent c12833d283
commit 7001bc9ec0
5 changed files with 26 additions and 14 deletions

View File

@ -40,10 +40,10 @@
<div v-if="series" class="right-bottom-text">
<div v-show="imageInfo.location">Location: {{
`${Number(imageInfo.location).toFixed(digitPlaces)} mm`
}}</div>
}}</div>
<div v-show="imageInfo.sliceThickness">Slice Thickness: {{
`${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm`
}}</div>
}}</div>
<div v-show="imageInfo.wwwc">WW/WL: {{ imageInfo.wwwc }}</div>
</div>
<div class="orientation-top">
@ -225,7 +225,7 @@ export default {
DicomEvent.$on('renderSegmentation', async (viewportId) => {
// if (this.curSegSeries.Id !== this.series.Id || this.curSegSeries.VisitTaskId !== this.series.VisitTaskId) return false
if (this.viewportId !== viewportId) return false
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.segmentationId, this.segmentIndex, this.renderingEngineId, null, this.actionConfiguration)
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, null, this.actionConfiguration)
})
},
watch: {
@ -612,8 +612,8 @@ export default {
renderingEngine.render()
}, 100)
}
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.segmentationId, this.segmentIndex, this.renderingEngineId, null, this.actionConfiguration)
DicomEvent.$emit('loading', this.viewportId)
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, null, this.actionConfiguration)
DicomEvent.$emit('SegmentationLoading', this.viewportId)
} catch (e) {
console.log(e)
}

View File

@ -3212,6 +3212,11 @@ export default {
this.$refs[series.TaskInfo.VisitTaskId][0].setSeriesActive(series.StudyIndex, series.SeriesIndex)
}
}
if (this.readingTool === 3) {
this.$nextTick(() => {
DicomEvent.$emit('SegmentationLoading', `${this.viewportKey}-${this.activeViewportIndex}`)
})
}
this.setToolsPassive()
},
getRelatedSeries(visitTaskInfo, baselineSeries) {

View File

@ -417,7 +417,7 @@ export default {
let { segment, isChange = true, viewportId, series } = data
DicomEvent.$emit('renderSegmentation', viewportId)
})
DicomEvent.$on('loading', (viewportId) => {
DicomEvent.$on('SegmentationLoading', (viewportId) => {
if (viewportId !== `${this.viewportKey}-${this.activeViewportIndex}`) return false
this.loading = false
})
@ -1625,6 +1625,7 @@ export default {
//
async getSegmentationList(SEGMENT = null) {
try {
this.$emit('setToolsPassive')
let data = {
SeriesId: this.series.Id,
VisitTaskId: this.series.TaskInfo.VisitTaskId,

View File

@ -59,10 +59,10 @@
<div v-if="series" class="right-bottom-text">
<div v-show="imageInfo.location">Location: {{
`${Number(imageInfo.location).toFixed(digitPlaces)} mm`
}}</div>
}}</div>
<div v-show="imageInfo.sliceThickness">Slice Thickness: {{
`${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm`
}}</div>
}}</div>
<div v-show="imageInfo.wwwc">WW/WL: {{ imageInfo.wwwc }}</div>
</div>
<div class="orientation-top">
@ -243,7 +243,7 @@ export default {
DicomEvent.$on('renderSegmentation', async (viewportId) => {
// if (this.curSegSeries.Id !== this.series.Id || this.curSegSeries.VisitTaskId !== this.series.VisitTaskId) return false
if (this.viewportId !== viewportId) return false
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.segmentationId, this.segmentIndex, this.renderingEngineId, null, this.actionConfiguration)
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, null, this.actionConfiguration)
})
},
watch: {
@ -674,8 +674,8 @@ export default {
renderingEngine.render()
}, 100)
}
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.segmentationId, this.segmentIndex, this.renderingEngineId, data.segment, this.actionConfiguration)
DicomEvent.$emit('loading', this.viewportId)
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, data.segment, this.actionConfiguration)
DicomEvent.$emit('SegmentationLoading', this.viewportId)
} catch (e) {
console.log(e)
}

View File

@ -341,7 +341,7 @@ function resetViewport(viewportId) {
function changeColor(item, viewportId) {
segmentation.config.color.setSegmentIndexColor(viewportId, item.segmentationId, item.segmentIndex, hex2Rgb(item.color))
}
async function renderSegmentation(series, visitInfo, viewportId, SegmentConfig, segmentationId, segmentIndex, RenderingEngineId, Segment = null, actionConfiguration) {
async function renderSegmentation(series, visitInfo, viewportId, SegmentConfig, RenderingEngineId, Segment = null, actionConfiguration) {
try {
// console.log(segmentation, 'segmentation')
renderingEngineId = RenderingEngineId
@ -352,12 +352,14 @@ async function renderSegmentation(series, visitInfo, viewportId, SegmentConfig,
PageSize: 9999,
PageIndex: 1,
}
let segmentationId = null;
let segmentIndex = null;
let res = await getSegmentationList(data);
if (res.IsSuccess) {
let list = res.Result.CurrentPageData;
for (let i = 0; i < list.length; i++) {
let item = list[i]
if (!segmentationId) segmentationId = item.Id
await createSegmentation(viewportId, series.SeriesInstanceUid, item.Id)
if (item.SEGUrl) await readSegmentation(item.SEGUrl, series, item.Id)
createSegmentationRepresentation(viewportId, item.Id)
@ -375,6 +377,7 @@ async function renderSegmentation(series, visitInfo, viewportId, SegmentConfig,
if (r.IsSuccess) {
let segments = r.Result.CurrentPageData
segments.forEach(s => {
if (!segmentIndex) segmentIndex = s.SegmentNumber
let SegmentJson = s.SegmentJson ? JSON.parse(s.SegmentJson) : {};
segmentation.segmentIndex.setActiveSegmentIndex(s.SegmentationId, s.SegmentNumber);
segmentation.config.color.setSegmentIndexColor(viewportId, s.SegmentationId, s.SegmentNumber, hex2Rgb(s.ColorRgb))
@ -406,7 +409,10 @@ async function renderSegmentation(series, visitInfo, viewportId, SegmentConfig,
// }
// this.getBidirectional(obj.segments, null, false)
// })
selectSegment(viewportId, segmentationId, segmentIndex)
if (segmentationId && segmentIndex) {
selectSegment(viewportId, segmentationId, segmentIndex)
}
if (Segment) {
jumpBidirectional(Segment, viewportId, series.SeriesInstanceUid)
}