Selaa lähdekoodia

[fix]待办事项增加首次选中效果

zk 1 vuosi sitten
vanhempi
commit
1c91d41ef4

+ 8 - 5
lib/data/bean/agenda.dart

@@ -23,15 +23,14 @@ class Agenda {
   @JsonKey(name: 'updateTime')
   String? updateTime;
 
-  @JsonKey(name: 'todo')
-  bool? todo;
+  @JsonKey(ignore: true)
+  RxBool todo = false.obs;
 
   @JsonKey(name: 'example')
   bool? isExample;
 
   bool? isDone;
 
-  final RxBool isSetMine = false.obs;
 
   Agenda(
       {this.id,
@@ -40,8 +39,12 @@ class Agenda {
       this.content,
       this.createTime,
       this.updateTime,
-      this.todo,
       this.isExample});
 
-  factory Agenda.fromJson(Map<String, dynamic> json) => _$AgendaFromJson(json);
+  factory Agenda.fromJson(Map<String, dynamic> json) {
+    final agenda = _$AgendaFromJson(json);
+    agenda.todo.value =
+        json.containsKey('todo') ? json['todo'] as bool? ?? false : false;
+    return agenda;
+  }
 }

+ 3 - 3
lib/module/talk/common_view.dart

@@ -167,7 +167,7 @@ List<Widget> getTalkAgendaSettingList(List<Agenda>? list,
                 child: Obx(() {
                   return Container(
                     decoration: BoxDecoration(
-                      color: agenda.isSetMine.value
+                      color: agenda.todo.value
                           ? "#E7E9F6".toColor()
                           : ColorName.colorPrimary,
                       borderRadius: BorderRadius.circular(6),
@@ -175,12 +175,12 @@ List<Widget> getTalkAgendaSettingList(List<Agenda>? list,
                     padding:
                         EdgeInsets.symmetric(horizontal: 9.w, vertical: 5.w),
                     child: Text(
-                      agenda.isSetMine.value
+                      agenda.todo.value
                           ? StringName.talkTodoCancelMine.tr
                           : StringName.talkTodoSetMine.tr,
                       style: TextStyle(
                           fontSize: 13.sp,
-                          color: agenda.isSetMine.value
+                          color: agenda.todo.value
                               ? ColorName.colorPrimary
                               : Colors.white),
                     ),

+ 1 - 1
lib/module/talk/original/view.dart

@@ -22,7 +22,7 @@ class OriginalView extends BasePage<OriginalController> {
         return getTalkLoadingView();
       } else {
         return ListView.builder(
-          padding: EdgeInsets.only(bottom: 70.h),
+          padding: EdgeInsets.only(bottom: 150.h),
           itemBuilder: _buildOriginalItem,
           itemCount: controller.originalList.length,
         );

+ 3 - 2
lib/module/talk/todo/controller.dart

@@ -4,6 +4,7 @@ import 'package:electronic_assistant/base/base_controller.dart';
 import 'package:electronic_assistant/data/bean/agenda.dart';
 import 'package:electronic_assistant/data/repositories/agenda_repository.dart';
 import 'package:electronic_assistant/utils/error_handler.dart';
+import 'package:flutter/cupertino.dart';
 import 'package:get/get.dart';
 
 import '../../../data/bean/agenda_list_all_bean.dart';
@@ -63,9 +64,9 @@ class TodoController extends BaseController {
     if (agenda == null || agenda.id == null) {
       return;
     }
-    bool isSetTodo = !agenda.isSetMine.value;
+    bool isSetTodo = !agenda.todo.value;
     agendaRepository.agendaTodo(agenda.id!, isSetTodo).then((value) {
-      agenda.isSetMine.value = isSetTodo;
+      agenda.todo.value = isSetTodo;
       requestMineTodoData();
     }).catchError((error) {
       ErrorHandler.toastError(error);

+ 1 - 1
lib/module/talk/todo/view.dart

@@ -169,7 +169,7 @@ class TodoView extends BasePage<TodoController> {
       return getTalkLoadingView();
     } else if (controller.talkBean.value?.status == TalkStatus.analysisSuccess) {
       return ListView(
-        padding: EdgeInsets.only(left: 12.w, right: 12.w),
+        padding: EdgeInsets.only(left: 12.w, right: 12.w, bottom: 150.w),
         children: [_buildMineTodoList(), _buildAllTaskView()],
       );
     } else {