diff --git a/lib/features/events/model/model_event_info.dart b/lib/features/events/model/model_event_info.dart index b4d03ae..d8e1a74 100644 --- a/lib/features/events/model/model_event_info.dart +++ b/lib/features/events/model/model_event_info.dart @@ -127,6 +127,7 @@ class EventRegistrationItem { required this.itemName, required this.groupName, required this.matchPlace, + required this.allowByeMatch, this.matchStartTime = '', this.matchEndTime = '', @@ -154,6 +155,7 @@ class EventRegistrationItem { final String opponentName; final List teamMembers; final String playerNo; + final int allowByeMatch; /// 来自报名列表父级,不在 item JSON 内 final String userId; @@ -202,6 +204,7 @@ class EventRegistrationItem { userId: userId, playerName: playerName, playerNo: _readString(map, const ['playerNo']), + allowByeMatch: _readInt(map, const ['allowByeMatch']), ); } diff --git a/lib/features/events/pages/page_event_info.dart b/lib/features/events/pages/page_event_info.dart index 0e5e182..c919faf 100644 --- a/lib/features/events/pages/page_event_info.dart +++ b/lib/features/events/pages/page_event_info.dart @@ -32,6 +32,13 @@ class _EventInfoPageState extends ConsumerState { if (!mounted) return; CompetitionTeamDetail? detail; if (item.opponentId.isNotEmpty && item.opponentId != '0') { + // allowByeMatch = 0 (直接晋级) + // allowByeMatch = 1 (和败方对战) + // allowByeMatch = -1 (个人赛不适用此配置,所以 = -1) + if (item.allowByeMatch == 0) { + AppToast.show('本场比赛允许轮空'); + return; + } detail = await ref .read(competitionTeamsServerProvider) .fetchTeamDetail( @@ -51,6 +58,14 @@ class _EventInfoPageState extends ConsumerState { ); return; } + await ref + .read(competitionTeamsServerProvider) + .fetchTeamDetail( + itemId: item.itemId, + eventId: item.eventId, + scheduleId: item.scheduleId, + opponentId: item.opponentId, + ); if (!mounted) return;