diff --git a/lib/modules/meeting/controllers/meeting_home_controller.dart b/lib/modules/meeting/controllers/meeting_home_controller.dart index cb91fdde9..3c1150630 100644 --- a/lib/modules/meeting/controllers/meeting_home_controller.dart +++ b/lib/modules/meeting/controllers/meeting_home_controller.dart @@ -36,7 +36,7 @@ class MeetingHomeController extends GetxController { TextEditingController titleController = TextEditingController(); // 录音标题 String titleCSuffix = ""; // 录音标题后缀 - List originalDataList = []; + RxList originalDataList = [].obs; RxList dataList = [].obs; RxString filtrateType = ''.obs; bool isAsc = false; @@ -82,7 +82,7 @@ class MeetingHomeController extends GetxController { // 请求本地数据 void _getDataList() async { List list = await SqfliteApi.getMeetingList(); - originalDataList = List.from(list); + originalDataList.value = List.from(list); dataList.value = List.from(list); } diff --git a/lib/modules/meeting/controllers/meeting_mine_controller.dart b/lib/modules/meeting/controllers/meeting_mine_controller.dart index 9e0fe905d..5e2fa8d7d 100644 --- a/lib/modules/meeting/controllers/meeting_mine_controller.dart +++ b/lib/modules/meeting/controllers/meeting_mine_controller.dart @@ -4,12 +4,17 @@ import 'package:get/get.dart'; import '../../../data/services/db/sqflite_api.dart'; import '../../profile/controllers/profile_controller.dart'; +import 'meeting_controller.dart'; +import 'meeting_home_controller.dart'; class MeetingMineController extends GetxController { + final _meetingController = Get.find(); + final _homeController = Get.find(); final profileCtrl = Get.find(); final ScrollController scrollController = ScrollController(); + bool isStatistics = true; Map statistics = {}; RxInt days = 0.obs; @@ -33,6 +38,14 @@ class MeetingMineController extends GetxController { } }); _getStatistics(); + ever(_meetingController.pageIndex, (value) { + if (isStatistics && value == 2) { + _getStatistics(); + } + }); + ever(_homeController.originalDataList, (value) { + isStatistics = true; + }); } @override @@ -42,6 +55,7 @@ class MeetingMineController extends GetxController { } void _getStatistics() async { + if (!isStatistics) return; List dataList = await SqfliteApi.getMeetingList(); numberFiles.value = dataList.length; statistics = {}; @@ -97,5 +111,6 @@ class MeetingMineController extends GetxController { maxNumberFiles.value = maxN; maxHourage.value = double.parse((maxH / 60 / 60).toStringAsFixed(2)); averageNumberFiles = (maxN + minN) ~/ 2; + isStatistics = false; } }