From 37e919df25bdfe32597f8cbd1bc8a83112c993a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=A2=93=E5=BD=AD?= Date: Tue, 13 Oct 2026 15:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=80=E6=9C=89=E9=A1=B9=E7=9B=AE=E6=89=93?= =?UTF-8?q?=E5=88=86=E9=A2=84=E8=A7=88=E9=A1=B5=E9=9D=A2=E5=92=8C=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E8=8A=B1=E6=A0=B7=E6=89=93=E5=88=86=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=8F=8F=E8=BF=B0=E5=BD=A2=E5=BC=8F=E4=BF=9D?= =?UTF-8?q?=E6=8C=81=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scoring/widgets/scoring_dialogs.dart | 44 ++++++++++++++----- test/submission_dialog_test.dart | 10 +++-- 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/lib/modules/scoring/widgets/scoring_dialogs.dart b/lib/modules/scoring/widgets/scoring_dialogs.dart index c546f9d..302b83f 100644 --- a/lib/modules/scoring/widgets/scoring_dialogs.dart +++ b/lib/modules/scoring/widgets/scoring_dialogs.dart @@ -313,6 +313,13 @@ class _SubmissionDetailCard extends StatelessWidget { final SubmissionScoreDetail detail; + String get description { + final labelPrefix = '${detail.label}:'; + return detail.description.startsWith(labelPrefix) + ? detail.description.substring(labelPrefix.length) + : detail.description; + } + @override Widget build(BuildContext context) => Container( padding: const EdgeInsets.symmetric(horizontal: 13, vertical: 10), @@ -330,16 +337,33 @@ class _SubmissionDetailCard extends StatelessWidget { ), child: Align( alignment: Alignment.centerLeft, - child: Text( - detail.description, - maxLines: 3, - overflow: TextOverflow.ellipsis, - style: const TextStyle( - color: AppColors.textPrimary, - fontSize: 14, - height: 1.3, - fontWeight: FontWeight.w700, - ), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + detail.label, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: const TextStyle( + color: AppColors.textPrimary, + fontSize: 14, + height: 1.3, + fontWeight: FontWeight.w700, + ), + ), + const SizedBox(height: 6), + Text( + description, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: const TextStyle( + color: AppColors.textSecondary, + fontSize: 12, + height: 1.3, + ), + ), + ], ), ), ); diff --git a/test/submission_dialog_test.dart b/test/submission_dialog_test.dart index 38e0340..3721ec7 100644 --- a/test/submission_dialog_test.dart +++ b/test/submission_dialog_test.dart @@ -7,7 +7,7 @@ import 'package:yd_pattern_scoring_system/modules/scoring/widgets/scoring_dialog void main() { tearDown(Get.reset); - testWidgets('提交确认弹窗仅展示评分类别和录入说明,不展示裁判得分', (tester) async { + testWidgets('提交确认弹窗分行展示评分类别和录入说明,不展示裁判得分', (tester) async { await tester.pumpWidget( GetMaterialApp( home: Scaffold( @@ -35,8 +35,12 @@ void main() { expect(find.text('确认提交成绩'), findsOneWidget); expect(find.text('评分内容(2项)'), findsOneWidget); - expect(find.text('音乐:加2次、减1次'), findsOneWidget); - expect(find.text('完成质量:12.5分'), findsOneWidget); + expect(find.text('音乐'), findsOneWidget); + expect(find.text('加2次、减1次'), findsOneWidget); + expect(find.text('完成质量'), findsOneWidget); + expect(find.text('12.5分'), findsOneWidget); + expect(find.text('音乐:加2次、减1次'), findsNothing); + expect(find.text('完成质量:12.5分'), findsNothing); expect(find.textContaining('裁判总分'), findsNothing); expect(find.textContaining('本次裁判得分'), findsNothing); });