This commit is contained in:
Dr Masroor Ehsan 2025-01-04 12:58:22 +06:00
parent 2ac6acaeef
commit f76cf15376
2 changed files with 12 additions and 8 deletions

View File

@ -22,6 +22,8 @@ public function dataTable(QueryBuilder $query): EloquentDataTable
{ {
return (new EloquentDataTable($query)) return (new EloquentDataTable($query))
->addColumn('action', 'worklist.action') ->addColumn('action', 'worklist.action')
->orderColumn('patient_name', 'patient_name $1')
->rawColumns(['priority_icon'])
->setRowId('id'); ->setRowId('id');
} }
@ -62,8 +64,8 @@ public function html(): HtmlBuilder
public function getColumns(): array public function getColumns(): array
{ {
return [ return [
Column::make('study_priority'), Column::make('priority_icon'),
Column::make('study_modality'), Column::make('modality'),
Column::make('patient_id'), Column::make('patient_id'),
Column::make('patient_name'), Column::make('patient_name'),

View File

@ -23,7 +23,7 @@ protected function casts(): array
'is_archived' => 'boolean', 'is_archived' => 'boolean',
'study_status' => StudyLevelStatus::class, 'study_status' => StudyLevelStatus::class,
'report_status' => ReportStatus::class, 'report_status' => ReportStatus::class,
'study_priority' => Priority::class, 'priority' => Priority::class,
'received_at' => 'datetime', 'received_at' => 'datetime',
'reported_at' => 'datetime', 'reported_at' => 'datetime',
'assigned_at' => 'datetime', 'assigned_at' => 'datetime',
@ -180,6 +180,7 @@ public function allowed(): array
public function toArray(): array public function toArray(): array
{ {
return array_merge(parent::toArray(), [ return array_merge(parent::toArray(), [
'priority_icon' => $this->getPriorityIcon(),
'sex_age' => $this->sexAge(), 'sex_age' => $this->sexAge(),
'num_instances' => $this->numInstances(), 'num_instances' => $this->numInstances(),
'links' => $this->links(), 'links' => $this->links(),
@ -187,12 +188,13 @@ public function toArray(): array
]); ]);
} }
public function getPriorityIconAttribute(): string public function getPriorityIcon(): string
{ {
return match ($this->study_priority) { return match ($this->priority) {
1 => 'fa fa-star text-warning', Priority::High => '<i class="fa-light fa-triangle-exclamation"></i>',
2 => 'fa fa-star text-danger', Priority::Urgent => '<i class="fa-light fa-bolt"></i>',
default => 'fa fa-star text-primary', Priority::Low => '<i class="fa-thin fa-chevrons-down"></i>',
default => '',
}; };
} }
} }