|
|
@ -487,10 +487,10 @@ const newStyles = {
|
|
|
|
textBoxLinkLineWidth: '1',
|
|
|
|
textBoxLinkLineWidth: '1',
|
|
|
|
textBoxLinkLineDash: '2,3',
|
|
|
|
textBoxLinkLineDash: '2,3',
|
|
|
|
textBoxShadow: true,
|
|
|
|
textBoxShadow: true,
|
|
|
|
markerSize: '10',
|
|
|
|
markerSize: '10'
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
annotation.config.style.setDefaultToolStyles(newStyles);
|
|
|
|
annotation.config.style.setDefaultToolStyles(newStyles)
|
|
|
|
const { MouseBindings, Events: toolsEvents } = csToolsEnums
|
|
|
|
const { MouseBindings, Events: toolsEvents } = csToolsEnums
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
name: 'ReadPage',
|
|
|
|
name: 'ReadPage',
|
|
|
@ -563,7 +563,8 @@ export default {
|
|
|
|
isClinicalDataFullscreen: false,
|
|
|
|
isClinicalDataFullscreen: false,
|
|
|
|
cdVisitTaskId: '',
|
|
|
|
cdVisitTaskId: '',
|
|
|
|
lastViewportTaskId: '',
|
|
|
|
lastViewportTaskId: '',
|
|
|
|
digitPlaces: 2
|
|
|
|
digitPlaces: 2,
|
|
|
|
|
|
|
|
instanceInfo: {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
computed: {
|
|
|
@ -717,8 +718,8 @@ export default {
|
|
|
|
const res1 = await getReadingVisitStudyList(this.trialId, sujectVisitId, taskId)
|
|
|
|
const res1 = await getReadingVisitStudyList(this.trialId, sujectVisitId, taskId)
|
|
|
|
let keyStudyIndex = -1
|
|
|
|
let keyStudyIndex = -1
|
|
|
|
let keySeriesIndex = -1
|
|
|
|
let keySeriesIndex = -1
|
|
|
|
const arr = res1.Result.filter(i => !i.IsCriticalSequence)
|
|
|
|
// const arr = res1.Result.filter(i => !i.IsCriticalSequence)
|
|
|
|
// const arr = res1.Result
|
|
|
|
const arr = res1.Result
|
|
|
|
arr.forEach((study, studyIndex) => {
|
|
|
|
arr.forEach((study, studyIndex) => {
|
|
|
|
study.SeriesList.forEach((series, seriesIndex) => {
|
|
|
|
study.SeriesList.forEach((series, seriesIndex) => {
|
|
|
|
const imageIds = []
|
|
|
|
const imageIds = []
|
|
|
@ -736,13 +737,14 @@ export default {
|
|
|
|
const nFrames = instance.NumberOfFrames || 0
|
|
|
|
const nFrames = instance.NumberOfFrames || 0
|
|
|
|
if (nFrames === 0) {
|
|
|
|
if (nFrames === 0) {
|
|
|
|
// 单帧
|
|
|
|
// 单帧
|
|
|
|
imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=0&instanceId=${instance.Id}&visitTaskId=${taskId}&idx=${taskIndex}|${studyIndex}|${seriesIndex}`)
|
|
|
|
imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=0&instanceId=${instance.Id}&visitTaskId=${taskId}`)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 多帧
|
|
|
|
// 多帧
|
|
|
|
for (let frameIndex = 0; frameIndex < nFrames; frameIndex++) {
|
|
|
|
for (let frameIndex = 0; frameIndex < nFrames; frameIndex++) {
|
|
|
|
imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=${frameIndex}&instanceId=${instance.Id}&visitTaskId=${taskId}&idx=${taskIndex}|${studyIndex}|${seriesIndex}`)
|
|
|
|
imageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=${frameIndex}&instanceId=${instance.Id}&visitTaskId=${taskId}`)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
this.instanceInfo[instance.Id] = { taskIndex, studyIndex, seriesIndex }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
series.ImageIds = imageIds
|
|
|
|
series.ImageIds = imageIds
|
|
|
@ -759,10 +761,10 @@ export default {
|
|
|
|
keyImages.forEach(instance => {
|
|
|
|
keyImages.forEach(instance => {
|
|
|
|
if (instance.KeyFramesList.length > 0) {
|
|
|
|
if (instance.KeyFramesList.length > 0) {
|
|
|
|
instance.KeyFramesList.map(i => {
|
|
|
|
instance.KeyFramesList.map(i => {
|
|
|
|
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=${i}&instanceId=${instance.Id}&visitTaskId=${taskId}&idx=${taskIndex}|${instance.StudyIndex}|${instance.SeriesIndex}`)
|
|
|
|
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=${i}&instanceId=${instance.Id}&visitTaskId=${taskId}`)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=0&instanceId=${instance.Id}&visitTaskId=${taskId}&idx=${taskIndex}|${instance.StudyIndex}|${instance.SeriesIndex}`)
|
|
|
|
keyImageIds.push(`wadouri:${this.OSSclientConfig.basePath}${instance.Path}?frame=0&instanceId=${instance.Id}&visitTaskId=${taskId}`)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
res1.Result[keyStudyIndex].SeriesList[keySeriesIndex].ImageIds = keyImageIds
|
|
|
|
res1.Result[keyStudyIndex].SeriesList[keySeriesIndex].ImageIds = keyImageIds
|
|
|
@ -777,7 +779,6 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return i
|
|
|
|
return i
|
|
|
|
})
|
|
|
|
})
|
|
|
|
console.log(res1.Result)
|
|
|
|
|
|
|
|
return { studyList: arr, annotations: annotations, annotationUIDs, keyImages }
|
|
|
|
return { studyList: arr, annotations: annotations, annotationUIDs, keyImages }
|
|
|
|
} catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
console.log(e)
|
|
|
|
console.log(e)
|
|
|
@ -977,12 +978,15 @@ export default {
|
|
|
|
const percentComplete = detail.percentComplete
|
|
|
|
const percentComplete = detail.percentComplete
|
|
|
|
const imageId = detail.imageId
|
|
|
|
const imageId = detail.imageId
|
|
|
|
const params = this.getInstanceInfo(imageId)
|
|
|
|
const params = this.getInstanceInfo(imageId)
|
|
|
|
if (!params.hasOwnProperty('idx')) return
|
|
|
|
const instanceId = params.instanceId
|
|
|
|
const indexArr = params.idx.split('|')
|
|
|
|
const idxObj = this.instanceInfo[instanceId]
|
|
|
|
if (indexArr.length < 3) return
|
|
|
|
if (!(idxObj && typeof idxObj === 'object')) return
|
|
|
|
const taskIndex = parseInt(indexArr[0])
|
|
|
|
// if (!params.hasOwnProperty('idx')) return
|
|
|
|
const studyIndex = parseInt(indexArr[1])
|
|
|
|
// const indexArr = params.idx.split('|')
|
|
|
|
const seriesIndex = parseInt(indexArr[2])
|
|
|
|
// if (indexArr.length < 3) return
|
|
|
|
|
|
|
|
const taskIndex = idxObj.taskIndex
|
|
|
|
|
|
|
|
const studyIndex = idxObj.studyIndex
|
|
|
|
|
|
|
|
const seriesIndex = idxObj.seriesIndex
|
|
|
|
const isCriticalSequence = this.visitTaskList[taskIndex].StudyList[studyIndex].IsCriticalSequence
|
|
|
|
const isCriticalSequence = this.visitTaskList[taskIndex].StudyList[studyIndex].IsCriticalSequence
|
|
|
|
const keyImages = this.visitTaskList[taskIndex].KeyImages
|
|
|
|
const keyImages = this.visitTaskList[taskIndex].KeyImages
|
|
|
|
const series = this.visitTaskList[taskIndex].StudyList[studyIndex].SeriesList[seriesIndex]
|
|
|
|
const series = this.visitTaskList[taskIndex].StudyList[studyIndex].SeriesList[seriesIndex]
|
|
|
@ -1061,6 +1065,13 @@ export default {
|
|
|
|
toolsEvents.ANNOTATION_REMOVED,
|
|
|
|
toolsEvents.ANNOTATION_REMOVED,
|
|
|
|
this.annotationRemovedListener
|
|
|
|
this.annotationRemovedListener
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
eventTarget.addEventListener(
|
|
|
|
|
|
|
|
toolsEvents.ANNOTATION_ADDED,
|
|
|
|
|
|
|
|
this.annotationAddedListener
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
annotationAddedListener(e) {
|
|
|
|
|
|
|
|
console.log('annotationAddedListener', e)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
annotationCompletedListener(e) {
|
|
|
|
annotationCompletedListener(e) {
|
|
|
|
console.log('Completed')
|
|
|
|
console.log('Completed')
|
|
|
@ -1689,6 +1700,7 @@ export default {
|
|
|
|
this.sLoading = false
|
|
|
|
this.sLoading = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
this.setToolsPassive()
|
|
|
|
},
|
|
|
|
},
|
|
|
|
async toggleTaskByViewport(obj) {
|
|
|
|
async toggleTaskByViewport(obj) {
|
|
|
|
const i = this.visitTaskList.findIndex(v => v.VisitTaskNum === obj.visitTaskNum)
|
|
|
|
const i = this.visitTaskList.findIndex(v => v.VisitTaskNum === obj.visitTaskNum)
|
|
|
@ -1725,6 +1737,7 @@ export default {
|
|
|
|
this.currentVisitInfo = series.TaskInfo
|
|
|
|
this.currentVisitInfo = series.TaskInfo
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
this.setToolsPassive()
|
|
|
|
},
|
|
|
|
},
|
|
|
|
async activeSeries(obj) {
|
|
|
|
async activeSeries(obj) {
|
|
|
|
this.$refs[`viewport-${this.activeViewportIndex}`][0].setSeriesInfo(obj)
|
|
|
|
this.$refs[`viewport-${this.activeViewportIndex}`][0].setSeriesInfo(obj)
|
|
|
@ -1734,6 +1747,7 @@ export default {
|
|
|
|
this.lastViewportTaskId = obj.TaskInfo.VisitTaskId
|
|
|
|
this.lastViewportTaskId = obj.TaskInfo.VisitTaskId
|
|
|
|
this.currentVisitInfo = obj.TaskInfo
|
|
|
|
this.currentVisitInfo = obj.TaskInfo
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
this.setToolsPassive()
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 激活视口
|
|
|
|
// 激活视口
|
|
|
|
activeViewport(index) {
|
|
|
|
activeViewport(index) {
|
|
|
@ -1851,7 +1865,7 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const imageIds = seriesList[seriesIdx].ImageIds
|
|
|
|
const imageIds = seriesList[seriesIdx].ImageIds
|
|
|
|
const imageIdIdx = imageIds.findIndex(is => is.includes(filterStr))
|
|
|
|
const imageIdIdx = imageIds.findIndex(is => is.includes(filterStr))
|
|
|
|
if (imageIdIdx) {
|
|
|
|
if (imageIdIdx > -1) {
|
|
|
|
obj = Object.assign({}, seriesList[seriesIdx])
|
|
|
|
obj = Object.assign({}, seriesList[seriesIdx])
|
|
|
|
obj.SliceIndex = imageIdIdx
|
|
|
|
obj.SliceIndex = imageIdIdx
|
|
|
|
obj.IsMarked = true
|
|
|
|
obj.IsMarked = true
|
|
|
|