From 299de2005aa998c4ea566f633950026e548a6e40 Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 25 Dec 2025 03:07:24 -0800 Subject: [PATCH] =?UTF-8?q?fix(mobile-app):=20=E4=BF=AE=E5=A4=8D=E5=BE=85?= =?UTF-8?q?=E7=AD=BE=E7=BD=B2=E5=90=88=E5=90=8C=E5=88=97=E8=A1=A8=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前同时调用 getPendingTasks 和 getUnsignedTasks 然后合并, 导致待签署的任务显示两次。现在只使用 getUnsignedTasks。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../pages/pending_contracts_page.dart | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart index ae346367..f47078c9 100644 --- a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart +++ b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart @@ -21,7 +21,6 @@ class PendingContractsPage extends ConsumerStatefulWidget { } class _PendingContractsPageState extends ConsumerState { - List _pendingTasks = []; List _unsignedTasks = []; bool _isLoading = true; String? _errorMessage; @@ -41,20 +40,16 @@ class _PendingContractsPageState extends ConsumerState { try { final service = ref.read(contractSigningServiceProvider); - // 并行获取待签署和未签署任务 - final results = await Future.wait([ - service.getPendingTasks(), - service.getUnsignedTasks(), - ]); + // 获取所有未签署任务(包括待签署和超时未签署) + final tasks = await service.getUnsignedTasks(); setState(() { - _pendingTasks = results[0]; - _unsignedTasks = results[1]; + _unsignedTasks = tasks; _isLoading = false; }); // 如果没有待签署任务,自动返回 - if (_pendingTasks.isEmpty && _unsignedTasks.isEmpty) { + if (_unsignedTasks.isEmpty) { if (mounted) { context.pop(true); } @@ -182,9 +177,7 @@ class _PendingContractsPageState extends ConsumerState { ); } - final allTasks = [..._pendingTasks, ..._unsignedTasks]; - - if (allTasks.isEmpty) { + if (_unsignedTasks.isEmpty) { return const Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -209,8 +202,8 @@ class _PendingContractsPageState extends ConsumerState { color: const Color(0xFFD4AF37), child: ListView.builder( padding: const EdgeInsets.all(16), - itemCount: allTasks.length, - itemBuilder: (context, index) => _buildTaskCard(allTasks[index]), + itemCount: _unsignedTasks.length, + itemBuilder: (context, index) => _buildTaskCard(_unsignedTasks[index]), ), ); }