fix(mobile-app): 修复待签署合同列表重复显示问题

之前同时调用 getPendingTasks 和 getUnsignedTasks 然后合并,
导致待签署的任务显示两次。现在只使用 getUnsignedTasks。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-25 03:07:24 -08:00
parent cdd275479e
commit 299de2005a
1 changed files with 7 additions and 14 deletions

View File

@ -21,7 +21,6 @@ class PendingContractsPage extends ConsumerStatefulWidget {
}
class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
List<ContractSigningTask> _pendingTasks = [];
List<ContractSigningTask> _unsignedTasks = [];
bool _isLoading = true;
String? _errorMessage;
@ -41,20 +40,16 @@ class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
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<PendingContractsPage> {
);
}
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<PendingContractsPage> {
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]),
),
);
}