关键序列逻辑更改
continuous-integration/drone/push Build is passing Details

rj
caiyiling 2026-06-18 09:58:04 +08:00
parent 4d16ebb488
commit 8203b3d738
3 changed files with 58 additions and 23 deletions

View File

@ -1404,10 +1404,9 @@ export default {
}, },
async showKeySeriesPanel() { async showKeySeriesPanel() {
this.keySeries = [] this.keySeries = []
const visitTaskId = this.getKeySeriesVisitTaskId()
if (!visitTaskId) return
this.keySeriesLoading = true this.keySeriesLoading = true
const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
if (idx === -1) return
const visitTaskId = this.visitTaskList[idx].VisitTaskId
try { try {
const res = await getMarkList({ visitTaskId }) const res = await getMarkList({ visitTaskId })
if (res && res.Result) { if (res && res.Result) {
@ -1421,16 +1420,14 @@ export default {
}, },
jumpToKeySeries(kf) { jumpToKeySeries(kf) {
this.keySeriesPopoverVisible = false this.keySeriesPopoverVisible = false
const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask) const visitTaskId = this.getKeySeriesVisitTaskId()
if (idx === -1) return
const visitTaskId = this.visitTaskList[idx].VisitTaskId
if (!visitTaskId) return if (!visitTaskId) return
let annotation = {} // let annotation = {}
try { // try {
annotation = kf.MeasureData ? JSON.parse(kf.MeasureData) : {} // annotation = kf.MeasureData ? JSON.parse(kf.MeasureData) : {}
} catch (err) { // } catch (err) {
console.error(err) // console.error(err)
} // }
const series = this.getSeriesInfoByMark(visitTaskId, {lesionName: kf.MarkName}) const series = this.getSeriesInfoByMark(visitTaskId, {lesionName: kf.MarkName})
if (!series) return if (!series) return
this.loadImageStack(series) this.loadImageStack(series)

View File

@ -4298,11 +4298,14 @@ export default {
async showKeySeriesPanel() { async showKeySeriesPanel() {
this.keySeries = [] this.keySeries = []
this.keySeriesLoading = true this.keySeriesLoading = true
try { try {
let res = await getMarkList({ visitTaskId: this.taskInfo.VisitTaskId }) const series = this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series
if (res && res.Result) { const visitTaskId = series?.TaskInfo?.VisitTaskId
this.keySeries = res.Result if (visitTaskId) {
let res = await getMarkList({ visitTaskId: visitTaskId })
if (res && res.Result) {
this.keySeries = res.Result
}
} }
} catch (err) { } catch (err) {
console.error(err) console.error(err)
@ -4311,16 +4314,19 @@ export default {
} }
}, },
jumpToKeySeries(kf) { jumpToKeySeries(kf) {
let tIdx = this.visitTaskList.findIndex(i=> i.VisitTaskId === this.taskInfo.VisitTaskId) const series = this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series
const visitTaskId = series?.TaskInfo?.VisitTaskId
if (!visitTaskId) return
let tIdx = this.visitTaskList.findIndex(i=> i.VisitTaskId === visitTaskId)
if (tIdx < 0) return if (tIdx < 0) return
const task = this.visitTaskList[tIdx] const task = this.visitTaskList[tIdx]
const studyList = task.StudyList const studyList = task.StudyList
const annotation = kf.MeasureData ? JSON.parse(kf.MeasureData) : {} const annotation = kf.MeasureData ? JSON.parse(kf.MeasureData) : {}
let targetSeries = this.getMarkedSeries(studyList, annotation, true) let targetSeries = this.getMarkedSeries(studyList, annotation, true)
if (Object.keys(targetSeries).length === 0) return if (Object.keys(targetSeries).length === 0) return
this.activeTaskId = this.taskInfo.VisitTaskId // this.activeTaskId = this.taskInfo.VisitTaskId
this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(targetSeries, true) this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(targetSeries, true)
this.$refs[this.taskInfo.VisitTaskId][0].setSeriesActive(targetSeries.StudyIndex, targetSeries.SeriesIndex) this.$refs[visitTaskId][0].setSeriesActive(targetSeries.StudyIndex, targetSeries.SeriesIndex)
}, },
showPanel(e, toolName) { showPanel(e, toolName) {
if (toolName === 'layout' && (this.isFusion || this.isMPR)) return false if (toolName === 'layout' && (this.isFusion || this.isMPR)) return false

View File

@ -424,6 +424,30 @@ const {
BidirectionalTool, BidirectionalTool,
// cursors // cursors
} = cornerstoneTools } = cornerstoneTools
const newStyles = {
global: {
color: 'rgb(255, 0, 0)',
colorHighlighted: 'rgb(0, 255, 0)',
colorSelected: 'rgb(255, 0, 0)',
colorLocked: 'rgb(255, 0, 0)',
lineWidth: '1',
lineDash: '',
shadow: true,
textBoxVisibility: true,
textBoxFontFamily: 'Helvetica Neue, Helvetica, Arial, sans-serif',
textBoxFontSize: '14px',
textBoxColor: 'rgb(255, 0, 0)',
textBoxColorHighlighted: 'rgb(0, 255, 0)',
textBoxColorSelected: 'rgb(255, 0, 0)',
textBoxColorLocked: 'rgb(255, 0, 0)',
textBoxBackground: '',
textBoxLinkLineWidth: '1',
textBoxLinkLineDash: '2,3',
textBoxShadow: true,
markerSize: '10'
}
}
cornerstoneTools.annotation.config.style.setDefaultToolStyles(newStyles)
const { MouseBindings, Events: toolsEvents } = csToolsEnums const { MouseBindings, Events: toolsEvents } = csToolsEnums
export default { export default {
name: 'ImageViewer', name: 'ImageViewer',
@ -667,10 +691,15 @@ export default {
this.keySeriesLoading = true this.keySeriesLoading = true
try { try {
const res = await getNoneDicomMarkList({ visitTaskId: this.taskInfo.VisitTaskId }) const i = this.viewportInfos.findIndex(i => i.index === this.activeCanvasIndex)
if (res && res.Result) { if (i > -1) {
this.keySeries = res.Result const visitTaskId = this.viewportInfos[i].taskInfo.VisitTaskId
const res = await getNoneDicomMarkList({ visitTaskId: visitTaskId })
if (res && res.Result) {
this.keySeries = res.Result
}
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err)
} finally { } finally {
@ -678,10 +707,13 @@ export default {
} }
}, },
jumpToKeySeries(kf) { jumpToKeySeries(kf) {
const i = this.viewportInfos.findIndex(i => i.index === this.activeCanvasIndex)
if (i === -1) return
const visitTaskId = this.viewportInfos[i].taskInfo.VisitTaskId
this.$emit('selectFile', { this.$emit('selectFile', {
path: kf.Path, path: kf.Path,
studyId: kf.StudyId, studyId: kf.StudyId,
visitTaskId: this.taskInfo.VisitTaskId visitTaskId: visitTaskId
}) })
}, },
// //