diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue index 7c432635..dca89500 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -737,16 +737,18 @@ export default { const nFrames = instance.NumberOfFrames || 0 if (nFrames === 0) { // 单帧 - imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=0&instanceId=${instance.Id}&visitTaskId=${taskId}`) + imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}`) } else { // 多帧 - for (let frameIndex = 0; frameIndex < nFrames; frameIndex++) { - imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=${frameIndex}&instanceId=${instance.Id}&visitTaskId=${taskId}`) + for (let i = 0; i < nFrames; i++) { + const newImageId = `wadouri:${this.OSSclientConfig.basePath}${instance.Path}?instanceId=${instance.Id}&visitTaskId=${taskId}&frame=${i + 1}`; + imageIds.push(newImageId); } } this.instanceInfo[instance.Id] = { taskIndex, studyIndex, seriesIndex } } }) + series.ImageIds = imageIds series.SliceIndex = 0 series.LoadedImageCount = 0 @@ -916,7 +918,7 @@ export default { toolGroup.addTool(ArrowAnnotateTool.toolName, { arrowHeadStyle: 'standard', changeTextCallback: async(data, eventData, doneChangingTextCallback) => { - return doneChangingTextCallback(data.label) + return doneChangingTextCallback(data.text) }, getTextCallback: async(doneChangingTextCallback) => { return doneChangingTextCallback('_') @@ -981,6 +983,9 @@ export default { const instanceId = params.instanceId const idxObj = this.instanceInfo[instanceId] if (!(idxObj && typeof idxObj === 'object')) return + if (!(this.instanceInfo[instanceId].hasOwnProperty('percentComplete'))) { + this.instanceInfo[instanceId].percentComplete = 0 + } // if (!params.hasOwnProperty('idx')) return // const indexArr = params.idx.split('|') // if (indexArr.length < 3) return @@ -990,27 +995,26 @@ export default { const isCriticalSequence = this.visitTaskList[taskIndex].StudyList[studyIndex].IsCriticalSequence const keyImages = this.visitTaskList[taskIndex].KeyImages const series = this.visitTaskList[taskIndex].StudyList[studyIndex].SeriesList[seriesIndex] - this.setImageLoadedProgress(series, percentComplete) + this.setImageLoadedProgress(series, percentComplete, instanceId) if (!isCriticalSequence && series.IsBeMark && keyImages.length > 0) { const i = keyImages.findIndex(i => i.Id === params.instanceId) if (i === -1) return const keyStudyIndex = parseInt(keyImages[i].KeyStudyIndex) const keySeriesIndex = parseInt(keyImages[i].KeySeriesIndex) const keySeries = this.visitTaskList[taskIndex].StudyList[keyStudyIndex].SeriesList[keySeriesIndex] - this.setImageLoadedProgress(keySeries, percentComplete) + this.setImageLoadedProgress(keySeries, percentComplete, instanceId) } }, // 设置图像下载进度信息 - setImageLoadedProgress(series, percentComplete) { - const instanceCount = series.InstanceCount - let loadedImageProgress = series.LoadedImageProgress + setImageLoadedProgress(series, percentComplete, instanceId) { let loadedImageCount = series.LoadedImageCount if (percentComplete === 100) { ++loadedImageCount this.$set(series, 'LoadedImageCount', loadedImageCount) } - loadedImageProgress = (loadedImageProgress * instanceCount + percentComplete) / instanceCount - this.$set(series, 'LoadedImageProgress', loadedImageProgress) + let newLoadedImageProgress = series.LoadedImageProgress - this.instanceInfo[instanceId].percentComplete + percentComplete + this.instanceInfo[instanceId].percentComplete = percentComplete + this.$set(series, 'LoadedImageProgress', newLoadedImageProgress) }, addHistoryAnnotations(taskId) { // if (this.renderedTaskIds.includes(taskId)) return @@ -1098,7 +1102,7 @@ export default { annotation.studyId = series.StudyId annotation.seriesId = series.Id annotation.instanceId = params.instanceId - annotation.numberOfFrames = isNaN(parseInt(params.frame)) ? 0 : parseInt(params.frame) + annotation.numberOfFrames = isNaN(parseInt(params.frame)) ? null : parseInt(params.frame) annotation.markTool = annotation.metadata.toolName this.$refs['ecrf'].setAnnotation({ annotation, toolName: annotation.metadata.toolName }) } @@ -2082,7 +2086,7 @@ export default { params[key] = value } if (isNaN(params.frame)) { - params.frame = 0 + params.frame = null } return params }, diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/Recist/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/Recist/QuestionList.vue index f2058500..44082087 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/Recist/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/Recist/QuestionList.vue @@ -1224,7 +1224,7 @@ export default { studyId: measureData ? measureData.studyId : '', seriesId: measureData ? measureData.seriesId : '', instanceId: measureData ? measureData.instanceId : '', - numberOfFrames: measureData ? measureData.frame : 0, + numberOfFrames: measureData ? measureData.frame : null, picturePath: picturePath, organInfoId: innerForm.OrganInfoId, markTool: measureData ? measureData.markTool : '', diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue index 0b3ab6a2..9ebbed55 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/StudyList.vue @@ -85,9 +85,9 @@ -
+
diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue index ad51249d..fd227e42 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue @@ -1248,7 +1248,7 @@ export default { studyId: measureData ? measureData.studyId : '', seriesId: measureData ? measureData.seriesId : '', instanceId: measureData ? measureData.instanceId : '', - numberOfFrames: measureData ? measureData.frame : 0, + numberOfFrames: measureData ? measureData.frame : null, picturePath: picturePath, organInfoId: innerForm.OrganInfoId, markTool: measureData ? measureData.markTool : '',