This commit is contained in:
Dr Masroor Ehsan 2025-01-04 11:50:56 +06:00
parent 8f80a58f78
commit 8f941d039c
3 changed files with 66 additions and 11 deletions

View File

@ -2,12 +2,13 @@
namespace App\DataTables; namespace App\DataTables;
use App\Models\Worklist; use App\Models\Study;
use Illuminate\Database\Eloquent\Builder as QueryBuilder; use Illuminate\Database\Eloquent\Builder as QueryBuilder;
use Yajra\DataTables\EloquentDataTable; use Yajra\DataTables\EloquentDataTable;
use Yajra\DataTables\Html\Builder as HtmlBuilder; use Yajra\DataTables\Html\Builder as HtmlBuilder;
use Yajra\DataTables\Html\Button; use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column; use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\SearchPane;
use Yajra\DataTables\Services\DataTable; use Yajra\DataTables\Services\DataTable;
class WorklistDataTable extends DataTable class WorklistDataTable extends DataTable
@ -27,7 +28,7 @@ public function dataTable(QueryBuilder $query): EloquentDataTable
/** /**
* Get the query source of dataTable. * Get the query source of dataTable.
*/ */
public function query(Worklist $model): QueryBuilder public function query(Study $model): QueryBuilder
{ {
return $model->newQuery(); return $model->newQuery();
} }
@ -41,7 +42,8 @@ public function html(): HtmlBuilder
->setTableId('worklist-table') ->setTableId('worklist-table')
->columns($this->getColumns()) ->columns($this->getColumns())
->minifiedAjax() ->minifiedAjax()
// ->dom('Bfrtip') ->searchPanes(SearchPane::make())
->layout(['dom' => 'PBfrtip'])
->orderBy(1) ->orderBy(1)
->selectStyleSingle() ->selectStyleSingle()
->buttons([ ->buttons([
@ -65,10 +67,25 @@ public function getColumns(): array
->printable(false) ->printable(false)
->width(60) ->width(60)
->addClass('text-center'), ->addClass('text-center'),
Column::make('id'), Column::make('id'),
Column::make('add your columns'), Column::make('study_priority'),
Column::make('created_at'), Column::make('study_modality'),
Column::make('updated_at'),
Column::make('patient_id'),
Column::make('patient_name'),
Column::make('sex_age'),
Column::make('study_date'),
Column::make('received_at'),
Column::make('reported_at'),
Column::make('study_description'),
Column::make('reporting_physician_id'),
Column::make('body_part_examined'),
Column::make('image_count'),
// Column::make('xxx'),
]; ];
} }
@ -77,6 +94,6 @@ public function getColumns(): array
*/ */
protected function filename(): string protected function filename(): string
{ {
return 'Worklist_'.date('YmdHis'); return 'radsparc_worklist_'.date('YmdHis');
} }
} }

View File

@ -3,16 +3,20 @@
namespace App\Http\Controllers\Staff; namespace App\Http\Controllers\Staff;
use App\DAL\Studies\WorklistFactory; use App\DAL\Studies\WorklistFactory;
use App\DataTables\WorklistDataTable;
use App\Http\Controllers\HashidControllerBase; use App\Http\Controllers\HashidControllerBase;
class WorklistController extends HashidControllerBase class WorklistController extends HashidControllerBase
{ {
public function index() public function index(WorklistDataTable $dataTable)
{ {
return $dataTable->render('staff.worklist.table');
}
/* {
$studies = WorklistFactory::getLister()->get(); $studies = WorklistFactory::getLister()->get();
return view('staff.worklist.index', compact('studies')); return view('staff.worklist.index', compact('studies'));
} }*/
public function details($hashid) public function details($hashid)
{ {

View File

@ -0,0 +1,34 @@
@extends('layouts.layoutMaster')
@section('title', 'Worklist')
@section('vendor-style')
@vite([
'resources/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.scss',
'resources/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.scss',
'resources/assets/vendor/libs/datatables-checkboxes-jquery/datatables.checkboxes.scss',
'resources/assets/vendor/libs/datatables-buttons-bs5/buttons.bootstrap5.scss'
])
@endsection
@section('vendor-script')
@vite([
'resources/assets/vendor/libs/moment/moment.js',
'resources/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js'
])
@endsection
@section('page-script')
{{ $dataTable->scripts(attributes: ['type' => 'module']) }}
@endsection
@section('content')
<div class="container">
<div class="card">
<div class="card-header">Manage Users</div>
<div class="card-body">
{{ $dataTable->table() }}
</div>
</div>
</div>
@endsection