facility_booking_state.dart 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import 'package:domain/entity/facility_book_entity.dart';
  2. import 'package:widgets/load_state_layout.dart';
  3. class FacilityBookingState {
  4. //当前选中的时间日期
  5. DateTime selectedDate;
  6. //页面 LoadView 状态的展示
  7. LoadState loadingState;
  8. String? errorMessage;
  9. //网络请求数据
  10. FacilityBookEntity? data;
  11. int bookAdvanceDays = 0; //最大可以提前多少天预定
  12. String? facilityId;
  13. String? facilityName;
  14. int index;
  15. int innerIndex;
  16. // =================================== Begin ↓ ===================================
  17. FacilityBookingState({
  18. required this.selectedDate,
  19. this.loadingState = LoadState.State_Loading,
  20. this.data,
  21. this.bookAdvanceDays = 0,
  22. this.errorMessage,
  23. this.facilityId,
  24. this.facilityName,
  25. this.index = 0,
  26. this.innerIndex = 0,
  27. });
  28. FacilityBookingState copyWith({
  29. DateTime? selectedDate,
  30. LoadState? loadingState,
  31. String? errorMessage,
  32. String? facilityId,
  33. String? facilityName,
  34. FacilityBookEntity? data,
  35. int? index,
  36. int? innerIndex,
  37. int? bookAdvanceDays,
  38. }) {
  39. return FacilityBookingState(
  40. selectedDate: selectedDate ?? this.selectedDate,
  41. loadingState: loadingState ?? this.loadingState,
  42. errorMessage: errorMessage ?? this.errorMessage,
  43. data: data,
  44. facilityId: facilityId ?? this.facilityId,
  45. facilityName: facilityName ?? this.facilityName,
  46. index: index ?? this.index,
  47. innerIndex: innerIndex ?? this.innerIndex,
  48. bookAdvanceDays: this.bookAdvanceDays > 0 ? this.bookAdvanceDays : bookAdvanceDays ?? this.bookAdvanceDays,
  49. );
  50. }
  51. }