diff --git a/lib/app/features/navigation/presentation/bindings/navigation_binding.dart b/lib/app/features/navigation/presentation/bindings/navigation_binding.dart index a108e6f..ea7f9d1 100644 --- a/lib/app/features/navigation/presentation/bindings/navigation_binding.dart +++ b/lib/app/features/navigation/presentation/bindings/navigation_binding.dart @@ -1,5 +1,6 @@ import 'package:get/get.dart'; import 'package:problem_check_system/app/core/services/network_status_service.dart'; +import 'package:problem_check_system/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart'; import 'package:problem_check_system/app/features/navigation/presentation/controllers/navigation_controller.dart'; class NavigationBinding extends Bindings { @@ -9,6 +10,7 @@ class NavigationBinding extends Bindings { Get.lazyPut( () => NavigationController( networkStatusService: Get.find(), + enterpriseListController: Get.find(), ), ); } diff --git a/lib/app/features/navigation/presentation/controllers/navigation_controller.dart b/lib/app/features/navigation/presentation/controllers/navigation_controller.dart index 5c97bf8..2efd41a 100644 --- a/lib/app/features/navigation/presentation/controllers/navigation_controller.dart +++ b/lib/app/features/navigation/presentation/controllers/navigation_controller.dart @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:problem_check_system/app/core/routes/app_routes.dart'; import 'package:problem_check_system/app/core/services/network_status_service.dart'; +import 'package:problem_check_system/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart'; import 'package:problem_check_system/app/features/enterprise/presentation/pages/enterprise_list_page.dart'; import 'package:problem_check_system/app/features/home/pages/home_page.dart'; import 'package:problem_check_system/app/features/my/views/my_page.dart'; @@ -17,7 +18,11 @@ class NavigationController extends GetxController { final double _edgePaddingY = 111.0.h; final fabUploadPosition = Offset(0, 0).obs; final NetworkStatusService networkStatusService; - NavigationController({required this.networkStatusService}); + final EnterpriseListController enterpriseListController; + NavigationController({ + required this.networkStatusService, + required this.enterpriseListController, + }); /// get 选中的 RxBool get isOnline => networkStatusService.isOnline; @@ -93,14 +98,15 @@ class NavigationController extends GetxController { fabUploadPosition.value = Offset(newDx, fabUploadPosition.value.dy); } - void handleFabUploadTap() { + Future handleFabUploadTap() async { // 使用 switch 语句判断当前选中的页面索引 switch (selectedIndex.value) { case 1: // 企业列表页面 - Get.log("当前在企业页面,准备跳转到企业数据上传页..."); - // 使用命名路由进行跳转,这是最佳实践 - // todo 这里应该调用 enterpriseListController 的导航方法,方便返回刷新 - Get.toNamed(AppRoutes.enterpriseUpload); + final result = await Get.toNamed(AppRoutes.enterpriseUpload); + if (result == true) { + enterpriseListController.search(); + } + break; case 2: // 问题列表页面 Get.log("当前在问题页面,准备跳转到问题上传页...");