diff --git a/src/views/scoring/screen/index.vue b/src/views/scoring/screen/index.vue index ef84738..64b937e 100644 --- a/src/views/scoring/screen/index.vue +++ b/src/views/scoring/screen/index.vue @@ -29,7 +29,7 @@ import { useRoute } from 'vue-router'; import { DocumentChecked, Flag, Location, Medal, Setting, Trophy, User, UserFilled } from '@element-plus/icons-vue'; import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes'; import { workbenchScreenCastCurrentGet } from '/@/api/match/workbench'; -import { isWireRule } from '../score-format.mjs'; +import { isFactorRule, isWireRule } from '../score-format.mjs'; const route=useRoute(),storesTagsViewRoutes=useTagsViewRoutes(); let savedContext={};try{savedContext=JSON.parse(sessionStorage.getItem('scoring-context')||'{}')}catch{savedContext={}} @@ -59,8 +59,9 @@ const scoreIconComponents={difficulty:Setting,performance:Medal,required:Documen const scoreCards=computed(()=>{ const scoreRuleCode=effectiveCast.value?.scoreRuleCode; const prescribed=String(scoreRuleCode||'').toUpperCase().includes('PRESCRIBED'); + const factor=isFactorRule(scoreRuleCode); const wire=isWireRule(scoreRuleCode); - return [{key:'difficulty',label:'难度',en:'DIFFICULTY',field:'difficultyScore'},{key:'performance',label:'表现',en:'PERFORMANCE',field:'performanceScore'},{key:'required',label:'规定',en:'REQUIRED',field:'requiredScore'},{key:'deduction',label:payload.value.deductionFactor!=null?'扣分 M':'扣分',en:'DEDUCTION',field:payload.value.deductionFactor!=null?'deductionFactor':'deductionScore'}] + return [{key:'difficulty',label:'难度得分',en:'DIFFICULTY',field:'difficultyScore'},{key:'performance',label:prescribed?'创意编排分':factor?'表现系数':'表现',en:'PERFORMANCE',field:'performanceScore'},{key:'required',label:prescribed?'完成质量分':factor?'规定系数':'规定',en:'REQUIRED',field:'requiredScore'},{key:'deduction',label:factor?'扣分系数 M':'扣分',en:'DEDUCTION',field:payload.value.deductionFactor!=null?'deductionFactor':'deductionScore'}] .filter(item=>(item.key!=='difficulty'||!prescribed)&&(item.key!=='required'||!wire)); }); const rankingAll=computed(()=>Array.isArray(payload.value)?payload.value:[]),rankingTotal=computed(()=>rankingAll.value.length),rankingPageCount=computed(()=>Math.max(1,Math.ceil(rankingTotal.value/6))),rankingPageIndex=computed(()=>rankPage.value%rankingPageCount.value),rankingRows=computed(()=>rankingAll.value.slice(rankingPageIndex.value*6,rankingPageIndex.value*6+6)),maxRankScore=computed(()=>Math.max(...rankingAll.value.map(row=>Number(row.totalScore??row.score)||0),1));