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.
39 lines
1.0 KiB
39 lines
1.0 KiB
|
2 weeks ago
|
import 'package:equatable/equatable.dart';
|
||
|
|
import 'package:problem_check_system/app/core/models/sync_status.dart';
|
||
|
|
|
||
|
|
/// `Enterprise` 实体,代表一个企业的核心业务对象。
|
||
|
|
/// 这是一个纯粹的、不可变的类,不包含任何与数据持久化相关的代码。
|
||
|
|
class Enterprise extends Equatable implements SyncableEntity {
|
||
|
|
@override
|
||
|
|
final String id;
|
||
|
|
@override
|
||
|
|
final SyncStatus syncStatus;
|
||
|
|
@override
|
||
|
|
final DateTime lastModifiedTime;
|
||
|
|
final String name;
|
||
|
|
final String type;
|
||
|
|
final String? address;
|
||
|
|
final String? scale;
|
||
|
|
final String? contactPerson;
|
||
|
|
final String? contactPhone;
|
||
|
|
final String? majorHazardsDescription;
|
||
|
|
final DateTime creationTime;
|
||
|
|
|
||
|
|
const Enterprise({
|
||
|
|
required this.id,
|
||
|
|
required this.name,
|
||
|
|
required this.type,
|
||
|
|
this.address,
|
||
|
|
this.scale,
|
||
|
|
this.contactPerson,
|
||
|
|
this.contactPhone,
|
||
|
|
this.majorHazardsDescription,
|
||
|
|
required this.lastModifiedTime,
|
||
|
|
required this.creationTime,
|
||
|
|
required this.syncStatus,
|
||
|
|
});
|
||
|
|
|
||
|
|
@override
|
||
|
|
List<Object?> get props => [id, syncStatus, name, type];
|
||
|
|
}
|