个人项目只展示当前出场人

This commit is contained in:
马梓彭 2026-09-23 10:35:50 +08:00
parent 01b19bdcbf
commit 8f95150f17
2 changed files with 20 additions and 6 deletions

View File

@ -125,6 +125,14 @@ abstract final class RemoteScoringAdapter {
JudgeScoreSheet sheet,
) {
final memberNames = sheet.header.memberNames;
final isPersonal = sheet.header.scope.toLowerCase() == 'personal';
final participantName = sheet.header.participantName.trim().isNotEmpty
? sheet.header.participantName.trim()
: entry.participantName.trim();
// 单位报名的个人项目可能与其他运动员共享报名项,个人评分页只展示当前出场人。
final athleteLabel = isPersonal
? (memberNames.length == 1 ? memberNames.single : participantName)
: (memberNames.isEmpty ? entry.participantName : memberNames.join('、'));
return ScoringTask(
taskId: entry.sessionEntryId,
eventId: session.eventId,
@ -143,13 +151,11 @@ abstract final class RemoteScoringAdapter {
? entry.groupName
: sheet.header.groupName,
teamId: entry.sessionEntryId,
teamName: entry.participantName,
athleteLabel: memberNames.isEmpty
? entry.participantName
: memberNames.join('、'),
teamName: isPersonal ? '' : entry.participantName,
athleteLabel: athleteLabel,
ruleVersion: session.ruleName,
scheduledAt: session.startTime ?? DateTime.now(),
prescribedEntryType: sheet.header.scope.toLowerCase() == 'personal'
prescribedEntryType: isPersonal
? PrescribedEntryType.individual
: PrescribedEntryType.collective,
);

View File

@ -44,6 +44,14 @@ class CompetitionHeader extends StatelessWidget {
@override
Widget build(BuildContext context) {
final normalizedTeamLabel = teamLabel.trim();
final normalizedAthleteLabel = athleteLabel.trim();
final participantText =
normalizedTeamLabel.isEmpty ||
normalizedTeamLabel == normalizedAthleteLabel
? normalizedAthleteLabel
: '$normalizedTeamLabel:$normalizedAthleteLabel';
return Column(
children: [
Container(
@ -224,7 +232,7 @@ class CompetitionHeader extends StatelessWidget {
),
Flexible(
child: Text(
'$teamLabel:$athleteLabel',
participantText,
maxLines: 1,
overflow: TextOverflow.ellipsis,
),