From acd55775592d49b9e880289f32c09ba113be4030 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Wed, 14 May 2025 20:49:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=9A=E8=AE=AE=E5=8A=A9?= =?UTF-8?q?=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/controllers/meeting_details_controller.dart | 7 ++++--- lib/modules/meeting/views/speaker_bottom_sheet.dart | 9 ++++++++- lib/modules/meeting/views/summary_tab.dart | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/modules/meeting/controllers/meeting_details_controller.dart b/lib/modules/meeting/controllers/meeting_details_controller.dart index 943d6f2c9..f60bfd8d6 100644 --- a/lib/modules/meeting/controllers/meeting_details_controller.dart +++ b/lib/modules/meeting/controllers/meeting_details_controller.dart @@ -166,8 +166,6 @@ class MeetingDetailsController extends GetxController } } - void editSpeakerName() {} - void speakerCreate() async { EasyLoading.show(); await _audioSpeaker(); @@ -330,12 +328,14 @@ class MeetingDetailsController extends GetxController Future _addTextList(List utterances) async { String text = ''; + String personnel = ''; List> list = []; for (var element in utterances) { String speaker = ''; if (element['additions'].isNotEmpty) { speaker = 'Speaker ${element['additions']['speaker']}'; text += '$speaker:'; + personnel += '[$speaker] '; } list.add({ 'meetingid': id, @@ -348,10 +348,11 @@ class MeetingDetailsController extends GetxController } var result = await SqfliteApi.insertMeetingSpeaker(list); if (result != null) { - await SqfliteApi.editMeeting(id, {'tasktype': 1}); + await SqfliteApi.editMeeting(id, {'tasktype': 1, 'personnel': personnel}); List speakerList = await SqfliteApi.getMeetingSpeaker(id); textList.value = List.from(speakerList); meetingDetails.value.tasktype = 1; + meetingDetails.value.personnel = personnel; meetingDetails.refresh(); } allText = text; diff --git a/lib/modules/meeting/views/speaker_bottom_sheet.dart b/lib/modules/meeting/views/speaker_bottom_sheet.dart index 124804933..4d51927f6 100644 --- a/lib/modules/meeting/views/speaker_bottom_sheet.dart +++ b/lib/modules/meeting/views/speaker_bottom_sheet.dart @@ -347,6 +347,7 @@ class _SpeakerBottomSheetState extends State { List textList = _controller.textList; List newTextList = []; List editSpeakerList = []; + String personnel = ''; for (var element in textList) { final dataMap = Map.from(element); if (dataMap['speaker'] == widget.speakerName) { @@ -356,11 +357,17 @@ class _SpeakerBottomSheetState extends State { 'speaker': dataMap['speaker'], }); } + String speaker = dataMap['speaker']; + if (!personnel.contains(speaker)) { + personnel += '[$speaker] '; + } newTextList.add(dataMap); } var result = await SqfliteApi.editMeetingSpeaker(editSpeakerList); if (result != null) { _controller.textList.value = newTextList; + SqfliteApi.editMeeting(_controller.id, {'personnel': personnel}); + _controller.meetingDetails.value.personnel = personnel; _addHistorySpeaker(); Get.back(); } @@ -372,7 +379,7 @@ class _SpeakerBottomSheetState extends State { if (speaker.isNotEmpty && !RegExp(r'^Speaker \d+$').hasMatch(speaker) && !_historySpeakerList.contains(speaker)) { - _historySpeakerList.add(speaker); + _historySpeakerList.insert(0, speaker); _storage.write("speaker_list", _historySpeakerList); } } diff --git a/lib/modules/meeting/views/summary_tab.dart b/lib/modules/meeting/views/summary_tab.dart index 47ffc6957..ed3a49437 100644 --- a/lib/modules/meeting/views/summary_tab.dart +++ b/lib/modules/meeting/views/summary_tab.dart @@ -125,7 +125,7 @@ class SummaryTab extends GetView { ), ), Text( - '与会人员:${controller.meetingDetails.value.address}', + '与会人员:${controller.meetingDetails.value.personnel.isNotEmpty ? controller.meetingDetails.value.personnel : '[输入与会人员]'}', style: TextStyle( color: isDarkMode ? Colors.grey[400] : Colors.grey[700],