多帧图像保存病灶更改及关键帧渲染更改
continuous-integration/drone/push Build is passing Details

uat
caiyiling 2025-04-25 15:02:13 +08:00
parent a6b5d0b196
commit 0a428bf954
5 changed files with 93 additions and 85 deletions

View File

@ -781,6 +781,7 @@ export default {
},
//
async loadTaskDetails(taskInfo, taskIndex) {
return new Promise(async (resolve, reject)=>{
try {
const sujectVisitId = taskInfo.VisitId
const taskId = taskInfo.VisitTaskId
@ -789,7 +790,6 @@ export default {
const res1 = await getReadingVisitStudyList(this.trialId, sujectVisitId, taskId)
let keyStudyIndex = -1
let keySeriesIndex = -1
// const arr = [res1.Result[0]]
const arr = res1.Result
arr.forEach((study, studyIndex) => {
study.SeriesList.forEach((series, seriesIndex) => {
@ -809,7 +809,7 @@ export default {
const nFrames = instance.NumberOfFrames || 0
if (nFrames === 0) {
//
stack.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}`)
stack.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}`)
} else {
//
for (let i = 0; i < nFrames; i++) {
@ -833,16 +833,19 @@ export default {
})
if (keyStudyIndex > -1 && keySeriesIndex > -1 && keyImages.length > 0) {
const keyImageIds = []
const keyStack = []
keyImages.forEach(instance => {
if (instance.KeyFramesList.length > 0) {
instance.KeyFramesList.map(i => {
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}&frame=${i}`)
keyStack.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}&frame=${i}`)
})
} else {
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}`)
keyStack.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}`)
}
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}`)
})
res1.Result[keyStudyIndex].SeriesList[keySeriesIndex].ImageIds = keyImageIds
res1.Result[keyStudyIndex].SeriesList[keySeriesIndex].Stack = keyStack
}
//
let res2 = null
@ -862,10 +865,14 @@ export default {
}
return i
})
return { studyList: arr, annotations: annotations, annotationUIDs, keyImages }
// return { studyList: arr, annotations: annotations, annotationUIDs, keyImages }
resolve({ studyList: arr, annotations: annotations, annotationUIDs, keyImages })
} catch (e) {
console.log(e)
reject(e)
}
})
},
//
setInitSeries() {

View File

@ -1278,7 +1278,7 @@ export default {
studyId: measureData ? measureData.studyId : '',
seriesId: measureData ? measureData.seriesId : '',
instanceId: measureData ? measureData.instanceId : '',
numberOfFrames: measureData ? measureData.frame : null,
numberOfFrames: measureData ? measureData.numberOfFrames : null,
picturePath: picturePath,
organInfoId: innerForm.OrganInfoId,
markTool: measureData ? measureData.markTool : '',

View File

@ -190,15 +190,15 @@ export default {
const stack = []
if (nFrames === 0) {
//
stack.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}`)
stack.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}`)
} else {
//
for (let i = 0; i < nFrames; i++) {
const newImageId = `wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}&frame=${i + 1}`
const newImageId = `wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}&frame=${i + 1}`
stack.push(newImageId)
}
}
imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}`)
imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?visitTaskId=${taskId}&instanceId=${instance.Id}`)
obj.Stack = stack
obj.ImageIds = imageIds
obj.SliceIndex = 0

View File

@ -354,7 +354,8 @@ export default {
if (this.series && obj.Id === this.series.Id && obj.Description === this.series.Description && !isLocate) {
obj.SliceIndex = this.series.SliceIndex
}
if (isLocate && obj.SliceIndex === this.series.SliceIndex) return
// if (isLocate && obj.SliceIndex === this.series.SliceIndex) return
if (this.series?.Stack && obj.Stack[obj.SliceIndex] === this.series.Stack[this.series.SliceIndex]) return
this.series = { ...obj }
const renderingEngine = getRenderingEngine(this.renderingEngineId)
const viewport = renderingEngine.getViewport(this.viewportId)

View File

@ -1364,7 +1364,7 @@ export default {
studyId: measureData ? measureData.studyId : '',
seriesId: measureData ? measureData.seriesId : '',
instanceId: measureData ? measureData.instanceId : '',
numberOfFrames: measureData ? measureData.frame : null,
numberOfFrames: measureData ? measureData.numberOfFrames : null,
picturePath: picturePath,
organInfoId: innerForm.OrganInfoId,
markTool: measureData ? measureData.markTool : '',