FDG-PET评估数据交互和数据验证
parent
f7e7b323c5
commit
c6f349c3b8
|
@ -295,6 +295,9 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
formItemChange(v, question) {
|
formItemChange(v, question) {
|
||||||
|
if(question.QuestionType === 55){
|
||||||
|
this.$emit('setFormItemData', {key:question.Id,val:v})
|
||||||
|
}
|
||||||
if (question.Childrens.length > 0) {
|
if (question.Childrens.length > 0) {
|
||||||
this.resetChild(question.Childrens)
|
this.resetChild(question.Childrens)
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,8 @@ export default {
|
||||||
measurements: [],
|
measurements: [],
|
||||||
currentQsId: '',
|
currentQsId: '',
|
||||||
pet5PSId: '',
|
pet5PSId: '',
|
||||||
|
pet5PSCommentsId:'',
|
||||||
|
calculatePet5PS:null,
|
||||||
liverSuvmaxId: '',
|
liverSuvmaxId: '',
|
||||||
lungSuvmaxId: '',
|
lungSuvmaxId: '',
|
||||||
suvmaxId: '',
|
suvmaxId: '',
|
||||||
|
@ -146,6 +148,8 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.questions = questions
|
this.questions = questions
|
||||||
|
this.calculatePet5PS = this.setpet5PS()
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
this.measurements = []
|
this.measurements = []
|
||||||
res.OtherInfo.QuestionMarkInfoList.forEach(i => {
|
res.OtherInfo.QuestionMarkInfoList.forEach(i => {
|
||||||
if (i.OtherMeasureData) {
|
if (i.OtherMeasureData) {
|
||||||
|
@ -179,6 +183,10 @@ export default {
|
||||||
// PET 5PS评分
|
// PET 5PS评分
|
||||||
this.pet5PSId = i.Id
|
this.pet5PSId = i.Id
|
||||||
}
|
}
|
||||||
|
if (i.QuestionType === 59) {
|
||||||
|
// 修改PET 5PS评分备注
|
||||||
|
this.pet5PSCommentsId = i.Id
|
||||||
|
}
|
||||||
if (i.Childrens && i.Childrens.length > 0) {
|
if (i.Childrens && i.Childrens.length > 0) {
|
||||||
this.setChild(i.Childrens)
|
this.setChild(i.Childrens)
|
||||||
}
|
}
|
||||||
|
@ -283,11 +291,12 @@ export default {
|
||||||
var idx = this.measurements.findIndex(i => i.QuestionId === Id)
|
var idx = this.measurements.findIndex(i => i.QuestionId === Id)
|
||||||
if (idx === -1) return
|
if (idx === -1) return
|
||||||
this.$set(this.questionForm, Id, '')
|
this.$set(this.questionForm, Id, '')
|
||||||
this.setpet5PS()
|
var pet5PS = this.setpet5PS()
|
||||||
|
this.questionForm[this.pet5PSId] = pet5PS
|
||||||
|
this.calculatePet5PS = pet5PS
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.measurements[idx].OtherMeasureData, type: 'clear' })
|
FusionEvent.$emit('removeAnnotation', { otherMeasureData: this.measurements[idx].OtherMeasureData, type: 'clear' })
|
||||||
this.measurements.splice(idx, 1)
|
this.measurements.splice(idx, 1)
|
||||||
console.log( this.measurements)
|
|
||||||
this.questionFormChangeState = true
|
|
||||||
},
|
},
|
||||||
locateAnnotation(obj) {
|
locateAnnotation(obj) {
|
||||||
console.log('locateAnnotation')
|
console.log('locateAnnotation')
|
||||||
|
@ -326,7 +335,10 @@ export default {
|
||||||
if (measurement.type === 'CircleROI') {
|
if (measurement.type === 'CircleROI') {
|
||||||
const suvMax = measurement.suvMax
|
const suvMax = measurement.suvMax
|
||||||
this.$set(this.questionForm, obj.QuestionId, suvMax || null)
|
this.$set(this.questionForm, obj.QuestionId, suvMax || null)
|
||||||
this.setpet5PS()
|
var pet5PS = this.setpet5PS()
|
||||||
|
this.questionForm[this.pet5PSId] = pet5PS
|
||||||
|
this.calculatePet5PS = pet5PS
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
}
|
}
|
||||||
FusionEvent.$emit('addOrUpdateAnnotations', { data })
|
FusionEvent.$emit('addOrUpdateAnnotations', { data })
|
||||||
this.questionFormChangeState = true
|
this.questionFormChangeState = true
|
||||||
|
@ -359,7 +371,10 @@ export default {
|
||||||
if (measurement.metadata.toolName === 'CircleROI') {
|
if (measurement.metadata.toolName === 'CircleROI') {
|
||||||
// const suvMax = measurement.suvMax
|
// const suvMax = measurement.suvMax
|
||||||
this.$set(this.questionForm, obj.QuestionId, null)
|
this.$set(this.questionForm, obj.QuestionId, null)
|
||||||
this.setpet5PS()
|
var pet5PS = this.setpet5PS()
|
||||||
|
this.questionForm[this.pet5PSId] = pet5PS
|
||||||
|
this.calculatePet5PS = pet5PS
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
}
|
}
|
||||||
FusionEvent.$emit('addOrUpdateAnnotations', { data })
|
FusionEvent.$emit('addOrUpdateAnnotations', { data })
|
||||||
this.questionFormChangeState = true
|
this.questionFormChangeState = true
|
||||||
|
@ -368,7 +383,10 @@ export default {
|
||||||
var idx = this.measurements.findIndex(i => i.OrderMarkName === remark)
|
var idx = this.measurements.findIndex(i => i.OrderMarkName === remark)
|
||||||
if (idx === -1) return
|
if (idx === -1) return
|
||||||
this.$set(this.questionForm, this.measurements[idx].QuestionId, '')
|
this.$set(this.questionForm, this.measurements[idx].QuestionId, '')
|
||||||
this.setpet5PS()
|
var pet5PS = this.setpet5PS()
|
||||||
|
this.questionForm[this.pet5PSId] = pet5PS
|
||||||
|
this.calculatePet5PS = pet5PS
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
this.measurements[idx].OtherMeasureData = ''
|
this.measurements[idx].OtherMeasureData = ''
|
||||||
this.currentQsId = this.measurements[idx].QuestionId
|
this.currentQsId = this.measurements[idx].QuestionId
|
||||||
// const { QuestionId, QuestionType } = this.measurements[idx]
|
// const { QuestionId, QuestionType } = this.measurements[idx]
|
||||||
|
@ -379,6 +397,26 @@ export default {
|
||||||
},
|
},
|
||||||
setFormItemData(obj) {
|
setFormItemData(obj) {
|
||||||
this.questionForm[obj.key] = obj.val
|
this.questionForm[obj.key] = obj.val
|
||||||
|
if(obj.key === this.pet5PSId){
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setPet5PSCommentDisplay(){
|
||||||
|
if( this.pet5PSCommentsId && this.pet5PSId ){
|
||||||
|
for (let i = 0; i < this.questions[0].Childrens[0].Childrens.length; i++) {
|
||||||
|
if (this.questions[0].Childrens[0].Childrens[i].QuestionType === 59) {
|
||||||
|
if(this.calculatePet5PS && this.calculatePet5PS !== this.questionForm[this.pet5PSId]){
|
||||||
|
this.questions[0].Childrens[0].Childrens[i].ShowQuestion = 0
|
||||||
|
this.questions[0].Childrens[0].Childrens[i].IsRequired = 0
|
||||||
|
}else{
|
||||||
|
this.questions[0].Childrens[0].Childrens[i].ShowQuestion = 2
|
||||||
|
this.questions[0].Childrens[0].Childrens[i].IsRequired = 3
|
||||||
|
this.questionForm[this.pet5PSCommentsId] = ''
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setpet5PS() {
|
setpet5PS() {
|
||||||
console.log('setpet5PS')
|
console.log('setpet5PS')
|
||||||
|
@ -391,18 +429,23 @@ export default {
|
||||||
const lungSUVmax = !isNaN(parseFloat(this.questionForm[this.lungSuvmaxId])) ? parseFloat(this.questionForm[this.lungSuvmaxId]) : 0
|
const lungSUVmax = !isNaN(parseFloat(this.questionForm[this.lungSuvmaxId])) ? parseFloat(this.questionForm[this.lungSuvmaxId]) : 0
|
||||||
if (maxSUVmax > liverSUVmax * 2) {
|
if (maxSUVmax > liverSUVmax * 2) {
|
||||||
// 本访视病灶的 max SUVmax(所有病灶中最大的)>2*肝脏血池SUVmax 5分
|
// 本访视病灶的 max SUVmax(所有病灶中最大的)>2*肝脏血池SUVmax 5分
|
||||||
this.questionForm[this.pet5PSId] = '5'
|
// this.questionForm[this.pet5PSId] = '5'
|
||||||
|
return '5'
|
||||||
} else if (maxSUVmax > liverSUVmax) {
|
} else if (maxSUVmax > liverSUVmax) {
|
||||||
// 本访视病灶的SUVmax(所有病灶中最大的)>肝脏血池SUVmax 4分
|
// 本访视病灶的SUVmax(所有病灶中最大的)>肝脏血池SUVmax 4分
|
||||||
this.questionForm[this.pet5PSId] = '4'
|
// this.questionForm[this.pet5PSId] = '4'
|
||||||
|
return '4'
|
||||||
} else if (maxSUVmax > lungSUVmax && maxSUVmax <= liverSUVmax) {
|
} else if (maxSUVmax > lungSUVmax && maxSUVmax <= liverSUVmax) {
|
||||||
// 纵隔血池SUVmax<本访视点病灶的max SUVmax(所有病灶中最大的)≤1*肝脏血池SUVmax 3分
|
// 纵隔血池SUVmax<本访视点病灶的max SUVmax(所有病灶中最大的)≤1*肝脏血池SUVmax 3分
|
||||||
this.questionForm[this.pet5PSId] = '3'
|
// this.questionForm[this.pet5PSId] = '3'
|
||||||
|
return '3'
|
||||||
} else if (maxSUVmax < lungSUVmax) {
|
} else if (maxSUVmax < lungSUVmax) {
|
||||||
// 本访视点病灶的SUVmax(所有病灶中最大的)<纵隔血池SUVmax 2分
|
// 本访视点病灶的SUVmax(所有病灶中最大的)<纵隔血池SUVmax 2分
|
||||||
this.questionForm[this.pet5PSId] = '2'
|
// this.questionForm[this.pet5PSId] = '2'
|
||||||
|
return '2'
|
||||||
}else{
|
}else{
|
||||||
this.questionForm[this.pet5PSId] = ''
|
// this.questionForm[this.pet5PSId] = ''
|
||||||
|
return ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resetSuvQuestions() {
|
resetSuvQuestions() {
|
||||||
|
@ -422,7 +465,10 @@ export default {
|
||||||
if (v.Childrens.length > 0) {
|
if (v.Childrens.length > 0) {
|
||||||
this.setSuvChild(v.Childrens)
|
this.setSuvChild(v.Childrens)
|
||||||
}
|
}
|
||||||
this.setpet5PS()
|
var pet5PS = this.setpet5PS()
|
||||||
|
this.questionForm[this.pet5PSId] = pet5PS
|
||||||
|
this.calculatePet5PS = pet5PS
|
||||||
|
this.setPet5PSCommentDisplay()
|
||||||
this.questionFormChangeState = true
|
this.questionFormChangeState = true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -297,7 +297,6 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
setSpleenCommentDisplay(){
|
setSpleenCommentDisplay(){
|
||||||
console.log('setSpleenCommentDisplay')
|
|
||||||
if( this.spleenCommentsId && this.spleenStatusId ){
|
if( this.spleenCommentsId && this.spleenStatusId ){
|
||||||
for (let i = 0; i < this.questions[0].Childrens.length; i++) {
|
for (let i = 0; i < this.questions[0].Childrens.length; i++) {
|
||||||
if (this.questions[0].Childrens[i].QuestionType === 58) {
|
if (this.questions[0].Childrens[i].QuestionType === 58) {
|
||||||
|
|
|
@ -122,10 +122,15 @@
|
||||||
<!-- 结论 -->
|
<!-- 结论 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="EvaluationResult"
|
prop="EvaluationResult"
|
||||||
:label="$t('trials:oncologyReview:title:findings')"
|
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
width="150"
|
width="150"
|
||||||
>
|
>
|
||||||
|
<template slot="header" slot-scope="scope">
|
||||||
|
<div>
|
||||||
|
<span>{{ $t('trials:oncologyReview:title:findings') }}</span>
|
||||||
|
<span style="color:red">*</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-select
|
<el-select
|
||||||
v-if="oncologyInfo.ReadingTaskState < 2 && !scope.row.IsBaseLine"
|
v-if="oncologyInfo.ReadingTaskState < 2 && !scope.row.IsBaseLine"
|
||||||
|
@ -156,7 +161,7 @@
|
||||||
<div>
|
<div>
|
||||||
<!-- 原因 -->
|
<!-- 原因 -->
|
||||||
<span>{{ $t('trials:oncologyReview:title:reason') }}</span>
|
<span>{{ $t('trials:oncologyReview:title:reason') }}</span>
|
||||||
<span style="color:red">*</span>
|
<span style="color:red">!</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
Loading…
Reference in New Issue