From 8e0ad5ca9db145e3119de9d75389d7ff702c1633 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 14 Apr 2025 11:39:53 +0800 Subject: [PATCH 1/3] =?UTF-8?q?mRecist=E6=A0=87=E5=87=86=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/ReadPage.vue | 23 ++++++++++++++----- .../components/mRecist/QuestionList.vue | 12 +++++++++- .../mRecist/TableQuestionFormItem.vue | 4 ++-- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue index 92b4ea03..57ebe3ef 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -1044,10 +1044,10 @@ export default { } } }) - const arr = cornerstoneTools.annotation.state.getAllAnnotations() - console.log(arr) + }, addAnnotationListeners() { + console.log(toolsEvents) const debouncedCallback = this.debounce((evt) => { this.annotationModifiedListener(evt) }, 100) @@ -1065,10 +1065,21 @@ export default { toolsEvents.ANNOTATION_REMOVED, this.annotationRemovedListener ) - eventTarget.addEventListener( - toolsEvents.ANNOTATION_ADDED, - this.annotationAddedListener - ) + // eventTarget.addEventListener( + // toolsEvents.ANNOTATION_ADDED, + // this.annotationAddedListener + // ) + // eventTarget.addEventListener( + // toolsEvents.TOOL_MODE_CHANGED, + // this.toolModeChanged + // ) + + }, + toolModeChanged(e) { + console.log(e) + const arr = cornerstoneTools.annotation.state.getAllAnnotations() + // if (arr) + console.log(arr) }, annotationAddedListener(e) { console.log('annotationAddedListener', e) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue index 6519e8ce..ad51249d 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/QuestionList.vue @@ -362,7 +362,7 @@ export default { this.$set(this.innerFormData[tableKey], 'LesionState', null) this.$set(this.innerFormData[tableKey], 'LesionPart', null) this.$set(this.innerFormData[tableKey], 'LesionOrgan', null) - this.$set(this.innerFormData[tableKey], 'IntrahepaticLesion', null) + this.$set(this.innerFormData[tableKey], 'IntrahepaticLesion', 0) this.$set(this.innerFormData[tableKey], 'LesionName', null) this.$set(this.innerFormData[tableKey], 'MeasureData', null) this.$set(this.innerFormData[tableKey], 'TableId', tableKey) @@ -376,6 +376,7 @@ export default { const stateId = this.getQuestionId(7, table.TableQuestions.Questions) const partId = this.getQuestionId(8, table.TableQuestions.Questions) const intrahepaticLesionId = this.getQuestionId(21, table.TableQuestions.Questions) + this.$set(this.innerFormData[tableKey], intrahepaticLesionId, 0) table.TableQuestions.Answers.forEach((answer, index) => { this.$set(this.innerFormData, `${tableKey}_${answer.RowIndex}`, {}) this.$set(this.innerFormData[`${tableKey}_${answer.RowIndex}`], 'LesionName', this.getLesionName(table.OrderMark, answer.RowIndex)) @@ -1342,6 +1343,15 @@ export default { this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], 'IsLymphNodes', i.val) } else if (i.questionMark === 5) { this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], 'LesionOrgan', i.val) + if (i.val !== '肝脏' && i.val !== 'Liver') { + this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], 'IntrahepaticLesion', 0) + const targetTable = this.tableQuestions[0].Childrens.find( + child => child.Id === obj.tableId + ) + if (typeof targetTable !== 'object') return + const intrahepaticLesionId = this.getQuestionId(21, targetTable.TableQuestions.Questions) + this.$set(this.innerFormData[`${obj.tableId}_${obj.rowIndex}`], intrahepaticLesionId, 0) + } if (innerForm.LesionType === 2) { this.setNewTargetState(obj.tableId, obj.rowIndex) } diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/TableQuestionFormItem.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/TableQuestionFormItem.vue index 6f151adf..dfbe8d05 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/TableQuestionFormItem.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/mRecist/TableQuestionFormItem.vue @@ -42,7 +42,7 @@ :key="qs.Id" :label="`${qs.QuestionName}`" :prop="qs.Id" - :title="(qs.QuestionMark === 0 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1) && questionForm.IntrahepaticLesion) ? $t('trials:mRecist:warnning:msg1') : ''" + :title="(qs.QuestionMark === 0 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1 || lesionType === 2) && questionForm.IntrahepaticLesion) ? $t('trials:mRecist:warnning:msg1') : ''" :rules="[ { required: (qs.IsRequired === 0 || (qs.IsRequired ===1 && qs.RelevanceId && (questionForm[qs.RelevanceId] === qs.RelevanceValue)) || (qs.QuestionMark === 6 && questionForm.IsCanEditPosition === true) || (questionForm.IsCanEditPosition && qs.QuestionMark === 10) || (qs.QuestionMark === 21 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1 || lesionType === 2)) || (qs.QuestionMark === 0 && (questionForm.LesionOrgan === '肝脏' || questionForm.LesionOrgan === 'Liver') && (lesionType === 0 || lesionType === 1 || lesionType === 2))) && qs.Type!=='group' && qs.Type!=='summary', message:['radio', 'select', 'checkbox'].includes(qs.Type) ? $t('common:ruleMessage:select') : $t('common:ruleMessage:specify'), trigger: ['blur','change']}, @@ -77,7 +77,7 @@ v-model="qsForm[qs.Id]" filterable :placeholder="qs.QuestionMark === 8 ? $t('common:placeholder:selectorsearch') : qs.QuestionMark === 2 ? '' : $t('common:placeholder:select')" - :disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))" + :disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 21 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (questionForm.LesionOrgan && questionForm.LesionOrgan !== '肝脏' && questionForm.LesionOrgan !== 'Liver' && qs.QuestionMark === 21)" @change="((val)=>{formItemChange(val, qs)})" >