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:
parent
cdd275479e
commit
299de2005a
|
|
@ -21,7 +21,6 @@ class PendingContractsPage extends ConsumerStatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
|
class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
|
||||||
List<ContractSigningTask> _pendingTasks = [];
|
|
||||||
List<ContractSigningTask> _unsignedTasks = [];
|
List<ContractSigningTask> _unsignedTasks = [];
|
||||||
bool _isLoading = true;
|
bool _isLoading = true;
|
||||||
String? _errorMessage;
|
String? _errorMessage;
|
||||||
|
|
@ -41,20 +40,16 @@ class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
|
||||||
try {
|
try {
|
||||||
final service = ref.read(contractSigningServiceProvider);
|
final service = ref.read(contractSigningServiceProvider);
|
||||||
|
|
||||||
// 并行获取待签署和未签署任务
|
// 获取所有未签署任务(包括待签署和超时未签署)
|
||||||
final results = await Future.wait([
|
final tasks = await service.getUnsignedTasks();
|
||||||
service.getPendingTasks(),
|
|
||||||
service.getUnsignedTasks(),
|
|
||||||
]);
|
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
_pendingTasks = results[0];
|
_unsignedTasks = tasks;
|
||||||
_unsignedTasks = results[1];
|
|
||||||
_isLoading = false;
|
_isLoading = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// 如果没有待签署任务,自动返回
|
// 如果没有待签署任务,自动返回
|
||||||
if (_pendingTasks.isEmpty && _unsignedTasks.isEmpty) {
|
if (_unsignedTasks.isEmpty) {
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
context.pop(true);
|
context.pop(true);
|
||||||
}
|
}
|
||||||
|
|
@ -182,9 +177,7 @@ class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
final allTasks = [..._pendingTasks, ..._unsignedTasks];
|
if (_unsignedTasks.isEmpty) {
|
||||||
|
|
||||||
if (allTasks.isEmpty) {
|
|
||||||
return const Center(
|
return const Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
|
@ -209,8 +202,8 @@ class _PendingContractsPageState extends ConsumerState<PendingContractsPage> {
|
||||||
color: const Color(0xFFD4AF37),
|
color: const Color(0xFFD4AF37),
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
padding: const EdgeInsets.all(16),
|
padding: const EdgeInsets.all(16),
|
||||||
itemCount: allTasks.length,
|
itemCount: _unsignedTasks.length,
|
||||||
itemBuilder: (context, index) => _buildTaskCard(allTasks[index]),
|
itemBuilder: (context, index) => _buildTaskCard(_unsignedTasks[index]),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue