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 c3ad9e80..deec77ee 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 @@ -687,11 +687,27 @@ export default { const m1 = this.qsForm[this.m1Id] const m2 = this.qsForm[this.m2Id] const m3 = this.qsForm[this.m3Id] - if (isNaN(parseFloat(m1)) || isNaN(parseFloat(m2)) || isNaN(parseFloat(m3))) { - this.$set(this.qsForm, this.avgId, null) - } else { - const avg = (parseFloat(m1) + parseFloat(m2) + parseFloat(m3)) / 3 + // if (isNaN(parseFloat(m1)) || isNaN(parseFloat(m2)) || isNaN(parseFloat(m3))) { + // this.$set(this.qsForm, this.avgId, null) + // } else { + // const avg = (parseFloat(m1) + parseFloat(m2) + parseFloat(m3)) / 3 + // this.$set(this.qsForm, this.avgId, this.numberToFixed(avg)) + // } + //转成有效数字,无效的过滤掉 + const validNumbers = [] + if (!isNaN(parseFloat(m1))) validNumbers.push(parseFloat(m1)) + if (!isNaN(parseFloat(m2))) validNumbers.push(parseFloat(m2)) + if (!isNaN(parseFloat(m3))) validNumbers.push(parseFloat(m3)) + + //只要有效数字的平均值 + if (validNumbers.length > 0) { + // 总和 / 有效数字的个数 + const sum = validNumbers.reduce((a, b) => a + b, 0) + const avg = sum / validNumbers.length this.$set(this.qsForm, this.avgId, this.numberToFixed(avg)) + } else { + // 一个有效数字都没有 → 清空平均值 + this.$set(this.qsForm, this.avgId, null) } } },