Browse Source

feat : 搜索应该获取本地数据

dev
徐振升 1 week ago
parent
commit
1b53ab9d77
  1. 1
      lib/app/features/enterprise/domain/usecases/upload_enterprises_usecase.dart
  2. 30
      lib/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart
  3. 2
      lib/app/features/enterprise/presentation/pages/enterprise_list_page.dart

1
lib/app/features/enterprise/domain/usecases/upload_enterprises_usecase.dart

@ -32,6 +32,7 @@ class UploadEnterprisesUseCase {
}
///
/// todo -- (Request-Acknowledge-Update)
/// [onProgress] (Controller)
Future<UploadResult> call({
required List<EnterpriseListItem> enterprisesToUpload,

30
lib/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart

@ -87,13 +87,7 @@ class EnterpriseListController extends GetxController {
isSyncing(false);
// 3:
final result = await getEnterpriseListUsecase.call(
name: nameController.text,
type: selectedType.value?.displayText,
startDate: startDate.value,
endDate: endDate.value,
);
enterpriseList.assignAll(result);
await loadEnterprises();
} catch (e) {
Get.snackbar('错误', '操作失败: $e');
} finally {
@ -149,7 +143,25 @@ class EnterpriseListController extends GetxController {
}
void search() {
loadAndSyncEnterprises();
loadEnterprises();
}
Future<void> loadEnterprises() async {
expansibleController.collapse();
isLoading.value = true;
try {
final result = await getEnterpriseListUsecase.call(
name: nameController.text,
type: selectedType.value?.displayText,
startDate: startDate.value,
endDate: endDate.value,
);
enterpriseList.assignAll(result);
} catch (e) {
Get.snackbar('错误', '加载企业列表失败: $e');
} finally {
isLoading.value = false;
}
}
void clearFilters() {
@ -157,7 +169,7 @@ class EnterpriseListController extends GetxController {
selectedType.value = null;
startDate.value = null;
endDate.value = null;
loadAndSyncEnterprises();
loadEnterprises();
}
///

2
lib/app/features/enterprise/presentation/pages/enterprise_list_page.dart

@ -209,7 +209,7 @@ class EnterpriseListPage extends GetView<EnterpriseListController> {
// 使
return RefreshIndicator(
onRefresh: () async => controller.search(),
onRefresh: () async => controller.loadAndSyncEnterprises(),
child: ListView.builder(
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 8.h),
itemCount: controller.enterpriseList.length,

Loading…
Cancel
Save