Browse Source

修改会议助手统计

newdev_shunjiawei
tanlongsheng 1 year ago
parent
commit
68b0b358cb
  1. 25
      lib/modules/meeting/controllers/meeting_mine_controller.dart
  2. 40
      lib/modules/meeting/views/bottomSheet/statistics_bottom_sheet.dart
  3. 82
      lib/modules/meeting/views/meeting_mine_view.dart

25
lib/modules/meeting/controllers/meeting_mine_controller.dart

@ -1,3 +1,26 @@
import 'package:get/get.dart';
class MeetingMineController extends GetxController {}
import 'meeting_home_controller.dart';
class MeetingMineController extends GetxController {
final _controller = Get.find<MeetingHomeController>();
RxInt days = 0.obs;
RxInt numberFiles = 0.obs;
RxDouble hourage = 0.0.obs;
RxInt continuousDays = 0.obs;
RxInt maxNumberFiles = 0.obs;
RxDouble maxHourage = 0.0.obs;
@override
void onInit() {
super.onInit();
_getStatistics();
}
void _getStatistics() {
numberFiles.value = _controller.originalDataList.length;
for (var element in _controller.originalDataList) {}
}
}

40
lib/modules/meeting/views/bottomSheet/statistics_bottom_sheet.dart

@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../controllers/meeting_mine_controller.dart';
class StatisticsBottomSheet extends StatefulWidget {
const StatisticsBottomSheet({super.key});
@ -10,6 +12,8 @@ class StatisticsBottomSheet extends StatefulWidget {
}
class _StatisticsBottomSheetState extends State<StatisticsBottomSheet> {
final _mineController = Get.find<MeetingMineController>();
@override
Widget build(BuildContext context) {
return Stack(
@ -66,12 +70,36 @@ class _StatisticsBottomSheetState extends State<StatisticsBottomSheet> {
spacing: 5.w,
runSpacing: 5.w,
children: [
_item('天', '1', Colors.amber),
_item('文件', '3', Colors.blueGrey),
_item('小时', '0.2', Colors.cyan),
_item('连续录音天数', '1', Colors.deepOrangeAccent),
_item('单日最多录音', '3', Colors.teal),
_item('单日最长录音', '0.2', Colors.pink),
_item(
'天',
'${_mineController.days.value}',
Colors.amber,
),
_item(
'文件',
'${_mineController.numberFiles.value}',
Colors.blueGrey,
),
_item(
'小时',
'${_mineController.hourage.value}',
Colors.cyan,
),
_item(
'连续录音天数',
'${_mineController.continuousDays.value}',
Colors.deepOrangeAccent,
),
_item(
'单日最多录音',
'${_mineController.maxNumberFiles.value}',
Colors.teal,
),
_item(
'单日最长录音',
'${_mineController.maxHourage.value}',
Colors.pink,
),
],
),
),

82
lib/modules/meeting/views/meeting_mine_view.dart

@ -2,16 +2,12 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../controllers/meeting_mine_controller.dart';
import 'bottomSheet/statistics_bottom_sheet.dart';
class MeetingMineView extends StatefulWidget {
class MeetingMineView extends GetView<MeetingMineController> {
const MeetingMineView({super.key});
@override
State<MeetingMineView> createState() => _MeetingMineViewState();
}
class _MeetingMineViewState extends State<MeetingMineView> {
@override
Widget build(BuildContext context) {
return Scaffold(
@ -152,38 +148,52 @@ class _MeetingMineViewState extends State<MeetingMineView> {
color: Colors.white,
borderRadius: BorderRadius.circular(16.w),
),
child: Column(
children: [
Row(
children: [
_statisticsItem('2', '天', Colors.lime),
_statisticsItem('4', '文件', Colors.lightGreen),
_statisticsItem('1.5', '小时', Colors.blueGrey),
],
),
Container(
height: 80.w,
padding: EdgeInsets.symmetric(horizontal: 2.w),
margin: EdgeInsets.only(top: 8.w, bottom: 2.w),
child: GridView.builder(
scrollDirection: Axis.horizontal,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 7,
mainAxisSpacing: 2.w,
crossAxisSpacing: 2.w,
child: Obx(
() => Column(
children: [
Row(
children: [
_statisticsItem(
'${controller.days.value}',
'天',
Colors.lime,
),
_statisticsItem(
'${controller.numberFiles.value}',
'文件',
Colors.lightGreen,
),
_statisticsItem(
'${controller.hourage.value}',
'小时',
Colors.blueGrey,
),
],
),
Container(
height: 80.w,
padding: EdgeInsets.symmetric(horizontal: 2.w),
margin: EdgeInsets.only(top: 8.w, bottom: 2.w),
child: GridView.builder(
scrollDirection: Axis.horizontal,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 7,
mainAxisSpacing: 2.w,
crossAxisSpacing: 2.w,
),
itemCount: 364,
itemBuilder: (BuildContext context, int index) {
return Container(
decoration: BoxDecoration(
color: Colors.grey[200],
borderRadius: BorderRadius.circular(2.w),
),
);
},
),
itemCount: 364,
itemBuilder: (BuildContext context, int index) {
return Container(
decoration: BoxDecoration(
color: Colors.grey[200],
borderRadius: BorderRadius.circular(2.w),
),
);
},
),
),
],
],
),
),
),
);

Loading…
Cancel
Save