From 365791624e05fa0abd58a773f64c315710b8380f Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 11 Dec 2025 11:02:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=8A=A8=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E8=A7=84=E5=88=99=E7=BB=9D=E5=AF=B9=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/customize/QuestionFormItem.vue | 42 +++++++++++++------ .../components/customize/QuestionList.vue | 2 +- .../components/customize/ReportPage.vue | 14 +++++-- .../reading-unit/components/QuestionsForm.vue | 9 ++-- .../reading-unit/components/TableQsForm.vue | 7 ++-- 5 files changed, 50 insertions(+), 24 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue index 9c569c90..39500471 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue @@ -486,8 +486,8 @@ export default { } }) DicomEvent.$on('operateImageMarker', (data) => { - let { operateStateEnum, QuestionId, picturePath } = data - if (this.question.Id === QuestionId) { + let { operateStateEnum, QuestionId, picturePath, visitTaskId } = data + if (this.question.Id === QuestionId && visitTaskId === this.visitTaskId) { this.operateImageMarker({ operateStateEnum, question: this.question, picturePath }) } }) @@ -842,17 +842,33 @@ export default { break; } } else { - if (this.questionForm[o.TableQuestionId] === 'NE') { - isNE = true - } - if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { - num = parseFloat(this.questionForm[o.TableQuestionId]) - } else { - isNAN = true - } - if (!isNaN(num)) { - dataArr.push(num) + switch (rules.CustomCalculateMark) { + case 15: + if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { + num = Math.abs(this.questionForm[o.TableQuestionId]) + } + else { + isNAN = true + } + if (this.questionForm[o.TableQuestionId] === 'NE') { + isNE = true + } + break; + default: + if (this.questionForm[o.TableQuestionId] === 'NE') { + isNE = true + } + if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { + num = parseFloat(this.questionForm[o.TableQuestionId]) + } else { + isNAN = true + } + if (!isNaN(num)) { + dataArr.push(num) + } + break; } + } } else { if (this.questionForm[o.TableQuestionId] === 'NE') { @@ -939,7 +955,7 @@ export default { break; case 15: if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { - num = Math.abs(num) + num = Math.abs(this.questionForm[o.TableQuestionId]) } else { isNAN = true diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue index 5422189b..00b1ecdd 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue @@ -643,7 +643,7 @@ export default { if (!item.MeasureData || item.MeasureData.annotationUID !== annotation.annotationUID) continue const isTableMode = item.TableQuestionId if (!isTableMode && this.questionsMarkStatus[item.QuestionId] && !this.questionsMarkStatus[item.QuestionId].isSaved && this.questionsMarkStatus[item.QuestionId].isMarked) { - DicomEvent.$emit('operateImageMarker', { QuestionId: item.QuestionId, operateStateEnum: 5, picturePath }) + DicomEvent.$emit('operateImageMarker', { QuestionId: item.QuestionId, operateStateEnum: 5, picturePath, visitTaskId: this.visitTaskId }) break } } diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/ReportPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/ReportPage.vue index bed7a11e..f02ac930 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/ReportPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/ReportPage.vue @@ -535,7 +535,15 @@ export default { } }) num = arr1.length === 0 ? 0 : Math.min(...arr1) - break + break; + case 15: + if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { + num = Math.abs(this.questionForm[o.TableQuestionId]) + } + else { + isNAN = true + } + break; } } else { if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { @@ -624,7 +632,7 @@ export default { break; case 15: if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) { - num = Math.abs(num) + num = Math.abs(this.questionForm[o.TableQuestionId]) } break; } @@ -637,7 +645,7 @@ export default { return 'NE' } if (isNAN) { - return null + return false } if (rules.ValueType === 2) { num = num * 100 diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue b/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue index 6fafe986..d9792647 100644 --- a/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue +++ b/src/views/trials/trials-panel/setting/reading-unit/components/QuestionsForm.vue @@ -389,7 +389,7 @@ @change="(v) => CustomCalculateMarkChange(v)">