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"> @@ -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"> @@ -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) {