From 0cd07b76f8b6d5c3e5ea170471ca2310f9a3adf2 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Fri, 14 Feb 2025 14:30:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E5=B8=A7=E5=AF=B9=E9=BD=90bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dicom-show/dicom-study.vue | 2 +- src/views/dicom-show/dicom-visit.vue | 4 +-- .../reading/dicoms/components/DicomViewer.vue | 13 ++++++++- .../reading/dicoms/components/ReadPage.vue | 13 ++++++++- .../reading/dicoms/components/StudyList.vue | 26 +++++++++++++++-- .../dicoms/customize/CustomizeDicomViewer.vue | 17 +++++++++-- .../dicoms/customize/CustomizeReadPage.vue | 13 ++++++++- .../dicoms/customize/CustomizeStudyList.vue | 28 +++++++++++++++++-- 8 files changed, 102 insertions(+), 14 deletions(-) diff --git a/src/views/dicom-show/dicom-study.vue b/src/views/dicom-show/dicom-study.vue index d3e35ba3..104ccbbc 100644 --- a/src/views/dicom-show/dicom-study.vue +++ b/src/views/dicom-show/dicom-study.vue @@ -53,7 +53,7 @@
diff --git a/src/views/dicom-show/dicom-visit.vue b/src/views/dicom-show/dicom-visit.vue index 556a0e66..710c2e0d 100644 --- a/src/views/dicom-show/dicom-visit.vue +++ b/src/views/dicom-show/dicom-visit.vue @@ -60,7 +60,7 @@
@@ -218,7 +218,7 @@
#{{ seriesItem.seriesNumber }}
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue index ae41e258..2e39d650 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -1780,7 +1780,18 @@ export default { if (seriesIdx > -1) { var series = studyList[studyIdx].SeriesList[seriesIdx] const frame = this.visitTaskList[index].MeasureData[idx].MeasureData.frame - const filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}` + // const filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}` + let n = series.instanceInfoList.findIndex(k=>k.Id === instanceId) + let filterStr = '' + if (n > -1 && series.isExistMutiFrames) { + if (series.instanceInfoList[n].NumberOfFrames > 0) { + filterStr = `frame=${frame}&instanceId=${instanceId}` + } else { + filterStr = `instanceId=${instanceId}` + } + } else { + filterStr = `instanceId=${instanceId}` + } var instanceIdx = series.imageIds.findIndex(imageId => imageId.includes(filterStr)) if (instanceIdx > -1) { series.imageIdIndex = instanceIdx diff --git a/src/views/trials/trials-panel/reading/dicoms/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms/components/ReadPage.vue index a99bb0db..30453284 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/ReadPage.vue @@ -496,7 +496,18 @@ export default { var series = studyList[studyIdx].SeriesList[seriesIdx] // var instanceIdx = series.instanceList.findIndex(imageId => !!~imageId.indexOf(instanceId)) const frame = this.visitTaskList[index].MeasureData[idx].MeasureData.frame - const filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}` + // const filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}` + let n = series.instanceInfoList.findIndex(k=>k.Id === instanceId) + let filterStr = '' + if (n > -1 && series.isExistMutiFrames) { + if (series.instanceInfoList[n].NumberOfFrames > 0) { + filterStr = `frame=${frame}&instanceId=${instanceId}` + } else { + filterStr = `instanceId=${instanceId}` + } + } else { + filterStr = `instanceId=${instanceId}` + } var instanceIdx = series.imageIds.findIndex(imageId => imageId.includes(filterStr)) if (instanceIdx > -1) { series.imageIdIndex = instanceIdx diff --git a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue index 15af0d20..e32ab737 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue @@ -477,7 +477,18 @@ export default { const srIdx = seriesList.findIndex(sr => sr.seriesId === measureDatas[i].SeriesId) // const instanceList = seriesList[srIdx].instanceList const imageIds = seriesList[srIdx].imageIds - const filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[i].MeasureData.frame}&instanceId=${measureDatas[i].InstanceId}` : `instanceId=${measureDatas[i].InstanceId}` + // const filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[i].MeasureData.frame}&instanceId=${measureDatas[i].InstanceId}` : `instanceId=${measureDatas[i].InstanceId}` + let instanceIndex = seriesList[srIdx].instanceInfoList.findIndex(k=>k.Id === measureDatas[i].InstanceId) + let filterStr = '' + if (instanceIndex > -1 && seriesList[srIdx].isExistMutiFrames) { + if (seriesList[srIdx].instanceInfoList[instanceIndex].NumberOfFrames > 0) { + filterStr = `frame=${measureDatas[i].MeasureData.frame}&instanceId=${measureDatas[i].InstanceId}` + } else { + filterStr = `instanceId=${measureDatas[i].InstanceId}` + } + } else { + filterStr = `instanceId=${measureDatas[i].InstanceId}` + } const isIdx = imageIds.findIndex(is => is.includes(filterStr)) const series = seriesList[srIdx] series.imageIdIndex = isIdx @@ -550,7 +561,18 @@ export default { const srIdx = seriesList.findIndex(sr => sr.seriesId === measureDatas[mIdx].SeriesId) // const instanceList = seriesList[srIdx].imageIds const imageIds = seriesList[srIdx].imageIds - const filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[mIdx].MeasureData.frame}&instanceId=${measureDatas[mIdx].InstanceId}` : `instanceId=${measureDatas[mIdx].InstanceId}` + // const filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[mIdx].MeasureData.frame}&instanceId=${measureDatas[mIdx].InstanceId}` : `instanceId=${measureDatas[mIdx].InstanceId}` + let instanceIndex = seriesList[srIdx].instanceInfoList.findIndex(i=>i.Id === measureDatas[mIdx].InstanceId) + let filterStr = '' + if (instanceIndex > -1 && seriesList[srIdx].isExistMutiFrames) { + if (seriesList[srIdx].instanceInfoList[instanceIndex].NumberOfFrames > 0) { + filterStr = `frame=${measureDatas[mIdx].MeasureData.frame}&instanceId=${measureDatas[mIdx].InstanceId}` + } else { + filterStr = `instanceId=${measureDatas[mIdx].InstanceId}` + } + } else { + filterStr = `instanceId=${measureDatas[mIdx].InstanceId}` + } const isIdx = imageIds.findIndex(is => is.includes(filterStr)) const series = seriesList[srIdx] series.imageIdIndex = isIdx diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue index c4661dcd..f9c1b0c4 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue @@ -1736,9 +1736,20 @@ export default { var series = studyList[studyIdx].SeriesList[seriesIdx] let frame = this.visitTaskList[index].MeasureData[idx].MeasureData.frame - let filterStr = series.isExistMutiFrames - ? `frame=${frame}&instanceId=${instanceId}` - : `instanceId=${instanceId}` + // let filterStr = series.isExistMutiFrames + // ? `frame=${frame}&instanceId=${instanceId}` + // : `instanceId=${instanceId}` + let filterStr = '' + let n = series.instanceInfoList.findIndex(k=>k.Id === instanceId) + if (n > -1 && series.isExistMutiFrames) { + if (series.instanceInfoList[n].NumberOfFrames > 0) { + filterStr = `frame=${frame}&instanceId=${instanceId}` + } else { + filterStr = `instanceId=${instanceId}` + } + } else { + filterStr = `instanceId=${instanceId}` + } var instanceIdx = series.imageIds.findIndex((imageId) => imageId.includes(filterStr) ) diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeReadPage.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeReadPage.vue index d6f7c5c1..f1a60316 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeReadPage.vue @@ -635,7 +635,18 @@ export default { // (imageId) => !!~imageId.indexOf(instanceId) // ); let frame = this.visitTaskList[index].MeasureData[idx].MeasureData.frame - let filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}` + // let filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}` + let n = series.instanceInfoList.findIndex(k=>k.Id === instanceId) + let filterStr = '' + if (n > -1 && series.isExistMutiFrames) { + if (series.instanceInfoList[n].NumberOfFrames > 0) { + filterStr = `frame=${frame}&instanceId=${instanceId}` + } else { + filterStr = `instanceId=${instanceId}` + } + } else { + filterStr = `instanceId=${instanceId}` + } var instanceIdx = series.imageIds.findIndex(imageId => imageId.includes(filterStr)) if (instanceIdx > -1) { series.imageIdIndex = instanceIdx; diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue index 3b94abff..81ca6bee 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeStudyList.vue @@ -451,7 +451,18 @@ export default { // const instanceList = seriesList[srIdx].instanceList // const isIdx = instanceList.findIndex(is => is.includes(measureDatas[i].InstanceId)) const imageIds = seriesList[srIdx].imageIds - let filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[i].MeasureData.frame}&instanceId=${measureDatas[i].InstanceId}` : `instanceId=${measureDatas[i].InstanceId}` + // let filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[i].MeasureData.frame}&instanceId=${measureDatas[i].InstanceId}` : `instanceId=${measureDatas[i].InstanceId}` + let instanceIndex = seriesList[srIdx].instanceInfoList.findIndex(k=>k.Id === measureDatas[i].InstanceId) + let filterStr = '' + if (instanceIndex > -1 && seriesList[srIdx].isExistMutiFrames) { + if (seriesList[srIdx].instanceInfoList[instanceIndex].NumberOfFrames > 0) { + filterStr = `frame=${measureDatas[i].MeasureData.frame}&instanceId=${measureDatas[i].InstanceId}` + } else { + filterStr = `instanceId=${measureDatas[i].InstanceId}` + } + } else { + filterStr = `instanceId=${measureDatas[i].InstanceId}` + } const isIdx = imageIds.findIndex(is => is.includes(filterStr)) const series = seriesList[srIdx] series.imageIdIndex = isIdx @@ -523,9 +534,20 @@ export default { const seriesList = studyList[sdIndx].SeriesList const srIdx = seriesList.findIndex(sr => sr.seriesId === measureDatas[mIdx].SeriesId) // const instanceList = seriesList[srIdx].instanceList - // const isIdx = instanceList.findIndex(is => is.includes(measureDatas[mIdx].InstanceId)) + // const isIdx = instanceList.findIndex(is => is.includes(measureDatas[mIdx].InstanceId)) const imageIds = seriesList[srIdx].imageIds - let filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[mIdx].MeasureData.frame}&instanceId=${measureDatas[mIdx].InstanceId}` : `instanceId=${measureDatas[mIdx].InstanceId}` + let instanceIndex = seriesList[srIdx].instanceInfoList.findIndex(i=>i.Id === measureDatas[mIdx].InstanceId) + let filterStr = '' + if (instanceIndex > -1 && seriesList[srIdx].isExistMutiFrames) { + if (seriesList[srIdx].instanceInfoList[instanceIndex].NumberOfFrames > 0) { + filterStr = `frame=${measureDatas[mIdx].MeasureData.frame}&instanceId=${measureDatas[mIdx].InstanceId}` + } else { + filterStr = `instanceId=${measureDatas[mIdx].InstanceId}` + } + } else { + filterStr = `instanceId=${measureDatas[mIdx].InstanceId}` + } + // let filterStr = seriesList[srIdx].isExistMutiFrames ? `frame=${measureDatas[mIdx].MeasureData.frame}&instanceId=${measureDatas[mIdx].InstanceId}` : `instanceId=${measureDatas[mIdx].InstanceId}` const isIdx = imageIds.findIndex(is => is.includes(filterStr)) const series = seriesList[srIdx] series.imageIdIndex = isIdx