view.dart 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import 'package:electronic_assistant/base/base_page.dart';
  2. import 'package:electronic_assistant/resource/colors.gen.dart';
  3. import 'package:electronic_assistant/resource/string.gen.dart';
  4. import 'package:electronic_assistant/utils/expand.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:flutter_screenutil/flutter_screenutil.dart';
  7. import 'package:get/get.dart';
  8. import 'package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart';
  9. import '../../../data/bean/talks.dart';
  10. import '../common_view.dart';
  11. import 'controller.dart';
  12. class SummaryView extends BasePage<SummaryController> {
  13. const SummaryView({super.key});
  14. @override
  15. Widget buildBody(BuildContext context) {
  16. return Obx(() {
  17. return buildSummaryStatusView();
  18. });
  19. }
  20. Widget buildSummaryView() {
  21. return Padding(
  22. padding:
  23. EdgeInsets.only(left: 12.w, right: 12.w, top: 16.h, bottom: 20.h),
  24. child: Obx(() {
  25. return Text(
  26. controller.summaryBean.value.summary.orEmpty,
  27. style:
  28. TextStyle(fontSize: 14.sp, color: ColorName.primaryTextColor),
  29. );
  30. }));
  31. }
  32. Widget buildTemplateView() {
  33. return Container();
  34. }
  35. buildAllTaskView() {
  36. return Padding(
  37. padding:
  38. EdgeInsets.only(left: 12.w, right: 12.w, top: 20.h, bottom: 16.h),
  39. child: Column(
  40. crossAxisAlignment: CrossAxisAlignment.start,
  41. children: [
  42. Text(StringName.homeTalkTodoTitle.tr,
  43. style: TextStyle(
  44. fontWeight: FontWeight.bold,
  45. color: ColorName.primaryTextColor,
  46. fontSize: 15.sp)),
  47. SizedBox(height: 12.h),
  48. buildTodoView()
  49. ],
  50. ),
  51. );
  52. }
  53. Widget buildTodoView() {
  54. return Obx(() {
  55. return Column(
  56. children: controller.agendaAllList.map((agenda) {
  57. return Padding(
  58. padding: EdgeInsets.only(bottom: 8.h),
  59. child: getTodoItemView(
  60. agenda, (list) => getTalkAgendaNormalList(list)));
  61. }).toList());
  62. });
  63. }
  64. Widget buildSummaryStatusView() {
  65. if (controller.summaryBean.value.status == TalkStatus.analysisFail) {
  66. return getTalkFailView();
  67. } else if (controller.summaryBean.value.status ==
  68. TalkStatus.analysisSuccess) {
  69. return ListView(padding: EdgeInsets.only(bottom: 150.h), children: [
  70. // buildTemplateView(),
  71. buildSummaryView(),
  72. Container(
  73. height: 6.h,
  74. color: "#F6F6F6".toColor(),
  75. ),
  76. buildAllTaskView(),
  77. ]);
  78. } else if (controller.summaryBean.value.status == TalkStatus.analysing ||
  79. controller.summaryBean.value.status == TalkStatus.waitAnalysis) {
  80. return getTalkLoadingView();
  81. } else {
  82. return Container();
  83. }
  84. }
  85. }