1
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
f1b816fd85
commit
3f63c126ff
|
@ -1,6 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div v-loading="loading" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading"
|
<div
|
||||||
element-loading-background="rgba(0, 0, 0, 0.8)" class="read-page-container">
|
v-loading="loading"
|
||||||
|
:element-loading-text="loadingText"
|
||||||
|
element-loading-spinner="el-icon-loading"
|
||||||
|
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||||
|
class="read-page-container"
|
||||||
|
>
|
||||||
<!-- 检查列表 -->
|
<!-- 检查列表 -->
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<div class="task-container">
|
<div class="task-container">
|
||||||
|
@ -200,7 +205,7 @@
|
||||||
<svg-icon v-else icon-class="fitToImage" class="svg-icon" />
|
<svg-icon v-else icon-class="fitToImage" class="svg-icon" />
|
||||||
</div>
|
</div>
|
||||||
<!--融合-->
|
<!--融合-->
|
||||||
<div class="tool-item" :title="$t('trials:lugano:button:fusion')" @click.prevent="openFusion" v-if="readingTool === 2">
|
<div v-if="readingTool === 2" class="tool-item" :title="$t('trials:lugano:button:fusion')" @click.prevent="openFusion">
|
||||||
<svg-icon icon-class="fusion" class="svg-icon" />
|
<svg-icon icon-class="fusion" class="svg-icon" />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
@ -279,9 +284,9 @@
|
||||||
<div
|
<div
|
||||||
v-if="criterionType === 0"
|
v-if="criterionType === 0"
|
||||||
:title="$t('trials:reading:button:more')"
|
:title="$t('trials:reading:button:more')"
|
||||||
|
:class="['tool-item', readingTaskState === 2 ? 'tool-disabled' : '']"
|
||||||
@click.stop="showPanel($event)"
|
@click.stop="showPanel($event)"
|
||||||
@mouseleave="toolMouseout"
|
@mouseleave="toolMouseout"
|
||||||
:class="['tool-item', readingTaskState === 2 ? 'tool-disabled' : '']"
|
|
||||||
>
|
>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<div
|
<div
|
||||||
|
@ -292,10 +297,10 @@
|
||||||
<i class="el-icon-arrow-down" style="color:#fff;" />
|
<i class="el-icon-arrow-down" style="color:#fff;" />
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-content">
|
<div class="dropdown-content">
|
||||||
<ul style="width:100px;" v-if="readingTaskState < 2">
|
<ul v-if="readingTaskState < 2" style="width:100px;">
|
||||||
<li v-for="i in customizeStandards" :key="i.toolName" style="text-align:left;">
|
<li v-for="i in customizeStandards" :key="i.toolName" style="text-align:left;">
|
||||||
<a href="#" @click.prevent="setMoreToolActive(i.toolName)">
|
<a href="#" @click.prevent="setMoreToolActive(i.toolName)">
|
||||||
<svg-icon :icon-class="i.icon" class="svg-icon" style="margin-right: 5px;"/>
|
<svg-icon :icon-class="i.icon" class="svg-icon" style="margin-right: 5px;" />
|
||||||
{{ $t(i.i18nKey) }}
|
{{ $t(i.i18nKey) }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -304,9 +309,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 伪彩 -->
|
<!-- 伪彩 -->
|
||||||
<template v-if="readingTool === 2">
|
<template v-if="readingTool === 2">
|
||||||
<colorMap v-show="isFusion" ref="colorMap" @setColorMap="setColorMap" @voiChange="voiChange" />
|
<colorMap v-show="isFusion" ref="colorMap" @setColorMap="setColorMap" @voiChange="voiChange" />
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
@ -338,7 +343,7 @@
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<!-- viewports -->
|
<!-- viewports -->
|
||||||
<div class="viewports-wrapper">
|
<div class="viewports-wrapper">
|
||||||
<div ref="container" class="grid-container" >
|
<div ref="container" class="grid-container">
|
||||||
<div :class="[ 'viewports-box', isFusion ? 'viewports-box-down' : '' ]" :style="gridStyle">
|
<div :class="[ 'viewports-box', isFusion ? 'viewports-box-down' : '' ]" :style="gridStyle">
|
||||||
<div
|
<div
|
||||||
v-for="(v, index) in cellsMax"
|
v-for="(v, index) in cellsMax"
|
||||||
|
@ -362,7 +367,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div :class="[ 'viewports-box', !isFusion ? 'viewports-box-down' : '' ]" v-if="readingTool === 2" :style="gridStyle">
|
<div v-if="readingTool === 2" :class="[ 'viewports-box', !isFusion ? 'viewports-box-down' : '' ]" :style="gridStyle">
|
||||||
<div
|
<div
|
||||||
v-for="(v, index) in cellsMax"
|
v-for="(v, index) in cellsMax"
|
||||||
v-show="index < cells.length"
|
v-show="index < cells.length"
|
||||||
|
@ -523,9 +528,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog :visible.sync="fusionVisible" :close-on-click-modal="false" :title="$t('trials:lugano:button:record')"
|
<el-dialog
|
||||||
width="850px" >
|
:visible.sync="fusionVisible"
|
||||||
<FusionForm v-if="fusionVisible" :activeTaskIndex="activeTaskIndex" :taskList="visitTaskList" @close="closeFusion" @fusion="handleFusion" />
|
:close-on-click-modal="false"
|
||||||
|
:title="$t('trials:lugano:button:record')"
|
||||||
|
width="850px"
|
||||||
|
>
|
||||||
|
<FusionForm v-if="fusionVisible" :active-task-index="activeTaskIndex" :task-list="visitTaskList" @close="closeFusion" @fusion="handleFusion" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -591,7 +600,7 @@ const {
|
||||||
synchronizers
|
synchronizers
|
||||||
// cursors
|
// cursors
|
||||||
} = cornerstoneTools
|
} = cornerstoneTools
|
||||||
const { createCameraPositionSynchronizer, createVOISynchronizer } = synchronizers;
|
const { createCameraPositionSynchronizer, createVOISynchronizer } = synchronizers
|
||||||
const newStyles = {
|
const newStyles = {
|
||||||
global: {
|
global: {
|
||||||
color: 'rgb(255, 0, 0)',
|
color: 'rgb(255, 0, 0)',
|
||||||
|
@ -619,12 +628,6 @@ annotation.config.style.setDefaultToolStyles(newStyles)
|
||||||
const { MouseBindings, Events: toolsEvents } = csToolsEnums
|
const { MouseBindings, Events: toolsEvents } = csToolsEnums
|
||||||
export default {
|
export default {
|
||||||
name: 'ReadPage',
|
name: 'ReadPage',
|
||||||
props: {
|
|
||||||
readingTool: {
|
|
||||||
type: Number,
|
|
||||||
default: 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
components: {
|
components: {
|
||||||
StudyList,
|
StudyList,
|
||||||
Viewport,
|
Viewport,
|
||||||
|
@ -641,6 +644,12 @@ export default {
|
||||||
FusionForm,
|
FusionForm,
|
||||||
colorMap
|
colorMap
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
readingTool: {
|
||||||
|
type: Number,
|
||||||
|
default: 2
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
|
@ -710,7 +719,7 @@ export default {
|
||||||
studyList: [],
|
studyList: [],
|
||||||
volumeData: {},
|
volumeData: {},
|
||||||
fusionSerieId: {},
|
fusionSerieId: {},
|
||||||
loadingText: null,
|
loadingText: null
|
||||||
// resetAnnotation: false , // 是否初始化标记 (融合时使用)
|
// resetAnnotation: false , // 是否初始化标记 (融合时使用)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -794,7 +803,7 @@ export default {
|
||||||
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
|
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
|
||||||
if (this.criterionType === 0) {
|
if (this.criterionType === 0) {
|
||||||
this.tools = getCustomizeStandardsTools(this.taskInfo.ReadingToolList)
|
this.tools = getCustomizeStandardsTools(this.taskInfo.ReadingToolList)
|
||||||
let toolNames = this.tools.map(i=>i.toolName)
|
const toolNames = this.tools.map(i => i.toolName)
|
||||||
this.customizeStandards = config.customizeStandards.filter(item => !toolNames.includes(item.toolName))
|
this.customizeStandards = config.customizeStandards.filter(item => !toolNames.includes(item.toolName))
|
||||||
} else {
|
} else {
|
||||||
this.tools = getTools(this.criterionType)
|
this.tools = getTools(this.criterionType)
|
||||||
|
@ -1063,13 +1072,13 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
let viewportIds = ['viewport-0', 'viewport-1', 'viewport-2', 'viewport-3']
|
let viewportIds = ['viewport-0', 'viewport-1', 'viewport-2', 'viewport-3']
|
||||||
let fusionViewportIds = ["viewport-fusion-0", "viewport-fusion-1", "viewport-fusion-2", "viewport-fusion-3"]
|
const fusionViewportIds = ['viewport-fusion-0', 'viewport-fusion-1', 'viewport-fusion-2', 'viewport-fusion-3']
|
||||||
if(this.readingTool === 2){
|
if (this.readingTool === 2) {
|
||||||
const fusionElement1 = this.$refs['viewport-fusion-0'][0].$el
|
const fusionElement1 = this.$refs['viewport-fusion-0'][0].$el
|
||||||
const fusionElement2 = this.$refs['viewport-fusion-1'][0].$el
|
const fusionElement2 = this.$refs['viewport-fusion-1'][0].$el
|
||||||
const fusionElement3 = this.$refs['viewport-fusion-2'][0].$el
|
const fusionElement3 = this.$refs['viewport-fusion-2'][0].$el
|
||||||
const fusionElement4 = this.$refs['viewport-fusion-3'][0].$el
|
const fusionElement4 = this.$refs['viewport-fusion-3'][0].$el
|
||||||
let arr = [
|
const arr = [
|
||||||
{
|
{
|
||||||
viewportId: 'viewport-fusion-0',
|
viewportId: 'viewport-fusion-0',
|
||||||
type: ViewportType.ORTHOGRAPHIC,
|
type: ViewportType.ORTHOGRAPHIC,
|
||||||
|
@ -1105,7 +1114,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
viewportInputArray = [ ...viewportInputArray, ...arr ]
|
viewportInputArray = [...viewportInputArray, ...arr]
|
||||||
viewportIds = viewportIds.concat(fusionViewportIds)
|
viewportIds = viewportIds.concat(fusionViewportIds)
|
||||||
}
|
}
|
||||||
renderingEngine.setViewports(viewportInputArray)
|
renderingEngine.setViewports(viewportInputArray)
|
||||||
|
@ -1171,28 +1180,28 @@ export default {
|
||||||
toolGroup.addTool(CircleROITool.toolName, {
|
toolGroup.addTool(CircleROITool.toolName, {
|
||||||
getTextLines: this.getCircleROIToolTextLines
|
getTextLines: this.getCircleROIToolTextLines
|
||||||
})
|
})
|
||||||
if(toolGroupId === 'viewport-fusion-3'){
|
if (toolGroupId === 'viewport-fusion-3') {
|
||||||
toolGroup.addTool(VolumeRotateTool.toolName);
|
toolGroup.addTool(VolumeRotateTool.toolName)
|
||||||
toolGroup.setToolActive(VolumeRotateTool.toolName, {
|
toolGroup.setToolActive(VolumeRotateTool.toolName, {
|
||||||
bindings: [
|
bindings: [
|
||||||
{
|
{
|
||||||
mouseButton: MouseBindings.Wheel, // mouse wheel
|
mouseButton: MouseBindings.Wheel // mouse wheel
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
});
|
})
|
||||||
toolGroup.addTool(MIPJumpToClickTool.toolName, {
|
toolGroup.addTool(MIPJumpToClickTool.toolName, {
|
||||||
targetViewportIds: fusionViewportIds,
|
targetViewportIds: fusionViewportIds
|
||||||
});
|
})
|
||||||
|
|
||||||
// Set the initial state of the tools, here we set one tool active on left click.
|
// Set the initial state of the tools, here we set one tool active on left click.
|
||||||
// This means left click will draw that tool.
|
// This means left click will draw that tool.
|
||||||
toolGroup.setToolActive(MIPJumpToClickTool.toolName, {
|
toolGroup.setToolActive(MIPJumpToClickTool.toolName, {
|
||||||
bindings: [
|
bindings: [
|
||||||
{
|
{
|
||||||
mouseButton: MouseBindings.Primary, // Left Click
|
mouseButton: MouseBindings.Primary // Left Click
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
toolGroup.setToolActive(StackScrollTool.toolName, {
|
toolGroup.setToolActive(StackScrollTool.toolName, {
|
||||||
bindings: [{ mouseButton: MouseBindings.Wheel }]
|
bindings: [{ mouseButton: MouseBindings.Wheel }]
|
||||||
|
@ -1230,7 +1239,7 @@ export default {
|
||||||
|
|
||||||
eventTarget.addEventListener('cornerstoneimageloadprogress', this.imageLoadProgress)
|
eventTarget.addEventListener('cornerstoneimageloadprogress', this.imageLoadProgress)
|
||||||
console.log(Events, toolsEvents)
|
console.log(Events, toolsEvents)
|
||||||
if ( this.readingTool === 2 ) {
|
if (this.readingTool === 2) {
|
||||||
this.setUpSynchronizers()
|
this.setUpSynchronizers()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1332,7 +1341,7 @@ export default {
|
||||||
toolsEvents.ANNOTATION_SELECTION_CHANGE,
|
toolsEvents.ANNOTATION_SELECTION_CHANGE,
|
||||||
this.criterionType === 0 ? this.customAnnotationSelectionChangeListener : this.annotationSelectionChangeListener
|
this.criterionType === 0 ? this.customAnnotationSelectionChangeListener : this.annotationSelectionChangeListener
|
||||||
)
|
)
|
||||||
|
|
||||||
// eventTarget.addEventListener(
|
// eventTarget.addEventListener(
|
||||||
// toolsEvents.ANNOTATION_ADDED,
|
// toolsEvents.ANNOTATION_ADDED,
|
||||||
// this.annotationAddedListener
|
// this.annotationAddedListener
|
||||||
|
@ -1434,9 +1443,8 @@ export default {
|
||||||
this.saveCustomAnnotation(annotation)
|
this.saveCustomAnnotation(annotation)
|
||||||
this.$refs[`ecrf_${series.TaskInfo.VisitTaskId}`][0].bindAnnotationToQuestion(annotation)
|
this.$refs[`ecrf_${series.TaskInfo.VisitTaskId}`][0].bindAnnotationToQuestion(annotation)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setToolsPassive()
|
this.setToolsPassive()
|
||||||
},
|
},
|
||||||
validMarkName(markName) {
|
validMarkName(markName) {
|
||||||
|
@ -1482,23 +1490,27 @@ export default {
|
||||||
},
|
},
|
||||||
async customAnnotationRemovedListener(e) {
|
async customAnnotationRemovedListener(e) {
|
||||||
const { annotation } = e.detail
|
const { annotation } = e.detail
|
||||||
try{
|
try {
|
||||||
// if ( this.resetAnnotation && this.isFusion ) return false
|
// if ( this.resetAnnotation && this.isFusion ) return false
|
||||||
if (!annotation) return false
|
if (!annotation) return false
|
||||||
if (this.readingTaskState === 2) throw 'annotation Not allowed to operate'
|
if (this.readingTaskState === 2) {
|
||||||
|
const errorMsg = { message: 'annotation Not allowed to operate' }
|
||||||
|
throw errorMsg
|
||||||
|
}
|
||||||
const i = this.tools.findIndex(i => i.toolName === annotation.metadata.toolName)
|
const i = this.tools.findIndex(i => i.toolName === annotation.metadata.toolName)
|
||||||
if (i === -1) {
|
if (i === -1) {
|
||||||
// 临时标记
|
// 临时标记
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (annotation.visitTaskId === this.taskInfo.VisitTaskId) {
|
if (annotation.visitTaskId === this.taskInfo.VisitTaskId) {
|
||||||
let isBound = this.$refs[`ecrf_${annotation.visitTaskId}`][0].verifyAnnotationIsBound(annotation)
|
const isBound = this.$refs[`ecrf_${annotation.visitTaskId}`][0].verifyAnnotationIsBound(annotation)
|
||||||
if (isBound) {
|
if (isBound) {
|
||||||
this.$alert('该标记已与问题进行绑定,不允许删除!')
|
this.$alert('该标记已与问题进行绑定,不允许删除!')
|
||||||
throw 'annotation Not allowed to operate'
|
const errorMsg = { message: 'annotation Not allowed to operate' }
|
||||||
|
throw errorMsg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (annotation.visitTaskId === this.taskInfo.VisitTaskId && annotation.seriesId) {
|
if (annotation.visitTaskId === this.taskInfo.VisitTaskId && annotation.seriesId) {
|
||||||
if (this.activeTool === 'Eraser') {
|
if (this.activeTool === 'Eraser') {
|
||||||
await this.$confirm(
|
await this.$confirm(
|
||||||
|
@ -1521,7 +1533,8 @@ export default {
|
||||||
viewport.render()
|
viewport.render()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw 'annotation Not allowed to operate'
|
const errorMsg = { message: 'annotation Not allowed to operate' }
|
||||||
|
throw errorMsg
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
cornerstoneTools.annotation.state.addAnnotation(annotation)
|
cornerstoneTools.annotation.state.addAnnotation(annotation)
|
||||||
|
@ -1545,7 +1558,7 @@ export default {
|
||||||
},
|
},
|
||||||
customAnnotationSelectionChangeListener(e) {
|
customAnnotationSelectionChangeListener(e) {
|
||||||
if (this.readingTaskState === 2) return
|
if (this.readingTaskState === 2) return
|
||||||
const {detail} = e
|
const { detail } = e
|
||||||
const annotations = cornerstoneTools.annotation.state.getAllAnnotations()
|
const annotations = cornerstoneTools.annotation.state.getAllAnnotations()
|
||||||
const i = annotations.findIndex(i => i.annotationUID === detail.selection[0])
|
const i = annotations.findIndex(i => i.annotationUID === detail.selection[0])
|
||||||
if (i > -1) {
|
if (i > -1) {
|
||||||
|
@ -2073,8 +2086,8 @@ export default {
|
||||||
const renderingEngine = getRenderingEngine(renderingEngineId)
|
const renderingEngine = getRenderingEngine(renderingEngineId)
|
||||||
const viewport = renderingEngine.getViewport(`${this.viewportKey}-${this.activeViewportIndex}`)
|
const viewport = renderingEngine.getViewport(`${this.viewportKey}-${this.activeViewportIndex}`)
|
||||||
const { invert } = viewport.getProperties()
|
const { invert } = viewport.getProperties()
|
||||||
if ( this.isFusion ) {
|
if (this.isFusion) {
|
||||||
viewport.setProperties({ invert: !invert }, this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].volumeId )
|
viewport.setProperties({ invert: !invert }, this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].volumeId)
|
||||||
}
|
}
|
||||||
viewport.setProperties({ invert: !invert })
|
viewport.setProperties({ invert: !invert })
|
||||||
viewport.render()
|
viewport.render()
|
||||||
|
@ -2218,18 +2231,18 @@ export default {
|
||||||
toggleFullScreen(e, index) {
|
toggleFullScreen(e, index) {
|
||||||
this.fullScreenIndex = this.fullScreenIndex === index ? null : index
|
this.fullScreenIndex = this.fullScreenIndex === index ? null : index
|
||||||
this.activeViewportIndex = index
|
this.activeViewportIndex = index
|
||||||
if ( this.isFusion ) {
|
if (this.isFusion) {
|
||||||
let viewportIds = [`${this.viewportKey}-0`, `${this.viewportKey}-1`, `${this.viewportKey}-2`]
|
const viewportIds = [`${this.viewportKey}-0`, `${this.viewportKey}-1`, `${this.viewportKey}-2`]
|
||||||
viewportIds.forEach(id=>{
|
viewportIds.forEach(id => {
|
||||||
let index = this.$refs[id][0].series.SliceIndex
|
const index = this.$refs[id][0].series.SliceIndex
|
||||||
this.$refs[id][0].setFullScreen(index)
|
this.$refs[id][0].setFullScreen(index)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async toggleTask(taskInfo, taskIndex) {
|
async toggleTask(taskInfo, taskIndex) {
|
||||||
if(this.isFusion){
|
if (this.isFusion) {
|
||||||
let confirm = await this.$confirm(this.$t('trials:reading:confirm:changeStack'))
|
const confirm = await this.$confirm(this.$t('trials:reading:confirm:changeStack'))
|
||||||
if(!confirm) return false
|
if (!confirm) return false
|
||||||
this.isFusion = false
|
this.isFusion = false
|
||||||
this.fullScreenIndex = null
|
this.fullScreenIndex = null
|
||||||
this.setToolsPassive()
|
this.setToolsPassive()
|
||||||
|
@ -2299,9 +2312,9 @@ export default {
|
||||||
this.setToolsPassive()
|
this.setToolsPassive()
|
||||||
},
|
},
|
||||||
async activeSeries(obj) {
|
async activeSeries(obj) {
|
||||||
if(this.isFusion){
|
if (this.isFusion) {
|
||||||
let confirm = await this.$confirm(this.$t('trials:reading:confirm:changeStack'))
|
const confirm = await this.$confirm(this.$t('trials:reading:confirm:changeStack'))
|
||||||
if(!confirm) return false
|
if (!confirm) return false
|
||||||
this.isFusion = false
|
this.isFusion = false
|
||||||
this.setToolsPassive()
|
this.setToolsPassive()
|
||||||
this.rows = 1
|
this.rows = 1
|
||||||
|
@ -2461,7 +2474,7 @@ export default {
|
||||||
const i = this.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
|
const i = this.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
|
||||||
if (i === -1) return
|
if (i === -1) return
|
||||||
const studyList = this.visitTaskList[i].StudyList
|
const studyList = this.visitTaskList[i].StudyList
|
||||||
let series = this.getMarkedSeries(studyList, obj.annotation)
|
const series = this.getMarkedSeries(studyList, obj.annotation)
|
||||||
if (series) {
|
if (series) {
|
||||||
this.$refs[`${this.viewportKey}-${this.cells.length - 1}`][0].setSeriesInfo(series, true)
|
this.$refs[`${this.viewportKey}-${this.cells.length - 1}`][0].setSeriesInfo(series, true)
|
||||||
this.activeViewportIndex = i
|
this.activeViewportIndex = i
|
||||||
|
@ -2693,7 +2706,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showPanel(e, toolName) {
|
showPanel(e, toolName) {
|
||||||
if(toolName === 'layout' && this.isFusion) return false
|
if (toolName === 'layout' && this.isFusion) return false
|
||||||
e.currentTarget.firstChild.lastChild.style.display = 'block'
|
e.currentTarget.firstChild.lastChild.style.display = 'block'
|
||||||
},
|
},
|
||||||
toolMouseout(e) {
|
toolMouseout(e) {
|
||||||
|
@ -2710,67 +2723,67 @@ export default {
|
||||||
},
|
},
|
||||||
// 融合视口相机同步
|
// 融合视口相机同步
|
||||||
setUpSynchronizers() {
|
setUpSynchronizers() {
|
||||||
let axialCameraPositionSynchronizer = createCameraPositionSynchronizer(
|
const axialCameraPositionSynchronizer = createCameraPositionSynchronizer(
|
||||||
'AXIAL_CAMERA_SYNCHRONIZER_ID'
|
'AXIAL_CAMERA_SYNCHRONIZER_ID'
|
||||||
);
|
)
|
||||||
let ctVoiSynchronizer = createVOISynchronizer('CT_VOI_SYNCHRONIZER_ID', {
|
const ctVoiSynchronizer = createVOISynchronizer('CT_VOI_SYNCHRONIZER_ID', {
|
||||||
syncInvertState: false,
|
syncInvertState: false,
|
||||||
syncColormap: false,
|
syncColormap: false
|
||||||
});
|
})
|
||||||
let ptVoiSynchronizer = createVOISynchronizer('PT_VOI_SYNCHRONIZER_ID', {
|
const ptVoiSynchronizer = createVOISynchronizer('PT_VOI_SYNCHRONIZER_ID', {
|
||||||
syncInvertState: false,
|
syncInvertState: false,
|
||||||
syncColormap: false,
|
syncColormap: false
|
||||||
});
|
})
|
||||||
let fusionVoiSynchronizer = createVOISynchronizer('FUSION_VOI_SYNCHRONIZER_ID', {
|
const fusionVoiSynchronizer = createVOISynchronizer('FUSION_VOI_SYNCHRONIZER_ID', {
|
||||||
syncInvertState: false,
|
syncInvertState: false,
|
||||||
syncColormap: false,
|
syncColormap: false
|
||||||
});
|
});
|
||||||
[
|
[
|
||||||
`viewport-fusion-0`,
|
`viewport-fusion-0`,
|
||||||
`viewport-fusion-1`,
|
`viewport-fusion-1`,
|
||||||
`viewport-fusion-2`,
|
`viewport-fusion-2`
|
||||||
].forEach((viewportId) => {
|
].forEach((viewportId) => {
|
||||||
axialCameraPositionSynchronizer.add({
|
axialCameraPositionSynchronizer.add({
|
||||||
renderingEngineId: this.renderingEngineId,
|
renderingEngineId: this.renderingEngineId,
|
||||||
viewportId,
|
viewportId
|
||||||
});
|
})
|
||||||
});
|
});
|
||||||
[
|
[
|
||||||
`viewport-fusion-0`,
|
`viewport-fusion-0`
|
||||||
].forEach((viewportId) => {
|
].forEach((viewportId) => {
|
||||||
ctVoiSynchronizer.add({
|
ctVoiSynchronizer.add({
|
||||||
renderingEngineId: this.renderingEngineId,
|
renderingEngineId: this.renderingEngineId,
|
||||||
viewportId,
|
viewportId
|
||||||
});
|
})
|
||||||
});
|
});
|
||||||
[
|
[
|
||||||
`viewport-fusion-3`,
|
`viewport-fusion-3`,
|
||||||
`viewport-fusion-1`,
|
`viewport-fusion-1`
|
||||||
].forEach((viewportId) => {
|
].forEach((viewportId) => {
|
||||||
ptVoiSynchronizer.add({
|
ptVoiSynchronizer.add({
|
||||||
renderingEngineId: this.renderingEngineId,
|
renderingEngineId: this.renderingEngineId,
|
||||||
viewportId,
|
viewportId
|
||||||
});
|
})
|
||||||
});
|
});
|
||||||
[
|
[
|
||||||
`viewport-fusion-2`,
|
`viewport-fusion-2`
|
||||||
].forEach((viewportId) => {
|
].forEach((viewportId) => {
|
||||||
fusionVoiSynchronizer.add({
|
fusionVoiSynchronizer.add({
|
||||||
renderingEngineId,
|
renderingEngineId,
|
||||||
viewportId,
|
viewportId
|
||||||
});
|
})
|
||||||
ctVoiSynchronizer.addTarget({
|
ctVoiSynchronizer.addTarget({
|
||||||
renderingEngineId,
|
renderingEngineId,
|
||||||
viewportId,
|
viewportId
|
||||||
});
|
})
|
||||||
ptVoiSynchronizer.addTarget({
|
ptVoiSynchronizer.addTarget({
|
||||||
renderingEngineId,
|
renderingEngineId,
|
||||||
viewportId,
|
viewportId
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
setColorMap(rgbPresetName) {
|
setColorMap(rgbPresetName) {
|
||||||
let fusionViewportIds = [`viewport-fusion-1`, `viewport-fusion-2`, `viewport-fusion-3`]
|
const fusionViewportIds = [`viewport-fusion-1`, `viewport-fusion-2`, `viewport-fusion-3`]
|
||||||
fusionViewportIds.forEach(id => {
|
fusionViewportIds.forEach(id => {
|
||||||
this.$refs[id][0].setPreset(rgbPresetName)
|
this.$refs[id][0].setPreset(rgbPresetName)
|
||||||
this.$refs[id][0].renderColorBar(rgbPresetName)
|
this.$refs[id][0].renderColorBar(rgbPresetName)
|
||||||
|
@ -2778,25 +2791,25 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
voiChange(v) {
|
voiChange(v) {
|
||||||
let fusionViewportIds = [`viewport-fusion-1`, `viewport-fusion-2`, `viewport-fusion-3`]
|
const fusionViewportIds = [`viewport-fusion-1`, `viewport-fusion-2`, `viewport-fusion-3`]
|
||||||
fusionViewportIds.forEach(id => {
|
fusionViewportIds.forEach(id => {
|
||||||
this.$refs[id][0].voiChange(v)
|
this.$refs[id][0].voiChange(v)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async handleFusion(data) {
|
async handleFusion(data) {
|
||||||
try{
|
try {
|
||||||
this.fusionVisible = false
|
this.fusionVisible = false
|
||||||
this.isFusion = true
|
this.isFusion = true
|
||||||
this.rows = 2;
|
this.rows = 2
|
||||||
this.cols = 2
|
this.cols = 2
|
||||||
let { ct, pt } = data
|
const { ct, pt } = data
|
||||||
this.loading = true
|
this.loading = true
|
||||||
this.loadingText = this.$t('trials:lugano:message:loadVolumes')
|
this.loadingText = this.$t('trials:lugano:message:loadVolumes')
|
||||||
// this.resetAnnotation = true
|
// this.resetAnnotation = true
|
||||||
// console.log(cornerstoneTools.annotation.state.getAllAnnotations(),'cornerstoneTools.annotation.state')
|
// console.log(cornerstoneTools.annotation.state.getAllAnnotations(),'cornerstoneTools.annotation.state')
|
||||||
// cornerstoneTools.annotation.state.removeAllAnnotations()
|
// cornerstoneTools.annotation.state.removeAllAnnotations()
|
||||||
this.renderedTaskIds = []
|
this.renderedTaskIds = []
|
||||||
if ( this.verifyFusionData(ct, pt) ) {
|
if (this.verifyFusionData(ct, pt)) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.loadingText = null
|
this.loadingText = null
|
||||||
this.$refs[`viewport-0`][0].setSeriesInfo(ct)
|
this.$refs[`viewport-0`][0].setSeriesInfo(ct)
|
||||||
|
@ -2806,10 +2819,10 @@ export default {
|
||||||
// this.resetAnnotation = false
|
// this.resetAnnotation = false
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
if (!this.fusionSerieId.ct || this.fusionSerieId.ct !== ct.SeriesInstanceUid ) {
|
if (!this.fusionSerieId.ct || this.fusionSerieId.ct !== ct.SeriesInstanceUid) {
|
||||||
this.fusionSerieId.ct = ct.SeriesInstanceUid
|
this.fusionSerieId.ct = ct.SeriesInstanceUid
|
||||||
}
|
}
|
||||||
if (!this.fusionSerieId.pt || this.fusionSerieId.pt !== pt.SeriesInstanceUid ) {
|
if (!this.fusionSerieId.pt || this.fusionSerieId.pt !== pt.SeriesInstanceUid) {
|
||||||
this.fusionSerieId.pt = pt.SeriesInstanceUid
|
this.fusionSerieId.pt = pt.SeriesInstanceUid
|
||||||
}
|
}
|
||||||
await this.getVolume(pt)
|
await this.getVolume(pt)
|
||||||
|
@ -2817,22 +2830,22 @@ export default {
|
||||||
await this.getVolume(pt, true)
|
await this.getVolume(pt, true)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.loadingText = null
|
this.loadingText = null
|
||||||
let ctData = {
|
const ctData = {
|
||||||
data: ct,
|
data: ct,
|
||||||
volumeId: this.volumeData[ct.SeriesInstanceUid].volumeId,
|
volumeId: this.volumeData[ct.SeriesInstanceUid].volumeId
|
||||||
}
|
}
|
||||||
let ptData = {
|
const ptData = {
|
||||||
data: pt,
|
data: pt,
|
||||||
volumeId: this.volumeData[pt.SeriesInstanceUid].volumeId,
|
volumeId: this.volumeData[pt.SeriesInstanceUid].volumeId,
|
||||||
volume: this.volumeData[pt.SeriesInstanceUid].volume,
|
volume: this.volumeData[pt.SeriesInstanceUid].volume
|
||||||
}
|
}
|
||||||
let fusionData = {
|
const fusionData = {
|
||||||
ct,
|
ct,
|
||||||
data: pt,
|
data: pt,
|
||||||
volumeId: this.volumeData[pt.SeriesInstanceUid].volumeId,
|
volumeId: this.volumeData[pt.SeriesInstanceUid].volumeId,
|
||||||
ctVolumeId: this.volumeData[ct.SeriesInstanceUid].volumeId,
|
ctVolumeId: this.volumeData[ct.SeriesInstanceUid].volumeId,
|
||||||
ptVolumeId: this.volumeData[pt.SeriesInstanceUid].volumeId,
|
ptVolumeId: this.volumeData[pt.SeriesInstanceUid].volumeId,
|
||||||
fusionVolumeId: this.volumeData[`fusion_${pt.SeriesInstanceUid}`].volumeId,
|
fusionVolumeId: this.volumeData[`fusion_${pt.SeriesInstanceUid}`].volumeId
|
||||||
}
|
}
|
||||||
this.$refs[`viewport-0`][0].setSeriesInfo(ct)
|
this.$refs[`viewport-0`][0].setSeriesInfo(ct)
|
||||||
this.$refs[`viewport-1`][0].setSeriesInfo(pt)
|
this.$refs[`viewport-1`][0].setSeriesInfo(pt)
|
||||||
|
@ -2840,36 +2853,36 @@ export default {
|
||||||
this.$refs[`viewport-3`][0].setSeriesInfo(pt)
|
this.$refs[`viewport-3`][0].setSeriesInfo(pt)
|
||||||
|
|
||||||
this.$refs[`viewport-fusion-0`][0].setSeriesInfo(ctData)
|
this.$refs[`viewport-fusion-0`][0].setSeriesInfo(ctData)
|
||||||
this.$refs[`viewport-fusion-1`][0].setSeriesInfo(ptData, { colorMap: true})
|
this.$refs[`viewport-fusion-1`][0].setSeriesInfo(ptData, { colorMap: true })
|
||||||
this.$refs[`viewport-fusion-2`][0].setSeriesInfo(fusionData, { isFusion: true, colorMap: true })
|
this.$refs[`viewport-fusion-2`][0].setSeriesInfo(fusionData, { isFusion: true, colorMap: true })
|
||||||
this.$refs[`viewport-fusion-3`][0].setSeriesInfo(ptData, { isMip: true, colorMap: true })
|
this.$refs[`viewport-fusion-3`][0].setSeriesInfo(ptData, { isMip: true, colorMap: true })
|
||||||
// this.resetAnnotation = false
|
// this.resetAnnotation = false
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs[`colorMap`].init()
|
this.$refs[`colorMap`].init()
|
||||||
})
|
})
|
||||||
}catch(err){
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.loadingText = null
|
this.loadingText = null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
verifyFusionData(ct, pt) {
|
verifyFusionData(ct, pt) {
|
||||||
if (this.fusionSerieId.ct === ct.SeriesInstanceUid && this.fusionSerieId.pt === pt.SeriesInstanceUid && cache.getVolume(this.volumeData[ct.SeriesInstanceUid].volumeId) && cache.getVolume(this.volumeData[pt.SeriesInstanceUid].volumeId) && cache.getVolume(this.volumeData[`fusion_${pt.SeriesInstanceUid}`].volumeId) ) {
|
if (this.fusionSerieId.ct === ct.SeriesInstanceUid && this.fusionSerieId.pt === pt.SeriesInstanceUid && cache.getVolume(this.volumeData[ct.SeriesInstanceUid].volumeId) && cache.getVolume(this.volumeData[pt.SeriesInstanceUid].volumeId) && cache.getVolume(this.volumeData[`fusion_${pt.SeriesInstanceUid}`].volumeId)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
},
|
},
|
||||||
async getVolume(serie, isFusion = false ) {
|
async getVolume(serie, isFusion = false) {
|
||||||
return new Promise(async res => {
|
return new Promise(async res => {
|
||||||
let volumeId = null, volume = null
|
let volumeId = null; let volume = null
|
||||||
let key = isFusion ? `fusion_${serie.SeriesInstanceUid}` : serie.SeriesInstanceUid
|
const key = isFusion ? `fusion_${serie.SeriesInstanceUid}` : serie.SeriesInstanceUid
|
||||||
if(!this.volumeData[key] || !cache.getVolume(this.volumeData[key].volumeId)) {
|
if (!this.volumeData[key] || !cache.getVolume(this.volumeData[key].volumeId)) {
|
||||||
if ( serie.Modality === 'PT' && !isFusion ) {
|
if (serie.Modality === 'PT' && !isFusion) {
|
||||||
serie.ImageIds.forEach(async id => {
|
serie.ImageIds.forEach(async id => {
|
||||||
const imageLoadObject = cache.getImage(id);
|
const imageLoadObject = cache.getImage(id)
|
||||||
if (imageLoadObject) {
|
if (imageLoadObject) {
|
||||||
await new Promise(res => {
|
await new Promise(res => {
|
||||||
cache.removeImageLoadObject(id, {force:true}); // 从缓存中删除
|
cache.removeImageLoadObject(id, { force: true }) // 从缓存中删除
|
||||||
res()
|
res()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -2895,11 +2908,11 @@ export default {
|
||||||
this.$refs.colorMap.upperRangeChange(upper)
|
this.$refs.colorMap.upperRangeChange(upper)
|
||||||
},
|
},
|
||||||
openFusion() {
|
openFusion() {
|
||||||
this.fusionVisible = true
|
this.fusionVisible = true
|
||||||
},
|
},
|
||||||
closeFusion() {
|
closeFusion() {
|
||||||
this.fusionVisible = false
|
this.fusionVisible = false
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
:reading-task-state="readingTaskState"
|
:reading-task-state="readingTaskState"
|
||||||
:criterion-id="criterionId"
|
:criterion-id="criterionId"
|
||||||
:calculation-list="calculationList"
|
:calculation-list="calculationList"
|
||||||
:questionMarkInfoList="questionMarkInfoList"
|
:question-mark-info-list="questionMarkInfoList"
|
||||||
:questionsMarkStatus="questionsMarkStatus"
|
:questions-mark-status="questionsMarkStatus"
|
||||||
:is-baseline="isBaseLineTask"
|
:is-baseline="isBaseLineTask"
|
||||||
@resetFormItemData="resetFormItemData"
|
@resetFormItemData="resetFormItemData"
|
||||||
@setFormItemData="setFormItemData"
|
@setFormItemData="setFormItemData"
|
||||||
|
@ -97,7 +97,7 @@ export default {
|
||||||
readingTaskState: {
|
readingTaskState: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -166,7 +166,7 @@ export default {
|
||||||
})
|
})
|
||||||
this.questions = res.Result.SinglePage
|
this.questions = res.Result.SinglePage
|
||||||
this.questionsMarkStatus = {}
|
this.questionsMarkStatus = {}
|
||||||
this.questionMarkInfoList = res.OtherInfo.QuestionMarkInfoList.map(i=>{
|
this.questionMarkInfoList = res.OtherInfo.QuestionMarkInfoList.map(i => {
|
||||||
if (i.QuestionId && i.MeasureData) {
|
if (i.QuestionId && i.MeasureData) {
|
||||||
this.$set(this.questionsMarkStatus, i.QuestionId, 2)
|
this.$set(this.questionsMarkStatus, i.QuestionId, 2)
|
||||||
}
|
}
|
||||||
|
@ -348,7 +348,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
verifyAnnotationIsBound(annotation) {
|
verifyAnnotationIsBound(annotation) {
|
||||||
let i = this.questionMarkInfoList.findIndex(i=>i.MeasureData && i.MeasureData.annotationUID === annotation.annotationUID)
|
const i = this.questionMarkInfoList.findIndex(i => i.MeasureData && i.MeasureData.annotationUID === annotation.annotationUID)
|
||||||
return i > -1
|
return i > -1
|
||||||
},
|
},
|
||||||
async operateImageMarker(obj) {
|
async operateImageMarker(obj) {
|
||||||
|
@ -359,19 +359,18 @@ export default {
|
||||||
|
|
||||||
} else if (obj.operateStateEnum === 2) {
|
} else if (obj.operateStateEnum === 2) {
|
||||||
// 查看标记
|
// 查看标记
|
||||||
let i = this.questionMarkInfoList.findIndex(i=>i.QuestionId === obj.question.Id)
|
const i = this.questionMarkInfoList.findIndex(i => i.QuestionId === obj.question.Id)
|
||||||
if (i > -1) {
|
if (i > -1) {
|
||||||
let annotation = this.questionMarkInfoList[i].MeasureData
|
const annotation = this.questionMarkInfoList[i].MeasureData
|
||||||
this.$emit('viewCustomAnnotationSeries', {visitTaskId: this.visitTaskId, annotation})
|
this.$emit('viewCustomAnnotationSeries', { visitTaskId: this.visitTaskId, annotation })
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (obj.operateStateEnum === 3) {
|
} else if (obj.operateStateEnum === 3) {
|
||||||
// 更改标记
|
// 更改标记
|
||||||
// this.$set(this.questionsMarkStatus, obj.question.Id, 1)
|
// this.$set(this.questionsMarkStatus, obj.question.Id, 1)
|
||||||
} else if (obj.operateStateEnum === 4) {
|
} else if (obj.operateStateEnum === 4) {
|
||||||
// 移除标记
|
// 移除标记
|
||||||
this.$set(this.questionForm, obj.question.Id, '')
|
this.$set(this.questionForm, obj.question.Id, '')
|
||||||
let i = this.questionMarkInfoList.findIndex(i=>i.QuestionId === obj.question.Id)
|
const i = this.questionMarkInfoList.findIndex(i => i.QuestionId === obj.question.Id)
|
||||||
if (i > -1) {
|
if (i > -1) {
|
||||||
this.questionMarkInfoList.splice(i, 1)
|
this.questionMarkInfoList.splice(i, 1)
|
||||||
}
|
}
|
||||||
|
@ -380,16 +379,16 @@ export default {
|
||||||
// 保存标记
|
// 保存标记
|
||||||
this.loading = true
|
this.loading = true
|
||||||
try {
|
try {
|
||||||
let answers = []
|
const answers = []
|
||||||
answers.push({ id: obj.question.Id, answer: this.questionForm[obj.question.Id] })
|
answers.push({ id: obj.question.Id, answer: this.questionForm[obj.question.Id] })
|
||||||
let markInfo = []
|
const markInfo = []
|
||||||
let i = this.questionMarkInfoList.findIndex(i=>i.QuestionId === this.operateQuestionId)
|
const i = this.questionMarkInfoList.findIndex(i => i.QuestionId === this.operateQuestionId)
|
||||||
if (i > -1) {
|
if (i > -1) {
|
||||||
let obj = Object.assign({}, this.questionMarkInfoList[i])
|
const obj = Object.assign({}, this.questionMarkInfoList[i])
|
||||||
obj.MeasureData = obj.MeasureData ? JSON.stringify(obj.MeasureData) : ''
|
obj.MeasureData = obj.MeasureData ? JSON.stringify(obj.MeasureData) : ''
|
||||||
markInfo.push(obj)
|
markInfo.push(obj)
|
||||||
}
|
}
|
||||||
let params = {
|
const params = {
|
||||||
visitTaskId: this.visitTaskId,
|
visitTaskId: this.visitTaskId,
|
||||||
answers: answers,
|
answers: answers,
|
||||||
questionMarkInfoList: markInfo
|
questionMarkInfoList: markInfo
|
||||||
|
@ -402,9 +401,7 @@ export default {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
async bindAnnotationToQuestion(annotation) {
|
async bindAnnotationToQuestion(annotation) {
|
||||||
try {
|
try {
|
||||||
|
@ -420,13 +417,12 @@ export default {
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true
|
||||||
})
|
})
|
||||||
if (confirm !== 'confirm') return
|
if (confirm !== 'confirm') return
|
||||||
|
|
||||||
}
|
}
|
||||||
console.log('bindAnnotationToQuestion', annotation)
|
console.log('bindAnnotationToQuestion', annotation)
|
||||||
|
|
||||||
let i = this.questionMarkInfoList.findIndex(i=>i.QuestionId === this.operateQuestionId)
|
const i = this.questionMarkInfoList.findIndex(i => i.QuestionId === this.operateQuestionId)
|
||||||
if (i === -1) {
|
if (i === -1) {
|
||||||
let markInfo = {
|
const markInfo = {
|
||||||
QuestionId: this.operateQuestionId,
|
QuestionId: this.operateQuestionId,
|
||||||
InstanceId: annotation.instanceId,
|
InstanceId: annotation.instanceId,
|
||||||
SeriesId: annotation.seriesId,
|
SeriesId: annotation.seriesId,
|
||||||
|
@ -448,14 +444,13 @@ export default {
|
||||||
}
|
}
|
||||||
this.setAnswerToQuestion(annotation, this.operateQuestionId)
|
this.setAnswerToQuestion(annotation, this.operateQuestionId)
|
||||||
this.$set(this.questionsMarkStatus, this.operateQuestionId, 1)
|
this.$set(this.questionsMarkStatus, this.operateQuestionId, 1)
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateAnnotationToQuestion(annotation) {
|
updateAnnotationToQuestion(annotation) {
|
||||||
console.log('updateAnnotationToQuestion', annotation)
|
console.log('updateAnnotationToQuestion', annotation)
|
||||||
let i = this.questionMarkInfoList.findIndex(i=>i.MeasureData && i.MeasureData.annotationUID === annotation.annotationUID)
|
const i = this.questionMarkInfoList.findIndex(i => i.MeasureData && i.MeasureData.annotationUID === annotation.annotationUID)
|
||||||
if (i === -1) return
|
if (i === -1) return
|
||||||
this.questionMarkInfoList[i].measureData = annotation
|
this.questionMarkInfoList[i].measureData = annotation
|
||||||
this.setAnswerToQuestion(annotation, this.questionMarkInfoList[i].QuestionId)
|
this.setAnswerToQuestion(annotation, this.questionMarkInfoList[i].QuestionId)
|
||||||
|
@ -468,7 +463,7 @@ export default {
|
||||||
let length = annotation.data.cachedStats[`imageId:${referencedImageId}`].length
|
let length = annotation.data.cachedStats[`imageId:${referencedImageId}`].length
|
||||||
length = length ? parseFloat(length).toFixed(this.digitPlaces) : length
|
length = length ? parseFloat(length).toFixed(this.digitPlaces) : length
|
||||||
this.$set(this.questionForm, questionId, length)
|
this.$set(this.questionForm, questionId, length)
|
||||||
} else if (obj.toolName === 'Bidirectional') {
|
} else if (annotation.metadata.toolName === 'Bidirectional') {
|
||||||
// let length = annotation.data.cachedStats[`imageId:${referencedImageId}`].length
|
// let length = annotation.data.cachedStats[`imageId:${referencedImageId}`].length
|
||||||
// length = length ? parseFloat(length).toFixed(this.digitPlaces) : length
|
// length = length ? parseFloat(length).toFixed(this.digitPlaces) : length
|
||||||
let short = annotation.data.cachedStats[`imageId:${referencedImageId}`].width
|
let short = annotation.data.cachedStats[`imageId:${referencedImageId}`].width
|
||||||
|
@ -494,7 +489,7 @@ export default {
|
||||||
await this.getQuestionCalculateRelation()
|
await this.getQuestionCalculateRelation()
|
||||||
await this.getQuestions()
|
await this.getQuestions()
|
||||||
this.$emit('resetAnnotations', this.visitTaskId)
|
this.$emit('resetAnnotations', this.visitTaskId)
|
||||||
this.$nextTick(()=>{
|
this.$nextTick(() => {
|
||||||
this.rerender = true
|
this.rerender = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -503,7 +498,7 @@ export default {
|
||||||
loading.close()
|
loading.close()
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -584,6 +579,6 @@ export default {
|
||||||
// .ecrf-list-container{
|
// .ecrf-list-container{
|
||||||
// min-height:400px;
|
// min-height:400px;
|
||||||
// color: #ddd;
|
// color: #ddd;
|
||||||
|
|
||||||
// }
|
// }
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue