You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.0 KiB
93 lines
2.0 KiB
import 'package:flutter/material.dart';
|
|
|
|
import 'package:common_utils/common_utils.dart';
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
class CarParkingModel {
|
|
String? code;
|
|
int? type;
|
|
int? status;
|
|
String? effectiveTimeEnd;
|
|
|
|
String get typeName {
|
|
switch (type) {
|
|
case 1:
|
|
return '产权车位';
|
|
case 2:
|
|
return '临时车位';
|
|
default:
|
|
return '未知';
|
|
}
|
|
}
|
|
|
|
String get carTypeName {
|
|
switch (status) {
|
|
case 1:
|
|
return '产权车位';
|
|
case 2:
|
|
return '包年';
|
|
case 3:
|
|
return '包月';
|
|
case 4:
|
|
return '临时';
|
|
default:
|
|
return '未知';
|
|
}
|
|
}
|
|
|
|
String get dateName {
|
|
if (effectiveTimeEnd == null) return '永久';
|
|
if (outdated) return '$effectiveDateValue(已过期)';
|
|
return effectiveDateValue;
|
|
}
|
|
|
|
DateTime? get effectiveDate {
|
|
if (effectiveTimeEnd == null) return null;
|
|
return DateUtil.getDateTime(effectiveTimeEnd!);
|
|
}
|
|
|
|
String get effectiveDateValue =>
|
|
DateUtil.formatDate(effectiveDate, format: 'yyyy-MM-dd');
|
|
|
|
bool get outdated {
|
|
if (effectiveDate == null) return false;
|
|
DateTime now = DateTime.now();
|
|
return effectiveDate!.isAfter(now);
|
|
}
|
|
|
|
List<BoxShadow> get shadow {
|
|
if (!outdated)
|
|
return [
|
|
BoxShadow(
|
|
offset: Offset(0, 10.w),
|
|
blurRadius: 30.w,
|
|
color: Color(0xFFFFF0BF),
|
|
)
|
|
];
|
|
return [
|
|
BoxShadow(
|
|
offset: Offset(0, 10.w),
|
|
blurRadius: 30.w,
|
|
color: Color(0xFFF0F0F0),
|
|
)
|
|
];
|
|
}
|
|
|
|
CarParkingModel({this.code, this.type, this.effectiveTimeEnd});
|
|
|
|
CarParkingModel.fromJson(Map<String, dynamic> json) {
|
|
code = json['code'];
|
|
type = json['type'];
|
|
effectiveTimeEnd = json['effectiveTimeEnd'];
|
|
status = json['status'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
data['code'] = this.code;
|
|
data['type'] = this.type;
|
|
data['effectiveTimeEnd'] = this.effectiveTimeEnd;
|
|
return data;
|
|
}
|
|
}
|