6 changed files with 81 additions and 32 deletions
@ -1,14 +1,54 @@ |
|||||||
import 'package:get/get.dart'; |
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/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 { |
class EnterpriseInfoController extends GetxController { |
||||||
EnterpriseInfoController({required this.enterpriseFormController}); |
EnterpriseInfoController({ |
||||||
|
required this.enterpriseFormController, |
||||||
|
required this.problemListController, |
||||||
|
}); |
||||||
|
|
||||||
final EnterpriseFormController enterpriseFormController; |
final EnterpriseFormController enterpriseFormController; |
||||||
|
final ProblemListController problemListController; |
||||||
|
|
||||||
|
final String tab1 = '问题列表'; |
||||||
|
final String tab2 = '企业基本情况'; |
||||||
|
|
||||||
|
Enterprise? _initialEnterprise; |
||||||
|
|
||||||
@override |
@override |
||||||
void onInit() { |
void onInit() { |
||||||
super.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