task_item_view.dart 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import 'package:electronic_assistant/data/bean/agenda.dart';
  2. import 'package:electronic_assistant/utils/expand.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_screenutil/flutter_screenutil.dart';
  5. import 'package:get/get.dart';
  6. import '../../resource/assets.gen.dart';
  7. import '../../resource/colors.gen.dart';
  8. import '../../resource/string.gen.dart';
  9. import '../../utils/common_style.dart';
  10. Widget taskItemView(Agenda item,
  11. {VoidCallback? onCheckClick, VoidCallback? onThinkingClick}) {
  12. return Container(
  13. padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 17).w,
  14. margin: const EdgeInsets.only(left: 12, right: 12, bottom: 8).w,
  15. decoration: BoxDecoration(
  16. color: Colors.white,
  17. borderRadius: BorderRadius.circular(8),
  18. ),
  19. child: Row(
  20. crossAxisAlignment: CrossAxisAlignment.center,
  21. children: [
  22. GestureDetector(
  23. onTap: onCheckClick,
  24. child: SizedBox(
  25. width: 20.w,
  26. height: 20.w,
  27. child: item.isDone.isTrue
  28. ? Assets.images.iconAgentChecked.image()
  29. : Assets.images.iconAgentUnderway.image()),
  30. ),
  31. SizedBox(width: 6.w),
  32. Visibility(
  33. visible: item.isExample.isTrue,
  34. child: Container(
  35. decoration: BoxDecoration(
  36. color: "#B2BAC4".toColor(),
  37. borderRadius: BorderRadius.circular(4),
  38. ),
  39. padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 3).w,
  40. child: Text(
  41. StringName.homeTalkExample.tr,
  42. style: TextStyle(fontSize: 12.sp, color: ColorName.white, height: 1),
  43. ),
  44. ),
  45. ),
  46. SizedBox(width: 6.w),
  47. Expanded(
  48. child: Padding(
  49. padding: const EdgeInsets.only(right: 12).w,
  50. child: Text(item.content ?? '',
  51. maxLines: 1,
  52. overflow: TextOverflow.ellipsis,
  53. style: TextStyle(
  54. fontSize: 15.sp,
  55. fontWeight: FontWeight.bold,
  56. color: ColorName.primaryTextColor)),
  57. ),
  58. ),
  59. GestureDetector(
  60. onTap: onThinkingClick,
  61. child: Container(
  62. decoration: getPrimaryBtnDecoration(6),
  63. padding: const EdgeInsets.symmetric(horizontal: 9, vertical: 5).w,
  64. child: Text(
  65. StringName.homeTalkThinking.tr,
  66. style: TextStyle(fontSize: 13.sp, color: ColorName.white),
  67. ),
  68. ),
  69. )
  70. ],
  71. ),
  72. );
  73. }