修复成绩里面关于等级显示的问题,因为之前修改了字段名称,这个页面忘了对应了

This commit is contained in:
ywyonui 2025-08-16 00:29:48 +08:00
parent 491caea6c9
commit c6044754c4

View File

@ -10,13 +10,13 @@
<text class="total-score">{{ksccKmList.length}}满分{{ totalKmFs }}</text>
<text class="grade">{{ curKsdj.dfbs }}</text>
<text class="grade">{{ curKsdj.dj }}</text>
<view class="grade-info">
<text class="grade-explanation" @click="showGradeInfo">等级说明</text>
<view class="grade-box">
<text class="grade-label">区域等级</text>
<text class="grade-value">{{ curKsdj.dsms }}</text>
<text class="grade-value" :style="{ color: curKsdj.djclr }">{{ curKsdj.djBx }}</text>
</view>
</view>
</view>
@ -61,11 +61,11 @@
>
<view class="subject-header">
<text class="subject-name">{{ kscj.km.kmmc }}</text>
<text v-if="showFsFlag && kscj.ksdj.id">分数{{ kscj.ksfs }}</text>
<text v-if="showFsFlag && kscj.dj">分数{{ kscj.ksfs }}</text>
</view>
<view class="subject-body">
<text class="subject-grade">{{ kscj.ksdj.dfbs }}</text>
<text class="detail-btn" :style="{ color: kscj.ksdj.djclr }" v-if="kscj.ksdj.id">{{ kscj.ksdj.dsms }}</text>
<text class="subject-grade">{{ kscj.dj }}</text>
<text class="detail-btn" :style="{ color: kscj.djclr }" v-if="kscj.dj">{{ kscj.djBx }}</text>
</view>
</view>
</view>
@ -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();
}