update:扣分

This commit is contained in:
ltx 2026-10-15 13:24:43 +08:00
parent 063e7d2f65
commit 96eb9ce91e
2 changed files with 3 additions and 3 deletions

View File

@ -60,7 +60,7 @@ const scoreCards=computed(()=>{
const scoreRuleCode=effectiveCast.value?.scoreRuleCode;
const prescribed=String(scoreRuleCode||'').toUpperCase().includes('PRESCRIBED');
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:'表现',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'}]
.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));

View File

@ -57,7 +57,7 @@
<el-table-column v-if="showDifficulty" label="难度分 D" min-width="100" align="center"><template #default="{ row }">{{ score(row.result?.difficultyScore) }}</template></el-table-column>
<el-table-column :label="showFactorScores ? '表现系数 P' : performanceScoreLabel" min-width="110" align="center"><template #default="{ row }">{{ score(row.result?.performanceScore) }}</template></el-table-column>
<el-table-column v-if="showRequiredScore" :label="showFactorScores ? '规定系数 Q' : requiredScoreLabel" min-width="110" align="center"><template #default="{ row }">{{ score(row.result?.requiredScore) }}</template></el-table-column>
<el-table-column :label="showFactorScores ? '得分系数 M' : deductionScoreLabel" min-width="110" align="center"><template #default="{ row }">{{ deductionScoreText(row.result, row._session?.scoreRuleCode) }}</template></el-table-column>
<el-table-column :label="showFactorScores ? '扣分 M' : deductionScoreLabel" min-width="110" align="center"><template #default="{ row }">{{ deductionScoreText(row.result, row._session?.scoreRuleCode) }}</template></el-table-column>
<el-table-column label="总分" width="96" align="center"><template #default="{ row }"><b class="total" :class="{ dq: row.result?.isDisqualified }">{{ row.result?.isDisqualified ? 'DQ' : score(row.result?.totalScore ?? row.result?.scoreText) }}</b></template></el-table-column>
<el-table-column label="状态" width="96" fixed="right" align="center"><template #default="{ row }"><el-tag v-if="row.result" :type="resultTag(row.result.resultStatus)" effect="light">{{ row.result.resultStatusName }}</el-tag><span v-else class="muted">计算中</span></template></el-table-column>
<el-table-column label="操作" :width="activeTab === 'screen' ? 190 : 250" fixed="right" align="center"><template #default="{ row }">
@ -197,7 +197,7 @@ const detailJudgeGroups=computed(()=>{
{key:'difficulty',label:'难度分(得分)',summaryLabel:'得分'},
{key:'performance',label:prescribed?'创意编排分':'表现分(系数)',summaryLabel:'得分'},
{key:'required',label:prescribed?'完成质量分':'规定(系数)',summaryLabel:'得分'},
{key:'deduction',label:prescribed?'扣分':'扣分明细',summaryLabel:factor?'得分系数 M':'合计'},
{key:'deduction',label:prescribed?'扣分':'扣分明细',summaryLabel:factor?'扣分 M':'合计'},
];
const result=groups.filter(group=>(group.key!=='difficulty'||!prescribed)&&(group.key!=='required'||!wire)).map(group=>({...group,judges:sheets.filter(sheet=>judgeGroupKey(sheet)===group.key)}));
const others=sheets.filter(sheet=>judgeGroupKey(sheet)==='other');