import 'package:flutter/material.dart'; import 'package:common_utils/common_utils.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:aku_new_community/base/base_style.dart'; part 'facility_appointment_model.g.dart'; @JsonSerializable() class FacilityAppointmentModel { final int id; final String code; final String facilitiesName; ///预约状态 ///* 1.未签到(预约时间前30分钟显示扫码签到,之前为取消预约), ///* 2.已签到 ///* 3.已作废 ///* 4.已取消 ///* 5.已结束 final int status; final String address; final String appointmentStartDate; final String appointmentEndDate; final String? nullifyReason; final String? useEndDate; DateTime? get appointmentStart => DateUtil.getDateTime(appointmentStartDate); DateTime? get appointmentEnd => DateUtil.getDateTime(appointmentEndDate); String get displayDate { return '${DateUtil.formatDate( appointmentStart, format: 'yyyy-MM-dd HH:mm', )}-${DateUtil.formatDate( appointmentEnd, format: 'HH:mm', )}'; } Color get statusColor { switch (status) { case 1: return kPrimaryColor; case 2: return Color(0xFF2576E5); case 3: return Color(0xFFFB4702); case 4: return Color(0xFF999999); case 5: return Color(0xFF999999); default: return Color(0xFF999999); } } String get statusValue { switch (status) { case 1: return '预约成功'; case 2: return '签到成功'; case 3: return '预约作废'; case 4: return '已取消'; case 5: return '已结束'; default: return '未知状态'; } } FacilityAppointmentModel({ required this.id, required this.code, required this.facilitiesName, required this.status, required this.address, required this.appointmentStartDate, required this.appointmentEndDate, required this.nullifyReason, required this.useEndDate, }); factory FacilityAppointmentModel.fromJson(Map json) => _$FacilityAppointmentModelFromJson(json); }