diff --git a/src/components/page/articleDetailEditor.vue b/src/components/page/articleDetailEditor.vue index e829cd5..c4a5128 100644 --- a/src/components/page/articleDetailEditor.vue +++ b/src/components/page/articleDetailEditor.vue @@ -1847,15 +1847,24 @@ export default { }, // 算平均分 avegeCount(arry) { - var ratedLength = arry.map(item => item.rated).filter(rated => rated&&rated>0).length; - let str = 0; - let all = 0; - for (let i = 0; i < arry.length; i++) { - all += Number(arry[i].rated); - } - str = (all / ratedLength).toFixed(1); - return str; - }, + // 1. 计算有有效评分的数量 + var ratedLength = arry.map(item => item.rated).filter(rated => rated && rated > 0).length; + + let all = 0; + // 2. 累加总分 + for (let i = 0; i < arry.length; i++) { + all += Number(arry[i].rated || 0); // 加上 || 0 防止出现 undefined 导致计算失败 + } + + // 3. 核心判断逻辑 + // 如果没有评分的人(ratedLength 为 0),或者总分就是 0,直接返回 "-" + // 否则计算平均分并保留一位小数 + let str = (ratedLength > 0 && all > 0) + ? (all / ratedLength).toFixed(1) + : "-"; + + return str; +}, // 算终审分 finalCount(arry) { diff --git a/src/components/page/articleListEditor_A.vue b/src/components/page/articleListEditor_A.vue index 8cf0cab..4a6f38c 100644 --- a/src/components/page/articleListEditor_A.vue +++ b/src/components/page/articleListEditor_A.vue @@ -1458,15 +1458,25 @@ export default { }, // 算平均分 avegeCount(arry) { - var ratedLength = arry.map(item => item.rated).filter(rated => rated&&rated>0).length; - let str = 0; - let all = 0; - for (let i = 0; i < arry.length; i++) { - all += Number(arry[i].rated); - } - str = (all / ratedLength).toFixed(1); - return str; - }, + // 1. 计算有有效评分的数量 + var ratedLength = arry.map(item => item.rated).filter(rated => rated && rated > 0).length; + + let all = 0; + // 2. 累加总分 + for (let i = 0; i < arry.length; i++) { + all += Number(arry[i].rated || 0); // 加上 || 0 防止出现 undefined 导致计算失败 + } + + // 3. 核心判断逻辑 + // 如果没有评分的人(ratedLength 为 0),或者总分就是 0,直接返回 "-" + // 否则计算平均分并保留一位小数 + let str = (ratedLength > 0 && all > 0) + ? (all / ratedLength).toFixed(1) + : "-"; + + return str; +}, + toggleShowAll(item, i) { this.$set(this.tableData[i], 'showAll', !item.showAll); this.$forceUpdate();