Browse Source

添加其他操作记录

weicu
tanlongsheng 1 year ago
parent
commit
a24a7dd229
  1. 8
      lib/data/services/db/database_helper.dart
  2. 4
      lib/data/services/db/sqflite_api.dart
  3. 9
      lib/modules/meeting/controllers/meeting_details_controller.dart
  4. 7
      lib/modules/meeting/views/speaker_all_bottom_sheet.dart
  5. 11
      lib/modules/meeting/views/speaker_bottom_sheet.dart

8
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 (

4
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(

9
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();

7
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<SpeakerAllBottomSheet> {
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(

11
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<SpeakerBottomSheet> {
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<SpeakerBottomSheet> {
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

Loading…
Cancel
Save