From b7788fe39577e07fbbd1b85d916b54aef9491107 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Thu, 17 Jul 2025 11:52:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/meeting_home_controller.dart | 4 ++-- .../controllers/meeting_mine_controller.dart | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) 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; } }