update:表现裁判失误数量

This commit is contained in:
ltx 2026-10-12 14:45:55 +08:00
parent f974632ac1
commit cbe734f846

View File

@ -213,11 +213,10 @@ const difficultyItemSections=computed(()=>{
{key:'other',title:'其他评分项',items:other},
].filter(section=>section.items.length);
});
// 只合并详情展示值:失误联动减数量并入同维度的减数量,不改接口原始明细或计分结果。
// 只合并详情展示值:失误联动减数量并入同维度的减数量,原始失误次数单独列在末尾。
const performanceDetailItems=computed(()=>{
if(!isPerformanceJudge.value)return [];
const items=selectedJudgeItems.value;
const isMinus=item=>String(item.itemCode||'').toUpperCase().endsWith('_MINUS');
const isSummary=item=>Number(item.itemType)===3&&String(item.itemCode||'').toUpperCase().endsWith('_SCORE');
const adjustment=item=>String(item.itemName||'').trim().match(/^(.+?)[((]\s*(减数量|失误联动减数量)\s*[))]$/);
const linkedItems=items.filter(item=>adjustment(item)?.[2]==='失误联动减数量');
@ -226,10 +225,9 @@ const performanceDetailItems=computed(()=>{
const name=adjustment(item)[1].trim();
linkedByName.set(name,(linkedByName.get(name)||0)+Number(item.countValue??item.inputValue??0));
}
const failure=items.find(item=>String(item.itemCode||'').toUpperCase()==='FAILURE_COUNT');
const linked=Boolean(failure&&(linkedItems.length||items.some(isMinus))&&String(detailRow.value?._session?.scoreRuleCode||'').toUpperCase()!=='FREESTYLE_SINGLE');
const failure=items.find(item=>String(item.itemCode||'').toUpperCase()==='FAILURE_COUNT'||String(item.itemName||'').trim()==='失误次数');
const mergedNames=new Set();
const visible=items.filter(item=>!isSummary(item)&&!linkedItems.includes(item)&&!(linked&&item===failure)).map(item=>{
const visible=items.filter(item=>!isSummary(item)&&!linkedItems.includes(item)&&item!==failure).map(item=>{
const match=adjustment(item);
if(match?.[2]!=='减数量')return item;
const name=match[1].trim();
@ -243,7 +241,9 @@ const performanceDetailItems=computed(()=>{
mergedNames.add(name);
visible.push({...item,itemName:`${name}(减数量)`,countValue:linkedByName.get(name)});
}
return visible.sort((a,b)=>(Number(a.sort)||0)-(Number(b.sort)||0));
visible.sort((a,b)=>(Number(a.sort)||0)-(Number(b.sort)||0));
if(failure)visible.push(failure);
return visible;
});
const correctionStatuses=[{value:0,label:'已申请'},{value:10,label:'已批准'},{value:20,label:'已拒绝'},{value:30,label:'裁判修改中'},{value:40,label:'已完成'}];
const correctionGroups=computed(()=>{const map=new Map();for(const s of correctionRow.value?.judgeScores||[]){if(s.scoreSheetId>0&&s.sheetStatus>=10&&s.judgeRoleType!==undefined&&!map.has(s.judgeRoleType)){map.set(s.judgeRoleType,{judgeRoleType:s.judgeRoleType,judgeRoleName:s.judgeRoleName||`${s.judgeRoleType}号类型`})}}return [...map.values()]});