From c6f349c3b8564905a501ac5bdc7b287348774ec9 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 15 Jan 2024 14:12:31 +0800 Subject: [PATCH] =?UTF-8?q?FDG-PET=E8=AF=84=E4=BC=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E5=92=8C=E6=95=B0=E6=8D=AE=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dicoms/components/Fusion/QuestionItem.vue | 3 + .../dicoms/components/Fusion/Questions.vue | 70 +++++++++++++++---- .../reading/dicoms/components/Questions.vue | 1 - .../reading/oncology-review/index.vue | 9 ++- 4 files changed, 68 insertions(+), 15 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue index 72a70315..e0174165 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/QuestionItem.vue @@ -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) } diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue index 876fc587..0879d23c 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Fusion/Questions.vue @@ -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 SUVmax(所有病灶中最大的)≤1*肝脏血池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 }) diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue b/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue index 043e3223..6685e3ec 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Questions.vue @@ -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) { diff --git a/src/views/trials/trials-panel/reading/oncology-review/index.vue b/src/views/trials/trials-panel/reading/oncology-review/index.vue index 8329e70c..46e2241b 100644 --- a/src/views/trials/trials-panel/reading/oncology-review/index.vue +++ b/src/views/trials/trials-panel/reading/oncology-review/index.vue @@ -122,10 +122,15 @@ +