From a24a7dd2297fe144ec38dacfdb06eaac03a7d4c0 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Fri, 20 Jun 2025 17:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B6=E4=BB=96=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/data/services/db/database_helper.dart | 8 -------- lib/data/services/db/sqflite_api.dart | 4 ++++ .../controllers/meeting_details_controller.dart | 9 +++++++++ .../meeting/views/speaker_all_bottom_sheet.dart | 7 +++++++ lib/modules/meeting/views/speaker_bottom_sheet.dart | 11 +++++++++++ 5 files changed, 31 insertions(+), 8 deletions(-) diff --git a/lib/data/services/db/database_helper.dart b/lib/data/services/db/database_helper.dart index 0773d9c12..0d6c3aa54 100644 --- a/lib/data/services/db/database_helper.dart +++ b/lib/data/services/db/database_helper.dart @@ -39,14 +39,6 @@ class DatabaseHelper { synctime INTEGER ) '''); - // 操作记录 - batch.execute(''' - CREATE TABLE IF NOT EXISTS operationrecord ( - id INTEGER PRIMARY KEY, - method TEXT, - data TEXT - ) - '''); // 商务会议助手列表 batch.execute(''' CREATE TABLE IF NOT EXISTS meeting ( diff --git a/lib/data/services/db/sqflite_api.dart b/lib/data/services/db/sqflite_api.dart index 001931360..5857b3a7a 100644 --- a/lib/data/services/db/sqflite_api.dart +++ b/lib/data/services/db/sqflite_api.dart @@ -101,6 +101,10 @@ class SqfliteApi { where: 'meetingid = ?', whereArgs: [id], ); + Synchrodata.saveOperationRecord('update', { + ...meeting, + 'id': id, + }); return true; } catch (e) { Get.snackbar( diff --git a/lib/modules/meeting/controllers/meeting_details_controller.dart b/lib/modules/meeting/controllers/meeting_details_controller.dart index 8577525ba..81c4c1841 100644 --- a/lib/modules/meeting/controllers/meeting_details_controller.dart +++ b/lib/modules/meeting/controllers/meeting_details_controller.dart @@ -10,6 +10,7 @@ import 'package:get_storage/get_storage.dart'; import 'package:http/http.dart' as http; import '../../../core/utils/logger.dart'; +import '../../../core/utils/synchrodata.dart'; import '../../../core/utils/upload_oss.dart'; import '../../../data/models/appconfig.dart'; import '../../../data/services/db/sqflite_api.dart'; @@ -208,6 +209,10 @@ class MeetingDetailsController extends GetxController textList[index] = dataMap; } } + Synchrodata.saveOperationRecord('update', { + 'original': jsonEncode(textList), + 'id': id, + }); isSpeakerText.value = false; editSpeakerTextId.value = 0; editSpeakerTextList = []; @@ -417,6 +422,10 @@ class MeetingDetailsController extends GetxController await SqfliteApi.editMeeting(id, {'tasktype': 2, 'personnel': personnel}); List speakerList = await SqfliteApi.getMeetingSpeaker(id); textList.value = List.from(speakerList); + Synchrodata.saveOperationRecord('update', { + 'original': jsonEncode(textList), + 'id': id, + }); meetingDetails.value.tasktype = 2; meetingDetails.value.personnel = personnel; meetingDetails.refresh(); diff --git a/lib/modules/meeting/views/speaker_all_bottom_sheet.dart b/lib/modules/meeting/views/speaker_all_bottom_sheet.dart index 93b89c0f3..1d7a7c03b 100644 --- a/lib/modules/meeting/views/speaker_all_bottom_sheet.dart +++ b/lib/modules/meeting/views/speaker_all_bottom_sheet.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:common_utils/common_utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; @@ -6,6 +8,7 @@ import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:lottie/lottie.dart'; +import '../../../core/utils/synchrodata.dart'; import '../../../data/services/db/sqflite_api.dart'; import '../controllers/meeting_details_controller.dart'; @@ -556,6 +559,10 @@ class _SpeakerAllBottomSheetState extends State { bool isEditSummary = false; String summaryText = _controller.meetingDetails.value.summary; _controller.textList.value = newTextList; + Synchrodata.saveOperationRecord('update', { + 'original': jsonEncode(_controller.textList), + 'id': _controller.meetingData.value.id, + }); for (var element in personnelList) { if (summaryText.contains('[${element['original']}]')) { summaryText = summaryText.replaceAll( diff --git a/lib/modules/meeting/views/speaker_bottom_sheet.dart b/lib/modules/meeting/views/speaker_bottom_sheet.dart index 0a0a40871..2e814e26f 100644 --- a/lib/modules/meeting/views/speaker_bottom_sheet.dart +++ b/lib/modules/meeting/views/speaker_bottom_sheet.dart @@ -1,9 +1,12 @@ +import 'dart:convert'; + import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; +import '../../../core/utils/synchrodata.dart'; import '../../../data/services/db/sqflite_api.dart'; import '../controllers/meeting_details_controller.dart'; @@ -331,6 +334,10 @@ class _SpeakerBottomSheetState extends State { dataMap['speaker'] = _speakerController.text; _controller.textList[index] = dataMap; } + Synchrodata.saveOperationRecord('update', { + 'original': jsonEncode(_controller.textList), + 'id': _controller.meetingData.value.id, + }); _addHistorySpeaker(); Get.back(); } @@ -361,6 +368,10 @@ class _SpeakerBottomSheetState extends State { var result = await SqfliteApi.editMeetingSpeaker(editSpeakerList); if (result != null) { _controller.textList.value = newTextList; + Synchrodata.saveOperationRecord('update', { + 'original': jsonEncode(_controller.textList), + 'id': _controller.meetingData.value.id, + }); if (_controller.meetingDetails.value.summary .contains('[${widget.speakerName}]')) { String summaryText = _controller.meetingDetails.value.summary