| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- enum ApprovalStatus {
- draft,
- pending,
- approved,
- rejected,
- withdrawn;
- String get label {
- switch (this) {
- case ApprovalStatus.draft:
- return '草稿';
- case ApprovalStatus.pending:
- return '待审批';
- case ApprovalStatus.approved:
- return '已通过';
- case ApprovalStatus.rejected:
- return '已拒绝';
- case ApprovalStatus.withdrawn:
- return '已撤回';
- }
- }
- }
- class ApprovalRecord {
- final String id;
- final String bizId;
- final String bizType;
- final String approverId;
- final String approverName;
- final int approvalLevel;
- final String action;
- final String opinion;
- final DateTime approvalTime;
- const ApprovalRecord({
- required this.id,
- required this.bizId,
- required this.bizType,
- required this.approverId,
- required this.approverName,
- required this.approvalLevel,
- required this.action,
- required this.opinion,
- required this.approvalTime,
- });
- factory ApprovalRecord.fromJson(Map<String, dynamic> json) {
- return ApprovalRecord(
- id: json['id'] as String,
- bizId: json['bizId'] as String,
- bizType: json['bizType'] as String,
- approverId: json['approverId'] as String,
- approverName: json['approverName'] as String,
- approvalLevel: json['approvalLevel'] as int,
- action: json['action'] as String,
- opinion: json['opinion'] as String? ?? '',
- approvalTime: DateTime.parse(json['approvalTime'] as String),
- );
- }
- Map<String, dynamic> toJson() => {
- 'id': id,
- 'bizId': bizId,
- 'bizType': bizType,
- 'approverId': approverId,
- 'approverName': approverName,
- 'approvalLevel': approvalLevel,
- 'action': action,
- 'opinion': opinion,
- 'approvalTime': approvalTime.toIso8601String(),
- };
- }
|