From 394d3eea0a9d410ad855e2b0afb6415586c701bf Mon Sep 17 00:00:00 2001 From: Dr Masroor Ehsan Date: Sat, 4 Jan 2025 13:36:36 +0600 Subject: [PATCH] wip --- app/DataTables/WorklistDataTable.php | 33 ++++++++++++++++--- .../Controllers/Staff/WorklistController.php | 5 --- app/Models/Study.php | 8 ++--- .../views/staff/worklist/table.blade.php | 9 +---- 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/app/DataTables/WorklistDataTable.php b/app/DataTables/WorklistDataTable.php index 1b271f4..df9d08c 100644 --- a/app/DataTables/WorklistDataTable.php +++ b/app/DataTables/WorklistDataTable.php @@ -4,6 +4,7 @@ use App\Models\Study; use Illuminate\Database\Eloquent\Builder as QueryBuilder; +use Illuminate\Support\Str; use Yajra\DataTables\EloquentDataTable; use Yajra\DataTables\Html\Builder as HtmlBuilder; use Yajra\DataTables\Html\Button; @@ -44,10 +45,25 @@ public function html(): HtmlBuilder ->setTableId('worklist-table') ->columns($this->getColumns()) ->minifiedAjax() - ->searchPanes(SearchPane::make()) - ->layout(['dom' => 'PBfrtip']) + ->searchPanes(SearchPane::make(['show' => true, 'hideCount' => true])) + ->parameters( + [ + // 'dom' => 'Pfrtip', + // 'dom' => 'Bfrtip', + 'buttons' => [ + 'searchPanes', + 'excel', + 'csv', + 'pdf', + 'print', + 'reset', + 'reload', + ], + ]) ->orderBy(1) ->selectStyleSingle() + ->pageLength(25) // Set default page length to 10 + ->lengthMenu([15, 25, 50, 100, 250]) // Custom page length options ->buttons([ Button::make('excel'), Button::make('csv'), @@ -78,7 +94,10 @@ public function getColumns(): array Column::make('study_description'), Column::make('reporting_physician_id'), Column::make('body_part_examined'), - Column::make('num_instances'), + Column::make('num_instances') + ->searchable(false) + ->orderable(false) + ->addClass('text-center'), // Column::make('xxx'), Column::computed('action') @@ -95,6 +114,12 @@ public function getColumns(): array */ protected function filename(): string { - return 'radsparc_worklist_'.date('YmdHis'); + $parts = [ + config('app.name'), + 'worklist', + date('YmdHi'), + ]; + + return Str::slug(implode(' ', $parts), '_'); } } diff --git a/app/Http/Controllers/Staff/WorklistController.php b/app/Http/Controllers/Staff/WorklistController.php index 0bfd3bd..0bbecfe 100644 --- a/app/Http/Controllers/Staff/WorklistController.php +++ b/app/Http/Controllers/Staff/WorklistController.php @@ -12,11 +12,6 @@ public function index(WorklistDataTable $dataTable) { return $dataTable->render('staff.worklist.table'); } - /* { - $studies = WorklistFactory::getLister()->get(); - - return view('staff.worklist.index', compact('studies')); - }*/ public function details($hashid) { diff --git a/app/Models/Study.php b/app/Models/Study.php index b5bdbb3..fd1c57c 100644 --- a/app/Models/Study.php +++ b/app/Models/Study.php @@ -24,10 +24,10 @@ protected function casts(): array 'study_status' => StudyLevelStatus::class, 'report_status' => ReportStatus::class, 'priority' => Priority::class, - 'received_at' => 'datetime', - 'reported_at' => 'datetime', - 'assigned_at' => 'datetime', - 'study_date' => 'datetime', + 'received_at' => 'immutable_datetime', + 'reported_at' => 'immutable_datetime', + 'assigned_at' => 'immutable_datetime', + 'study_date' => 'immutable_datetime', ]; } diff --git a/resources/views/staff/worklist/table.blade.php b/resources/views/staff/worklist/table.blade.php index 36f8051..fb72986 100644 --- a/resources/views/staff/worklist/table.blade.php +++ b/resources/views/staff/worklist/table.blade.php @@ -27,12 +27,5 @@ @endsection @section('content') -
-
-
Manage Users
-
- {{ $dataTable->table() }} -
-
-
+ {{ $dataTable->table() }} @endsection