diff --git a/src/pages/base/grades/detail.vue b/src/pages/base/grades/detail.vue index 8e7a334..8cae99a 100644 --- a/src/pages/base/grades/detail.vue +++ b/src/pages/base/grades/detail.vue @@ -10,13 +10,13 @@ 共{{ksccKmList.length}}科(满分{{ totalKmFs }}分) - {{ curKsdj.dfbs }} + {{ curKsdj.dj }} 等级说明 区域等级 - {{ curKsdj.dsms }} + {{ curKsdj.djBx }} @@ -61,11 +61,11 @@ > {{ kscj.km.kmmc }} - (分数{{ kscj.ksfs }}) + (分数{{ kscj.ksfs }}) - {{ kscj.ksdj.dfbs }} - {{ kscj.ksdj.dsms }} + {{ kscj.dj }} + {{ kscj.djBx }} @@ -395,18 +395,25 @@ const floatToInt = (floatNum: number, scale: number) => { return Math.round(floatNum * scale); } +let singleFlag = false; + // 初始化考试等级列表 -const initKsdj = () => { +const initKsdj = () => { + let maxDj = 0.0; + let maxKmDj = 0.0; djList.value.forEach((ksdj: any) => { - ksdj.djfsd = floatToInt(ksdj.djfsd, fsScale); // 等级最低分 - ksdj.djfsg = floatToInt(ksdj.djfsg, fsScale); // 等级最高分 - ksdj.djclr = colorMap[ksdj.dfbs] || ''; // 等级颜色 + ksdj.zdf = floatToInt(ksdj.zdf, fsScale); // 等级最低分 + ksdj.zgf = floatToInt(ksdj.zgf, fsScale); // 等级最高分 + ksdj.djclr = colorMap[ksdj.dj] || ''; // 等级颜色 + maxDj = Math.max(maxDj, ksdj.zgf); }); kmDjList.value.forEach((kmdj: any) => { - kmdj.djfsd = floatToInt(kmdj.djfsd, fsScale); // 等级最低分 - kmdj.djfsg = floatToInt(kmdj.djfsg, fsScale); // 等级最高分 - kmdj.djclr = colorMap[kmdj.dfbs] || ''; // 等级颜色 + kmdj.zdf = floatToInt(kmdj.zdf, fsScale); // 等级最低分 + kmdj.zgf = floatToInt(kmdj.zgf, fsScale); // 等级最高分 + kmdj.djclr = colorMap[kmdj.dj] || ''; // 等级颜色 + maxKmDj = Math.max(maxKmDj, kmdj.zgf); }); + singleFlag = maxDj < maxKmDj + 100; }; // 构建当前学期所有科目成绩(对象是按照{ 科目id:{ 日期:成绩 } }的结构拼接) @@ -448,8 +455,8 @@ const rebuildData = () => { ksfsList.push(cj.ksfs); totalFs += cj.ksfs; let fs = floatToInt(cj.ksfs, fsScale); + cj.djclr = colorMap[cj.dj] || ''; // 查询考试等级 - cj.ksdj = kmDjList.value.find((item: any) => item.kmId == cj.kmId && item.djfsd <= fs && item.djfsg >= fs) || {}; cj.km = ksccKmList.value.find((item: any) => item.kmId === cj.kmId) || {}; return cj; }); @@ -461,7 +468,10 @@ const rebuildData = () => { radarData.series = [{ name: "分数", data: ksfsList }]; // 当前成绩列表 totalFs = floatToInt(totalFs, fsScale); - curKsdj.value = djList.value.find((item: any) => item.djfsd <= totalFs && item.djfsg >= totalFs) || {}; + if (singleFlag) { + totalFs = totalFs / ksccKmList.value.length; + } + curKsdj.value = djList.value.find((item: any) => item.zdf <= totalFs && item.zgf >= totalFs) || {}; // 构建趋势图所需的成绩列表信息 buildXqKmKscjList(); }