Browse Source

修改商务会议助手状态

newdev_shunjiawei
tanlongsheng 1 year ago
parent
commit
de92fe2164
  1. 16
      lib/data/services/db/sqflite_api.dart
  2. 1
      lib/modules/meeting/controllers/meeting_controller.dart
  3. 16
      lib/modules/meeting/controllers/meeting_details_controller.dart
  4. 3
      lib/modules/meeting/model/meeting_model.dart
  5. 13
      lib/modules/meeting/views/meeting_details_view.dart
  6. 42
      lib/modules/meeting/views/meeting_view.dart

16
lib/data/services/db/sqflite_api.dart

@ -7,12 +7,25 @@ class SqfliteApi {
// 获取商务会议助手列表
static Future getMeetingList(int page) async {
final db = await DatabaseHelper().database;
return await db.query(
List<Map<String, dynamic>> dataList = [];
List meetingList = await db.query(
'meeting',
limit: 10,
offset: (page - 1) * 10,
orderBy: 'creationtime DESC',
);
for (var element in meetingList) {
final List detailsList = await db.query(
'meetingdetails',
where: 'meetingid = ?',
whereArgs: [element['id']],
);
dataList.add({
...element,
'tasktype': detailsList.first['tasktype'],
});
}
return dataList;
}
// 获取商务会议助手详情
@ -27,6 +40,7 @@ class SqfliteApi {
);
return <String, dynamic>{
...meetingList.first,
'tasktype': detailsList.first['tasktype'],
'details': detailsList.first
};
}

1
lib/modules/meeting/controllers/meeting_controller.dart

@ -85,6 +85,7 @@ class MeetingController extends GetxController {
if (meetingId != null) {
dataList.insert(0, {
'id': meetingId,
'tasktype': 0,
...data,
});
}

16
lib/modules/meeting/controllers/meeting_details_controller.dart

@ -16,6 +16,7 @@ import '../../../data/services/db/sqflite_api.dart';
import '../../../data/services/deapsound_ai_service.dart';
import '../model/meeting_details_model.dart';
import '../model/meeting_model.dart';
import 'meeting_controller.dart';
class MeetingDetailsController extends GetxController
with GetTickerProviderStateMixin {
@ -24,6 +25,8 @@ class MeetingDetailsController extends GetxController
late AnimationController lottieController;
final _meetingController = Get.find<MeetingController>();
final PlayerController playerController = PlayerController();
RxBool isTop = false.obs;
RxInt durationMax = 0.obs;
@ -89,6 +92,19 @@ class MeetingDetailsController extends GetxController
super.onClose();
}
void popInvokedWithResult(didPop, result) {
if (meetingData.value.tasktype != meetingDetails.value.tasktype) {
int index =
_meetingController.dataList.indexWhere((item) => item['id'] == id);
if (index != -1) {
final dataMap =
Map<String, dynamic>.from(_meetingController.dataList[index]);
dataMap['tasktype'] = meetingDetails.value.tasktype;
_meetingController.dataList[index] = dataMap;
}
}
}
void _getAgent() async {
final GetStorage storage = GetStorage();
Map userInfo = storage.read("user_info");

3
lib/modules/meeting/model/meeting_model.dart

@ -7,6 +7,7 @@ class MeetingModel {
late int seconds;
late String filepath;
late String audiourl;
late int tasktype;
late int creationtime;
factory MeetingModel.fromJson(Map<String, dynamic> map) => MeetingModel()
@ -16,6 +17,7 @@ class MeetingModel {
..seconds = map["seconds"]
..filepath = map["filepath"]
..audiourl = map["audiourl"]
..tasktype = map["tasktype"]
..creationtime = map["creationtime"];
Map<String, dynamic> toJson() {
@ -26,6 +28,7 @@ class MeetingModel {
data['seconds'] = seconds;
data['filepath'] = filepath;
data['audiourl'] = audiourl;
data['tasktype'] = tasktype;
data['creationtime'] = creationtime;
return data;
}

13
lib/modules/meeting/views/meeting_details_view.dart

@ -19,11 +19,14 @@ class MeetingDetailsView extends GetView<MeetingDetailsController> {
Widget build(BuildContext context) {
final isDarkMode = Theme.of(context).brightness == Brightness.dark;
return Obx(
() => Scaffold(
backgroundColor: isDarkMode ? Colors.black : Colors.grey[50],
appBar: _buildAppBar(isDarkMode),
body: _buildBody(isDarkMode),
return PopScope(
onPopInvokedWithResult: controller.popInvokedWithResult,
child: Obx(
() => Scaffold(
backgroundColor: isDarkMode ? Colors.black : Colors.grey[50],
appBar: _buildAppBar(isDarkMode),
body: _buildBody(isDarkMode),
),
),
);
}

42
lib/modules/meeting/views/meeting_view.dart

@ -140,20 +140,36 @@ class MeetingView extends GetView<MeetingController> {
],
),
),
Container(
padding: EdgeInsets.symmetric(horizontal: 5.w, vertical: 2.w),
margin: EdgeInsets.only(top: 5.w),
decoration: BoxDecoration(
color: isDarkMode ? Colors.grey[900] : Colors.grey[100],
borderRadius: BorderRadius.circular(4.w),
),
child: Text(
data.type,
style: TextStyle(
color: isDarkMode ? Colors.grey[400] : Colors.grey[600],
fontSize: 10.sp,
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
padding: EdgeInsets.symmetric(horizontal: 5.w, vertical: 2.w),
margin: EdgeInsets.only(top: 5.w),
decoration: BoxDecoration(
color: isDarkMode ? Colors.grey[900] : Colors.grey[100],
borderRadius: BorderRadius.circular(4.w),
),
child: Text(
data.type,
style: TextStyle(
color: isDarkMode ? Colors.grey[400] : Colors.grey[600],
fontSize: 10.sp,
),
),
),
),
if (data.tasktype == 1 || data.tasktype == 2)
Padding(
padding: EdgeInsets.only(top: 5.w),
child: Text(
data.tasktype == 1 ? '正在生成...' : '已生成',
style: TextStyle(
color: Colors.blue,
fontSize: 10.sp,
),
),
),
],
),
],
),

Loading…
Cancel
Save