fix: 按秩序册顺序展示成绩场次
This commit is contained in:
parent
9c76905cfe
commit
9dc6151714
@ -253,6 +253,15 @@ async function selectSession(session){
|
||||
clearResultSelection();selectedProjectId.value=project.key;selectedSession.value=session;await loadEntries();
|
||||
}
|
||||
function selectSessionById(sessionId){const session=sessions.value.find(item=>item.sessionId===sessionId);if(session)selectSession(session)}
|
||||
function compareIntegerText(left,right){
|
||||
const a=String(left??'').replace(/^0+/,'')||'0',b=String(right??'').replace(/^0+/,'')||'0';
|
||||
return a.length-b.length||a.localeCompare(b);
|
||||
}
|
||||
function compareEntrySchedule(a,b){
|
||||
const aOrder=a.scheduleOrder,bOrder=b.scheduleOrder;
|
||||
if(aOrder&&bOrder){const result=compareIntegerText(aOrder,bOrder);if(result)return result}
|
||||
return a._sessionOrder-b._sessionOrder||(Number(a.playOrder)||a._rowOrder)-(Number(b.playOrder)||b._rowOrder);
|
||||
}
|
||||
async function loadEntries(silent=false){
|
||||
const projectSessions=[...selectedProjectSessions.value];
|
||||
if(!projectSessions.length)return;
|
||||
@ -262,7 +271,7 @@ async function loadEntries(silent=false){
|
||||
try{
|
||||
const responses=await Promise.all(projectSessions.map((session,sessionOrder)=>workbenchSessionEntriesGet(session.sessionId,{keyword:entryKeyword.value||undefined,resultStatus:resultStatus.value??undefined}).then(res=>(res?.data||[]).map((row,rowOrder)=>({...row,_session:session,_sessionOrder:sessionOrder,_rowOrder:rowOrder})))));
|
||||
if(requestId!==entriesRequestId)return;
|
||||
entries.value=responses.flat().sort((a,b)=>a._sessionOrder-b._sessionOrder||(Number(a.playOrder)||a._rowOrder)-(Number(b.playOrder)||b._rowOrder));
|
||||
entries.value=responses.flat().sort(compareEntrySchedule);
|
||||
offline.value=false;
|
||||
await restoreResultSelection(previousEntryIds);
|
||||
}catch{if(requestId===entriesRequestId)offline.value=true}finally{if(requestId===entriesRequestId)loadingEntries.value=false}
|
||||
@ -327,7 +336,11 @@ function formatSessionText(sessionNo) {
|
||||
}
|
||||
return String(sessionNo).replace(/^EP/i, '场次 ');
|
||||
}
|
||||
function rowSessionDisplay(row){const session=row?._session;if(!session)return '—';return formatSessionName(session,session._sourceIndex).replace(/\s+/g,'')}
|
||||
function rowSessionDisplay(row){
|
||||
const sessionOrder=Number(row?.sessionOrder);
|
||||
if(Number.isInteger(sessionOrder)&&sessionOrder>0)return `第${sessionOrder}场`;
|
||||
const session=row?._session;if(!session)return '—';return formatSessionName(session,session._sourceIndex).replace(/\s+/g,'');
|
||||
}
|
||||
function onSelection(rows){if(!restoringSelection)syncSelection(rows)}
|
||||
function showDetail(row){detailRow.value=row;detailVisible.value=true}
|
||||
function handleRowCommand(command,row){if(command==='correction')openCorrection(row);else if(command==='rematch')openReason('rematch',row);else if(command==='void')openReason('void',row);else if(command==='export')exportSheets(row)}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user