From da252ae4df7f22791f09e4506aef5fd4c7aa5fa0 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 4 Mar 2026 11:26:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E5=80=BC=E9=97=AE=E9=A2=98=E7=AD=94?=
=?UTF-8?q?=E6=A1=88=E4=B8=BANE=E4=BF=9D=E5=AD=98bug=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading/dicoms/components/IVUS/QuestionList.vue | 11 ++++++++---
.../reading/dicoms/components/OCT/QuestionList.vue | 10 ++++++++--
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index 1050b4cd..5f9f2d02 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -114,7 +114,7 @@
v-else
type="number"
@change="(val) => { formItemChange(val, item) }"
- @input="(val) => questionForm[item.Id] = val.replace(/[^\d.]/g, '')"
+ @input="numberInput(item.Id)"
@blur="handleBlur(questionForm[item.Id], questionForm, item)"
v-model.trim="questionForm[item.Id]" :disabled="readingTaskState === 2">
{{ item.Unit !== 4 ? $fd('ValueUnit', item.Unit) : item.CustomUnit }}
@@ -369,7 +369,7 @@ export default {
const type = ['number', 'radio', 'select', 'input', 'textarea', 'calculation']
questions.forEach(item => {
if (type.includes(item.Type)) {
- const answer = item.Type === 'select' && item.OptionTypeEnum === 1 && item.Answer ? JSON.parse(item.Answer) : item.Type === 'number' || item.Type === 'calculation' ? isNaN(parseFloat(item.Answer)) ? null : item.Answer : item.Answer
+ const answer = item.Type === 'select' && item.OptionTypeEnum === 1 && item.Answer ? JSON.parse(item.Answer) : item.Answer
this.$set(this.questionForm, item.Id, answer)
}
if (item.QuestionType === 1013) {
@@ -498,7 +498,6 @@ export default {
},
formItemChange(val, item) {
- console.log('formItemChange: ', item.QuestionName, val)
this.formChanged = true
// if (item.Type === 'number') {
// this.limitBlur(item.Id, item.ValueType)
@@ -546,6 +545,7 @@ export default {
}
},
numberOrNEInput(id) {
+ this.formChanged = true
// this.questionForm[id] = this.questionForm[id].toUpperCase();
if (!this.questionForm[id]) {
return
@@ -564,6 +564,11 @@ export default {
this.questionForm[id] = value
this.$set(this.questionForm, id, value)
},
+ numberInput(id) {
+ this.formChanged = true
+ let value = this.questionForm[id].replace(/[^\d.]/g, '')
+ this.$set(this.questionForm, id, value)
+ },
handleNumberOrNEBlur(item) {
if (this.questionForm[item.Id] && !isNaN(parseFloat(this.questionForm[item.Id]))) {
if (item.ValueType === 3) {
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
index edce5886..c9924c12 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -122,7 +122,7 @@
v-else
type="number"
@change="(val) => { formItemChange(val, item) }"
- @input="(val) => questionForm[item.Id] = val.replace(/[^\d.]/g, '')"
+ @input="numberInput(item.Id)"
@blur="handleBlur(questionForm[item.Id], questionForm, item)"
v-model.trim="questionForm[item.Id]" :disabled="readingTaskState === 2">
{{ item.Unit !== 4 ? $fd('ValueUnit', item.Unit) : item.CustomUnit }}
@@ -369,7 +369,7 @@ export default {
const type = ['number', 'radio', 'select', 'input', 'textarea', 'calculation']
questions.forEach(item => {
if (type.includes(item.Type)) {
- const answer = item.Type === 'select' && item.OptionTypeEnum === 1 && item.Answer ? JSON.parse(item.Answer) : item.Type === 'number' || item.Type === 'calculation' ? isNaN(parseFloat(item.Answer)) ? null : item.Answer : item.Answer
+ const answer = item.Type === 'select' && item.OptionTypeEnum === 1 && item.Answer ? JSON.parse(item.Answer) : item.Answer
this.$set(this.questionForm, item.Id, answer)
}
if (item.QuestionType === 1013) {
@@ -541,6 +541,7 @@ export default {
}
},
numberOrNEInput(id) {
+ this.formChanged = true
// this.questionForm[id] = this.questionForm[id].toUpperCase();
if (!this.questionForm[id]) {
return
@@ -559,6 +560,11 @@ export default {
this.questionForm[id] = value
this.$set(this.questionForm, id, value)
},
+ numberInput(id) {
+ this.formChanged = true
+ let value = this.questionForm[id].replace(/[^\d.]/g, '')
+ this.$set(this.questionForm, id, value)
+ },
handleNumberOrNEBlur(item) {
if (this.questionForm[item.Id] && !this.questionForm[item.Id].startsWith('N')) {
if (item.ValueType === 3) {