partial sorting FIX
This commit is contained in:
parent
bbef766d50
commit
3486d9f169
@ -55,9 +55,12 @@ public function dataTable(QueryBuilder $query): EloquentDataTable
|
||||
|
||||
$this->applyFilters($dataTable);
|
||||
|
||||
$dataTable
|
||||
->orderColumn(WorklistColumn::PatientName->value, sprintf('%s $1', WorklistColumn::PatientName->value))
|
||||
$dataTable = $dataTable
|
||||
->rawColumns($rawColumns)
|
||||
->orderColumns([
|
||||
WorklistColumn::Priority->value,
|
||||
WorklistColumn::StudyDate->value,
|
||||
], ':column $1')
|
||||
->setRowId('id');
|
||||
|
||||
return $dataTable;
|
||||
@ -77,7 +80,8 @@ public function query(Study $model): QueryBuilder
|
||||
*/
|
||||
public function html(): HtmlBuilder
|
||||
{
|
||||
return $this->builder()
|
||||
return $this
|
||||
->builder()
|
||||
->setTableId('worklist-table')
|
||||
->columns($this->getColumns())
|
||||
->minifiedAjax()
|
||||
@ -88,7 +92,7 @@ public function html(): HtmlBuilder
|
||||
// 'dom' => 'Bfrtip',
|
||||
'buttons' => [
|
||||
'searchPanes',
|
||||
'excel',
|
||||
// 'excel',
|
||||
// 'csv',
|
||||
// 'pdf',
|
||||
// 'print',
|
||||
@ -100,7 +104,6 @@ public function html(): HtmlBuilder
|
||||
[8, 'desc'],
|
||||
],
|
||||
])
|
||||
// ->selectStyleSingle()
|
||||
->pageLength(15)
|
||||
->lengthMenu([15, 25, 50, 100, 250]);
|
||||
}
|
||||
@ -155,15 +158,24 @@ public function getColumns(): array
|
||||
break;
|
||||
|
||||
case WorklistColumn::StudyDate:
|
||||
$columns[] = Column::make($col->value)->searchable(false)->title('Scanned');
|
||||
$columns[] = Column::make($col->value)
|
||||
->orderable(true)
|
||||
->searchable(false)
|
||||
->title('Scanned');
|
||||
break;
|
||||
|
||||
case WorklistColumn::ReceiveDate:
|
||||
$columns[] = Column::make($col->value)->searchable(false)->title('Received');
|
||||
$columns[] = Column::make($col->value)
|
||||
->orderable(true)
|
||||
->searchable(false)
|
||||
->title('Received');
|
||||
break;
|
||||
|
||||
case WorklistColumn::ReportDate:
|
||||
$columns[] = Column::make($col->value)->searchable(false)->title('Read At');
|
||||
$columns[] = Column::make($col->value)
|
||||
->orderable(true)
|
||||
->searchable(false)
|
||||
->title('Read At');
|
||||
break;
|
||||
|
||||
case WorklistColumn::AssignedPhysician:
|
||||
@ -175,7 +187,7 @@ public function getColumns(): array
|
||||
case WorklistColumn::ReadingPhysician:
|
||||
$columns[] = Column::make($col->value)
|
||||
->searchable(false)
|
||||
->title('Read By');
|
||||
->title('Rad');
|
||||
break;
|
||||
|
||||
case WorklistColumn::ActionButtons:
|
||||
@ -187,7 +199,7 @@ public function getColumns(): array
|
||||
->exportable(false)
|
||||
->printable(false)
|
||||
// ->width(60)
|
||||
->addClass('p-0 ps-2')
|
||||
// ->addClass('p-0 ps-2')
|
||||
->title('');
|
||||
break;
|
||||
|
||||
@ -242,7 +254,7 @@ private function applyFilters(QueryDataTable $dataTable)
|
||||
$modality = $this->request()->get('modality');
|
||||
|
||||
$dataTable->filter(
|
||||
function ($query) use ($status, $studyFrom, $studyTo, $receiveFrom, $receiveTo, $modality, $assignFrom, $assignTo, $readFrom, $readTo, $readBy) {
|
||||
function (QueryBuilder $query) use ($status, $studyFrom, $studyTo, $receiveFrom, $receiveTo, $modality, $assignFrom, $assignTo, $readFrom, $readTo, $readBy) {
|
||||
$this->filterStatus($query, $status);
|
||||
$this->filterDateRange($query, 'study_date', $studyFrom, $studyTo);
|
||||
$this->filterDateRange($query, 'received_at', $receiveFrom, $receiveTo);
|
||||
@ -254,7 +266,7 @@ function ($query) use ($status, $studyFrom, $studyTo, $receiveFrom, $receiveTo,
|
||||
);
|
||||
}
|
||||
|
||||
private function filterStatus($query, ?string $status): void
|
||||
private function filterStatus(QueryBuilder $query, ?string $status): void
|
||||
{
|
||||
if (blank($status)) {
|
||||
return;
|
||||
@ -273,7 +285,7 @@ private function filterStatus($query, ?string $status): void
|
||||
}
|
||||
}
|
||||
|
||||
private function filterModalities($query, ?string $request): void
|
||||
private function filterModalities(QueryBuilder $query, ?string $request): void
|
||||
{
|
||||
if (blank($request)) {
|
||||
return;
|
||||
@ -288,7 +300,7 @@ private function filterModalities($query, ?string $request): void
|
||||
$query->whereIn('modality', $modalities);
|
||||
}
|
||||
|
||||
private function filterDateRange($query, string $column, ?string $from, ?string $to): void
|
||||
private function filterDateRange(QueryBuilder $query, string $column, ?string $from, ?string $to): void
|
||||
{
|
||||
if (blank($from)) {
|
||||
return;
|
||||
@ -540,9 +552,9 @@ private function generateActionButtons(Study $study): string
|
||||
return implode("\r", $btns);
|
||||
}
|
||||
|
||||
private function filterReadBy($query, ?int $readBy): void
|
||||
private function filterReadBy(QueryBuilder $query, ?int $readBy): void
|
||||
{
|
||||
if (is_null($readBy) || $readBy == 0) {
|
||||
if (is_null($readBy) || $readBy <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user