diff --git a/lib/app/features/enterprise/presentation/controllers/enterprise_form_controller.dart b/lib/app/features/enterprise/presentation/controllers/enterprise_form_controller.dart index b3afe1c..08adbc1 100644 --- a/lib/app/features/enterprise/presentation/controllers/enterprise_form_controller.dart +++ b/lib/app/features/enterprise/presentation/controllers/enterprise_form_controller.dart @@ -134,9 +134,8 @@ class EnterpriseFormController extends GetxController { contactPhone: contactPhoneController.text, majorHazardsDescription: hazardSourceController.text, ); - Get.back(result: true); // 返回并通知列表刷新 - // [可选] 显示成功提示 - Get.snackbar('成功', '企业信息已保存'); + + Get.back(result: true, closeOverlays: true); // 返回并通知列表刷新 } catch (e) { // [新增] 捕获异常并提示用户 Get.snackbar('错误', '保存失败,请稍后重试'); @@ -170,8 +169,7 @@ class EnterpriseFormController extends GetxController { await editEnterpriseUsecase!(updatedEnterprise); // 4. 操作成功,返回上一页并通知列表刷新 - Get.back(result: true); - Get.snackbar('成功', '企业信息已更新'); + Get.back(result: true, closeOverlays: true); } catch (e) { // 5. 捕获并处理异常 Get.snackbar('错误', '更新失败,请稍后重试'); diff --git a/lib/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart b/lib/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart index 750ef7c..cbeca97 100644 --- a/lib/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart +++ b/lib/app/features/enterprise/presentation/controllers/enterprise_list_controller.dart @@ -55,11 +55,6 @@ class EnterpriseListController extends GetxController { fetchEnterprises(); } - void onItemTap(EnterpriseListItem item) { - // 在管理模式下,点击卡片是导航到企业详情(问题列表) - navigateToEnterpriseInfoPage(item.enterprise); - } - void onSelectionChanged(Enterprise enterprise) { // 管理模式下没有选择功能,所以此方法体为空。 // 这是符合接口隔离原则的正常现象。 @@ -92,7 +87,8 @@ class EnterpriseListController extends GetxController { arguments: {'data': enterprise, 'mode': FormMode.edit}, ); if (result == true) { - search(); // 如果表单页返回 true,则刷新列表 + search(); + Get.snackbar('成功', '企业信息已更新'); } } @@ -104,6 +100,7 @@ class EnterpriseListController extends GetxController { ); if (result == true) { search(); + Get.snackbar('成功', '企业信息已保存'); } } diff --git a/lib/app/features/enterprise/presentation/pages/enterprise_list_page.dart b/lib/app/features/enterprise/presentation/pages/enterprise_list_page.dart index ff45b92..91f740b 100644 --- a/lib/app/features/enterprise/presentation/pages/enterprise_list_page.dart +++ b/lib/app/features/enterprise/presentation/pages/enterprise_list_page.dart @@ -222,7 +222,8 @@ class EnterpriseListPage extends GetView { isSelected: isSelected, // 根据外部传入的 itemMode 决定卡片内部的 mode // --- [核心] 将卡片的所有交互事件转发给 controller 的抽象方法 --- - onTap: () => controller.onItemTap(item), + onTap: () => + controller.navigateToEnterpriseInfoPage(item.enterprise), // [重点] 构建并传入符合贴边样式的 actions actions: Row( mainAxisSize: MainAxisSize.min, @@ -231,9 +232,8 @@ class EnterpriseListPage extends GetView { children: [ // “修改信息” 按钮 TextButton.icon( - onPressed: () { - /* 编辑逻辑 */ - }, + onPressed: () => + controller.navigateToEditForm(item.enterprise), icon: Icon( Icons.edit_outlined, size: 16.sp, @@ -257,9 +257,9 @@ class EnterpriseListPage extends GetView { // “查看问题” 按钮 (关键样式在这里) ElevatedButton( - onPressed: () { - /* 查看问题逻辑 */ - }, + onPressed: () => controller.navigateToEnterpriseInfoPage( + item.enterprise, + ), style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFF42A5F5), foregroundColor: Colors.white,