item_visitor.dart 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import 'package:cs_resources/theme/app_colors_theme.dart';
  2. import 'package:domain/entity/visitor_page_entity.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:shared/utils/util.dart';
  5. import 'package:widgets/ext/ex_widget.dart';
  6. import 'package:widgets/my_text_view.dart';
  7. class VisitorItem extends StatelessWidget {
  8. final int index;
  9. final VisitorPageList item;
  10. const VisitorItem({
  11. required this.index,
  12. required this.item,
  13. });
  14. @override
  15. Widget build(BuildContext context) {
  16. return Container(
  17. margin: const EdgeInsets.only(left: 15, right: 15, top: 5, bottom: 5),
  18. padding: const EdgeInsets.symmetric(vertical: 19, horizontal: 18.5),
  19. decoration: BoxDecoration(
  20. color: context.appColors.whiteBG,
  21. borderRadius: BorderRadius.circular(6.0), // 圆角
  22. boxShadow: [
  23. BoxShadow(
  24. color: const Color(0xFFB8BFD9).withOpacity(0.3), // 阴影颜色
  25. offset: const Offset(0, 3), // 阴影的偏移量
  26. blurRadius: 8.0, // 模糊半径
  27. spreadRadius: 3.0, // 扩散半径
  28. ),
  29. ],
  30. ),
  31. child: Column(
  32. crossAxisAlignment: CrossAxisAlignment.start,
  33. children: [
  34. //姓名
  35. MyTextView(
  36. item.name ?? "",
  37. fontSize: 16,
  38. marginTop: 19,
  39. marginBottom: 5,
  40. textColor: context.appColors.textBlack,
  41. isFontMedium: true,
  42. ),
  43. //电话/身份证
  44. Row(
  45. children: [
  46. MyTextView(
  47. item.phone ?? "",
  48. fontSize: 14,
  49. textColor: context.appColors.textBlack,
  50. isFontRegular: true,
  51. ),
  52. const Spacer(),
  53. MyTextView(
  54. Utils.maskString(item.nric ?? ""),
  55. fontSize: 14,
  56. textColor: context.appColors.textBlack,
  57. isFontRegular: true,
  58. ),
  59. ],
  60. ),
  61. //车牌号/访问日期
  62. Row(
  63. children: [
  64. MyTextView(
  65. item.vehicleNumber ?? "",
  66. fontSize: 14,
  67. textColor: context.appColors.textBlack,
  68. isFontRegular: true,
  69. ),
  70. const Spacer(),
  71. MyTextView(
  72. item.createdAt ?? "",
  73. fontSize: 14,
  74. textColor: context.appColors.textBlack,
  75. isFontRegular: true,
  76. ),
  77. ],
  78. ).marginOnly(top: 5),
  79. //备注
  80. MyTextView(
  81. item.note ?? "",
  82. fontSize: 14,
  83. marginTop: 6,
  84. textColor: context.appColors.textDarkGray,
  85. isFontRegular: true,
  86. fontWeight: FontWeight.w500,
  87. ),
  88. ],
  89. ),
  90. );
  91. }
  92. }