import 'package:track_common/widget.dart'; import 'event_manage_controller.dart'; class EventManage extends GetView { const EventManage({super.key}); @override Widget build(BuildContext context) { return GetBuilder( init: EventManagerController(), builder: (c) { return Level2View( level1: level1(), level2: level2(), level1Title: '赛事列表', level1Action: wDate(context), level2Title: '用户列表', level2SubTitle: Obx(() => Text( c.selected?.name != null ? '(${c.selected!.name})' : '', style: const TextStyle(color: Colors.grey, fontSize: 14.22), ))); }); } Widget wDate(BuildContext context) { return GestureDetector( onTap: () => _onTapDate(context), child: Obx(() => Container( height: 22.04, padding: const EdgeInsets.symmetric(horizontal: 8), decoration: BoxDecoration( border: Border.all(color: const Color(0xffe3e3e3), width: 0.71), borderRadius: BorderRadius.circular(2.13)), child: Text(controller.dateStr), ))); } Future _onTapDate(BuildContext context) async { final date = await showDatePicker( context: context, initialDate: controller.filterDate.value, firstDate: DateTime.now(), lastDate: DateTime.now().add(365.days)); if (date != null) { controller.filterDate.value = date; controller.flushList(); } } Widget level1() { return Obx(() => ListView( children: controller.eventList .map((e) => AppTitleList( title: e.name, tail: Text('${e.userCount}'), isSelected: controller.selectedId.value == e.id, onTap: () => controller.selectedId.value = e.id, )) .toList())); } Widget level2() { return SizedBox(); } }