查看预约列表

This commit is contained in:
2025-11-11 16:51:27 +08:00
parent 079bec91f8
commit 412f2786a2
6 changed files with 523 additions and 116 deletions

View File

@@ -20,6 +20,18 @@ class ReservationModel {
final String contactPhone;
ReservationStatus status; // 状态是可变的
final String contacts;
final String phone;
final String stationName;
final String startTime;
final String endTime;
final String date;
final String hydAmount;
final String state;
final String stateName;
final String addStatus;
final String addStatusName;
ReservationModel({
required this.id,
required this.plateNumber,
@@ -28,6 +40,17 @@ class ReservationModel {
required this.contactPerson,
required this.contactPhone,
this.status = ReservationStatus.pending,
required this.contacts,
required this.phone,
required this.stationName,
required this.startTime,
required this.endTime,
required this.date,
required this.hydAmount,
required this.state,
required this.stateName,
required this.addStatus,
required this.addStatusName,
});
/// 工厂构造函数用于从JSON创建ReservationModel实例
@@ -50,22 +73,35 @@ class ReservationModel {
}
// 格式化时间显示
String startTime = json['startTime']?.toString() ?? '';
String endTime = json['endTime']?.toString() ?? '';
String timeRange = (startTime.isNotEmpty && endTime.isNotEmpty)
? '${json['date']?.toString() ?? ''} ${startTime.substring(11, 16)}-${endTime.substring(11, 16)}' // 截取 HH:mm
String startTimeStr = json['startTime']?.toString() ?? '';
String endTimeStr = json['endTime']?.toString() ?? '';
String dateStr = json['date']?.toString() ?? '';
String timeRange = (startTimeStr.isNotEmpty && endTimeStr.isNotEmpty && dateStr.isNotEmpty)
? '$dateStr ${startTimeStr.substring(11, 16)}-${endTimeStr.substring(11, 16)}' // 截取 HH:mm
: '时间未定';
return ReservationModel(
// id, hydAmount 需要转换为 String
// 原始字段用于UI兼容
id: json['id']?.toString() ?? '',
plateNumber: json['plateNumber']?.toString() ?? '未知车牌',
amount: '${json['hydAmount']?.toString() ?? '0'}kg',
// 拼接单位
time: timeRange,
contactPerson: json['contacts']?.toString() ?? '无联系人',
contactPhone: json['phone']?.toString() ?? '无联系电话',
status: currentStatus,
// 新增的完整字段
contacts: json['contacts']?.toString() ?? '',
phone: json['phone']?.toString() ?? '',
stationName: json['stationName']?.toString() ?? '',
startTime: startTimeStr,
endTime: endTimeStr,
date: dateStr,
hydAmount: json['hydAmount']?.toString() ?? '0',
state: json['state']?.toString() ?? '',
addStatus: statusFromServer.toString(),
addStatusName: json['addStatusName']?.toString() ?? '',
stateName: json['stateName']?.toString() ?? '',
);
}
}