announcement_list_controller.dart 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import 'package:flutter_riverpod/flutter_riverpod.dart';
  2. import 'announcement_model.dart';
  3. final _mockAnnouncements = <AnnouncementModel>[
  4. AnnouncementModel(
  5. id: 'ann-001',
  6. title: '关于2026年端午节放假安排的通知',
  7. content: '根据国务院办公厅通知精神,现将2026年端午节放假安排通知如下:6月25日(星期四)至6月27日(星期六)放假调休,共3天。6月28日(星期日)上班。请各部门提前做好工作安排,确保节日期间各项工作正常运转。',
  8. type: '通知公告',
  9. publisherId: 'u-admin',
  10. publisherName: '行政管理部',
  11. publishTime: DateTime(2026, 5, 22),
  12. isTop: true,
  13. expiryDate: DateTime(2026, 6, 28),
  14. readCount: 45,
  15. unreadCount: 12,
  16. createTime: DateTime(2026, 5, 22),
  17. ),
  18. AnnouncementModel(
  19. id: 'ann-002',
  20. title: '关于启用新版考勤系统的通知',
  21. content: '为提升考勤管理效率,公司决定于2026年6月1日起全面启用新版考勤系统。新旧系统切换期间,请各部门配合完成以下事项:1. 5月28日前完成全员信息核对;2. 5月29日-31日进行系统试运行。如有问题请及时联系IT部门。',
  22. type: '系统公告',
  23. publisherId: 'u-admin',
  24. publisherName: '信息技术部',
  25. publishTime: DateTime(2026, 5, 20),
  26. isTop: false,
  27. requireConfirm: true,
  28. expiryDate: DateTime(2026, 6, 15),
  29. readCount: 30,
  30. unreadCount: 27,
  31. createTime: DateTime(2026, 5, 20),
  32. ),
  33. AnnouncementModel(
  34. id: 'ann-003',
  35. title: '2026年第二季度团建活动报名通知',
  36. content: '为增强团队凝聚力,公司将于2026年6月10日组织第二季度团建活动。本次活动地点为北京市怀柔区雁栖湖,活动内容包括户外拓展训练、团队协作游戏和烧烤晚会。请各部门于6月3日前将参加人数报至行政管理部。',
  37. type: '活动通知',
  38. publisherId: 'u-admin',
  39. publisherName: '行政管理部',
  40. publishTime: DateTime(2026, 5, 18),
  41. isTop: false,
  42. expiryDate: DateTime(2026, 6, 10),
  43. readCount: 52,
  44. unreadCount: 5,
  45. createTime: DateTime(2026, 5, 18),
  46. ),
  47. ];
  48. final announcementListProvider =
  49. FutureProvider.autoDispose.family<List<AnnouncementModel>, int>(
  50. (ref, page) async {
  51. await Future.delayed(const Duration(milliseconds: 300));
  52. return _mockAnnouncements;
  53. });