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;
use App\Models\Worklist;
use App\Models\Study;
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
use Yajra\DataTables\EloquentDataTable;
use Yajra\DataTables\Html\Builder as HtmlBuilder;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\SearchPane;
use Yajra\DataTables\Services\DataTable;
class WorklistDataTable extends DataTable
@ -27,7 +28,7 @@ public function dataTable(QueryBuilder $query): EloquentDataTable
/**
* Get the query source of dataTable.
*/
public function query(Worklist $model): QueryBuilder
public function query(Study $model): QueryBuilder
{
return $model->newQuery();
}
@ -41,7 +42,8 @@ public function html(): HtmlBuilder
->setTableId('worklist-table')
->columns($this->getColumns())
->minifiedAjax()
// ->dom('Bfrtip')
->searchPanes(SearchPane::make())
->layout(['dom' => 'PBfrtip'])
->orderBy(1)
->selectStyleSingle()
->buttons([
@ -65,10 +67,25 @@ public function getColumns(): array
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id'),
Column::make('add your columns'),
Column::make('created_at'),
Column::make('updated_at'),
Column::make('study_priority'),
Column::make('study_modality'),
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
{
return 'Worklist_'.date('YmdHis');
return 'radsparc_worklist_'.date('YmdHis');
}
}

View File

@ -3,16 +3,20 @@
namespace App\Http\Controllers\Staff;
use App\DAL\Studies\WorklistFactory;
use App\DataTables\WorklistDataTable;
use App\Http\Controllers\HashidControllerBase;
class WorklistController extends HashidControllerBase
{
public function index()
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)
{

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