diff --git a/lib/helpers/widgets/expense/expense_main_components.dart b/lib/helpers/widgets/expense/expense_main_components.dart index 3cc4b77..79a1b75 100644 --- a/lib/helpers/widgets/expense/expense_main_components.dart +++ b/lib/helpers/widgets/expense/expense_main_components.dart @@ -303,12 +303,9 @@ class ExpenseList extends StatelessWidget { child: InkWell( borderRadius: BorderRadius.circular(8), onTap: () async { - final result = await Get.to( + await Get.to( () => ExpenseDetailScreen(expenseId: expense.id), ); - if (result == true && onViewDetail != null) { - await onViewDetail!(); - } }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), diff --git a/lib/view/expense/expense_detail_screen.dart b/lib/view/expense/expense_detail_screen.dart index 9e0f30e..7c06879 100644 --- a/lib/view/expense/expense_detail_screen.dart +++ b/lib/view/expense/expense_detail_screen.dart @@ -33,21 +33,27 @@ class ExpenseDetailScreen extends StatefulWidget { class _ExpenseDetailScreenState extends State with UIMixin { - final controller = Get.put(ExpenseDetailController()); + late final ExpenseDetailController controller; final projectController = Get.find(); final permissionController = Get.put(PermissionController()); EmployeeInfo? employeeInfo; final RxBool canSubmit = false.obs; bool _checkedPermission = false; - @override void initState() { super.initState(); + controller = Get.put(ExpenseDetailController(), tag: widget.expenseId); controller.init(widget.expenseId); _loadEmployeeInfo(); } + @override + void dispose() { + Get.delete(tag: widget.expenseId); + super.dispose(); + } + void _loadEmployeeInfo() async { final info = await LocalStorage.getEmployeeInfo(); employeeInfo = info;