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> {
|
||||
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]),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue