feat: Add optional approvedBy field to TaskModel and update JSON parsing
This commit is contained in:
parent
c215c4c943
commit
44d72b73ac
@ -7,6 +7,7 @@ class TaskModel {
|
||||
final int plannedTask;
|
||||
final int completedTask;
|
||||
final AssignedBy assignedBy;
|
||||
final AssignedBy? approvedBy;
|
||||
final List<TeamMember> teamMembers;
|
||||
final List<Comment> comments;
|
||||
final List<String> reportedPreSignedUrls;
|
||||
@ -20,6 +21,7 @@ class TaskModel {
|
||||
required this.plannedTask,
|
||||
required this.completedTask,
|
||||
required this.assignedBy,
|
||||
this.approvedBy,
|
||||
required this.teamMembers,
|
||||
required this.comments,
|
||||
required this.reportedPreSignedUrls,
|
||||
@ -32,13 +34,15 @@ class TaskModel {
|
||||
? DateTime.tryParse(json['reportedDate'])
|
||||
: null,
|
||||
id: json['id'],
|
||||
workItem: json['workItem'] != null
|
||||
? WorkItem.fromJson(json['workItem'])
|
||||
: null,
|
||||
workItem:
|
||||
json['workItem'] != null ? WorkItem.fromJson(json['workItem']) : null,
|
||||
workItemId: json['workItemId'],
|
||||
plannedTask: json['plannedTask'],
|
||||
completedTask: json['completedTask'],
|
||||
assignedBy: AssignedBy.fromJson(json['assignedBy']),
|
||||
approvedBy: json['approvedBy'] != null
|
||||
? AssignedBy.fromJson(json['approvedBy'])
|
||||
: null,
|
||||
teamMembers: (json['teamMembers'] as List)
|
||||
.map((e) => TeamMember.fromJson(e))
|
||||
.toList(),
|
||||
@ -119,8 +123,7 @@ class WorkArea {
|
||||
return WorkArea(
|
||||
id: json['id']?.toString(),
|
||||
areaName: json['areaName'] ?? '',
|
||||
floor:
|
||||
json['floor'] != null ? Floor.fromJson(json['floor']) : null,
|
||||
floor: json['floor'] != null ? Floor.fromJson(json['floor']) : null,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -368,9 +368,8 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
||||
|
||||
final activityName =
|
||||
task.workItem?.activityMaster?.activityName ?? 'N/A';
|
||||
final activityId = task.workItem?.activityMaster?.id ;
|
||||
final workAreaId =
|
||||
task.workItem?.workArea?.id;
|
||||
final activityId = task.workItem?.activityMaster?.id;
|
||||
final workAreaId = task.workItem?.workArea?.id;
|
||||
final location = [
|
||||
task.workItem?.workArea?.floor?.building?.name,
|
||||
task.workItem?.workArea?.floor?.floorName,
|
||||
@ -471,7 +470,7 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
||||
refreshCallback: _refreshData,
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
] else ...[
|
||||
] else if (task.approvedBy == null) ...[
|
||||
TaskActionButtons.reportActionButton(
|
||||
context: context,
|
||||
task: task,
|
||||
@ -481,7 +480,6 @@ class _DailyProgressReportScreenState extends State<DailyProgressReportScreen>
|
||||
completed: completed,
|
||||
refreshCallback: _refreshData,
|
||||
),
|
||||
|
||||
const SizedBox(width: 8),
|
||||
],
|
||||
TaskActionButtons.commentButton(
|
||||
|
Loading…
x
Reference in New Issue
Block a user