6 changed files with 81 additions and 32 deletions
@ -1,14 +1,54 @@
|
||||
import 'package:get/get.dart'; |
||||
import 'package:problem_check_system/app/features/enterprise/domain/entities/enterprise.dart'; |
||||
import 'package:problem_check_system/app/features/enterprise/presentation/controllers/enterprise_form_controller.dart'; |
||||
import 'package:problem_check_system/app/features/problem/presentation/controllers/problem_list_controller.dart'; |
||||
|
||||
class EnterpriseInfoController extends GetxController { |
||||
EnterpriseInfoController({required this.enterpriseFormController}); |
||||
EnterpriseInfoController({ |
||||
required this.enterpriseFormController, |
||||
required this.problemListController, |
||||
}); |
||||
|
||||
final EnterpriseFormController enterpriseFormController; |
||||
final ProblemListController problemListController; |
||||
|
||||
final String tab1 = '问题列表'; |
||||
final String tab2 = '企业基本情况'; |
||||
|
||||
Enterprise? _initialEnterprise; |
||||
|
||||
@override |
||||
void onInit() { |
||||
super.onInit(); |
||||
Get.log('EnterpriseInfoController initialized'); |
||||
// 在 onInit 中只做“准备”工作,不要触发UI更新 |
||||
// 比如解析参数,并将其存储在一个临时变量中 |
||||
if (Get.arguments is Map) { |
||||
final arguments = Get.arguments as Map; |
||||
if (arguments.containsKey('data')) { |
||||
_initialEnterprise = arguments['data'] as Enterprise; |
||||
} |
||||
} |
||||
Get.log('EnterpriseInfoController Initialized.'); |
||||
} |
||||
|
||||
@override |
||||
void onReady() { |
||||
super.onReady(); |
||||
// onReady 在第一帧渲染完成后执行,此时修改状态是安全的 |
||||
if (_initialEnterprise != null) { |
||||
// 在这里调用会立即改变 isLoading 状态的方法 |
||||
problemListController.setFilters(_initialEnterprise!); |
||||
} |
||||
Get.log('EnterpriseInfoPage is ready. Loading initial data.'); |
||||
} |
||||
|
||||
void navigateToAddForm() { |
||||
problemListController.navigateToAddForm(); |
||||
} |
||||
|
||||
@override |
||||
void onClose() { |
||||
problemListController.clearFilters(); |
||||
super.onClose(); |
||||
} |
||||
} |
||||
|
||||
Loading…
Reference in new issue