FDG-PET评估数据交互和数据验证

uat_us
caiyiling 2024-01-15 14:12:31 +08:00
parent f7e7b323c5
commit c6f349c3b8
4 changed files with 68 additions and 15 deletions

View File

@ -295,6 +295,9 @@ export default {
},
methods: {
formItemChange(v, question) {
if(question.QuestionType === 55){
this.$emit('setFormItemData', {key:question.Id,val:v})
}
if (question.Childrens.length > 0) {
this.resetChild(question.Childrens)
}

View File

@ -53,6 +53,8 @@ export default {
measurements: [],
currentQsId: '',
pet5PSId: '',
pet5PSCommentsId:'',
calculatePet5PS:null,
liverSuvmaxId: '',
lungSuvmaxId: '',
suvmaxId: '',
@ -146,6 +148,8 @@ export default {
}
})
this.questions = questions
this.calculatePet5PS = this.setpet5PS()
this.setPet5PSCommentDisplay()
this.measurements = []
res.OtherInfo.QuestionMarkInfoList.forEach(i => {
if (i.OtherMeasureData) {
@ -179,6 +183,10 @@ export default {
// PET 5PS
this.pet5PSId = i.Id
}
if (i.QuestionType === 59) {
// PET 5PS
this.pet5PSCommentsId = i.Id
}
if (i.Childrens && i.Childrens.length > 0) {
this.setChild(i.Childrens)
}
@ -283,11 +291,12 @@ export default {
var idx = this.measurements.findIndex(i => i.QuestionId === Id)
if (idx === -1) return
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' })
this.measurements.splice(idx, 1)
console.log( this.measurements)
this.questionFormChangeState = true
},
locateAnnotation(obj) {
console.log('locateAnnotation')
@ -326,7 +335,10 @@ export default {
if (measurement.type === 'CircleROI') {
const suvMax = measurement.suvMax
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 })
this.questionFormChangeState = true
@ -359,7 +371,10 @@ export default {
if (measurement.metadata.toolName === 'CircleROI') {
// const suvMax = measurement.suvMax
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 })
this.questionFormChangeState = true
@ -368,7 +383,10 @@ export default {
var idx = this.measurements.findIndex(i => i.OrderMarkName === remark)
if (idx === -1) return
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.currentQsId = this.measurements[idx].QuestionId
// const { QuestionId, QuestionType } = this.measurements[idx]
@ -379,6 +397,26 @@ export default {
},
setFormItemData(obj) {
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() {
console.log('setpet5PS')
@ -391,18 +429,23 @@ export default {
const lungSUVmax = !isNaN(parseFloat(this.questionForm[this.lungSuvmaxId])) ? parseFloat(this.questionForm[this.lungSuvmaxId]) : 0
if (maxSUVmax > liverSUVmax * 2) {
// 访 max SUVmax>2*SUVmax 5
this.questionForm[this.pet5PSId] = '5'
// this.questionForm[this.pet5PSId] = '5'
return '5'
} else if (maxSUVmax > liverSUVmax) {
// 访SUVmax>SUVmax 4
this.questionForm[this.pet5PSId] = '4'
// this.questionForm[this.pet5PSId] = '4'
return '4'
} else if (maxSUVmax > lungSUVmax && maxSUVmax <= liverSUVmax) {
// SUVmax<访max SUVmax1*SUVmax 3
this.questionForm[this.pet5PSId] = '3'
// this.questionForm[this.pet5PSId] = '3'
return '3'
} else if (maxSUVmax < lungSUVmax) {
// 访SUVmax<SUVmax 2
this.questionForm[this.pet5PSId] = '2'
// this.questionForm[this.pet5PSId] = '2'
return '2'
}else{
this.questionForm[this.pet5PSId] = ''
// this.questionForm[this.pet5PSId] = ''
return ''
}
},
resetSuvQuestions() {
@ -422,7 +465,10 @@ export default {
if (v.Childrens.length > 0) {
this.setSuvChild(v.Childrens)
}
this.setpet5PS()
var pet5PS = this.setpet5PS()
this.questionForm[this.pet5PSId] = pet5PS
this.calculatePet5PS = pet5PS
this.setPet5PSCommentDisplay()
this.questionFormChangeState = true
})

View File

@ -297,7 +297,6 @@ export default {
})
},
setSpleenCommentDisplay(){
console.log('setSpleenCommentDisplay')
if( this.spleenCommentsId && this.spleenStatusId ){
for (let i = 0; i < this.questions[0].Childrens.length; i++) {
if (this.questions[0].Childrens[i].QuestionType === 58) {

View File

@ -122,10 +122,15 @@
<!-- 结论 -->
<el-table-column
prop="EvaluationResult"
:label="$t('trials:oncologyReview:title:findings')"
show-overflow-tooltip
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">
<el-select
v-if="oncologyInfo.ReadingTaskState < 2 && !scope.row.IsBaseLine"
@ -156,7 +161,7 @@
<div>
<!-- 原因 -->
<span>{{ $t('trials:oncologyReview:title:reason') }}</span>
<span style="color:red">*</span>
<span style="color:red">!</span>
</div>
</el-tooltip>