FIXED sorting
This commit is contained in:
parent
3486d9f169
commit
28f3ffca07
@ -55,12 +55,32 @@ public function dataTable(QueryBuilder $query): EloquentDataTable
|
|||||||
|
|
||||||
$this->applyFilters($dataTable);
|
$this->applyFilters($dataTable);
|
||||||
|
|
||||||
|
$orderColumns = [];
|
||||||
|
$sorted = $this->getSortColumns();
|
||||||
|
$columns = $this->getColumns();
|
||||||
|
foreach ($sorted as $item) {
|
||||||
|
$orderColumns[] = $columns[(int) $item['column']]['data'];
|
||||||
|
/*
|
||||||
|
switch ((int) $item['column']) {
|
||||||
|
case 0:
|
||||||
|
$orderColumns[] = WorklistColumn::Priority->value;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
$orderColumns[] = WorklistColumn::StudyDate->value;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
$orderColumns[] = WorklistColumn::ReceiveDate->value;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
$orderColumns[] = WorklistColumn::StudyDescription->value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
$dataTable = $dataTable
|
$dataTable = $dataTable
|
||||||
->rawColumns($rawColumns)
|
->rawColumns($rawColumns)
|
||||||
->orderColumns([
|
->orderColumns($orderColumns, ':column $1')
|
||||||
WorklistColumn::Priority->value,
|
|
||||||
WorklistColumn::StudyDate->value,
|
|
||||||
], ':column $1')
|
|
||||||
->setRowId('id');
|
->setRowId('id');
|
||||||
|
|
||||||
return $dataTable;
|
return $dataTable;
|
||||||
@ -80,6 +100,8 @@ public function query(Study $model): QueryBuilder
|
|||||||
*/
|
*/
|
||||||
public function html(): HtmlBuilder
|
public function html(): HtmlBuilder
|
||||||
{
|
{
|
||||||
|
$order = $this->getSortColumns();
|
||||||
|
|
||||||
return $this
|
return $this
|
||||||
->builder()
|
->builder()
|
||||||
->setTableId('worklist-table')
|
->setTableId('worklist-table')
|
||||||
@ -99,10 +121,7 @@ public function html(): HtmlBuilder
|
|||||||
// 'reset',
|
// 'reset',
|
||||||
// 'reload',
|
// 'reload',
|
||||||
],
|
],
|
||||||
'order' => [
|
'order' => $order,
|
||||||
[0, 'desc'],
|
|
||||||
[8, 'desc'],
|
|
||||||
],
|
|
||||||
])
|
])
|
||||||
->pageLength(15)
|
->pageLength(15)
|
||||||
->lengthMenu([15, 25, 50, 100, 250]);
|
->lengthMenu([15, 25, 50, 100, 250]);
|
||||||
@ -159,33 +178,32 @@ public function getColumns(): array
|
|||||||
|
|
||||||
case WorklistColumn::StudyDate:
|
case WorklistColumn::StudyDate:
|
||||||
$columns[] = Column::make($col->value)
|
$columns[] = Column::make($col->value)
|
||||||
->orderable(true)
|
|
||||||
->searchable(false)
|
->searchable(false)
|
||||||
->title('Scanned');
|
->title('Scanned');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WorklistColumn::ReceiveDate:
|
case WorklistColumn::ReceiveDate:
|
||||||
$columns[] = Column::make($col->value)
|
$columns[] = Column::make($col->value)
|
||||||
->orderable(true)
|
|
||||||
->searchable(false)
|
->searchable(false)
|
||||||
->title('Received');
|
->title('Received');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WorklistColumn::ReportDate:
|
case WorklistColumn::ReportDate:
|
||||||
$columns[] = Column::make($col->value)
|
$columns[] = Column::make($col->value)
|
||||||
->orderable(true)
|
|
||||||
->searchable(false)
|
->searchable(false)
|
||||||
->title('Read At');
|
->title('Read At');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WorklistColumn::AssignedPhysician:
|
case WorklistColumn::AssignedPhysician:
|
||||||
$columns[] = Column::make($col->value)
|
$columns[] = Column::make($col->value)
|
||||||
|
->orderable(false)
|
||||||
->searchable(false)
|
->searchable(false)
|
||||||
->title('Rad');
|
->title('Rad');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WorklistColumn::ReadingPhysician:
|
case WorklistColumn::ReadingPhysician:
|
||||||
$columns[] = Column::make($col->value)
|
$columns[] = Column::make($col->value)
|
||||||
|
->orderable(false)
|
||||||
->searchable(false)
|
->searchable(false)
|
||||||
->title('Rad');
|
->title('Rad');
|
||||||
break;
|
break;
|
||||||
@ -215,6 +233,10 @@ public function getColumns(): array
|
|||||||
$columns[] = Column::make($col->value)->title('Study');
|
$columns[] = Column::make($col->value)->title('Study');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WorklistColumn::Series:
|
||||||
|
$columns[] = Column::make($col->value)->orderable(false);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// dd(Str::slug($col->value, '-'));
|
// dd(Str::slug($col->value, '-'));
|
||||||
$columns[] = Column::make($col->value)->title($this->columTitle($col->value));
|
$columns[] = Column::make($col->value)->title($this->columTitle($col->value));
|
||||||
@ -239,6 +261,19 @@ protected function filename(): string
|
|||||||
return Str::slug(implode(' ', $parts), '_');
|
return Str::slug(implode(' ', $parts), '_');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getSortColumns(): array
|
||||||
|
{
|
||||||
|
$order = $this->request()->query('order', []);
|
||||||
|
if (empty($order)) {
|
||||||
|
$order = [
|
||||||
|
[0, 'desc'],
|
||||||
|
[8, 'desc'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $order;
|
||||||
|
}
|
||||||
|
|
||||||
private function applyFilters(QueryDataTable $dataTable)
|
private function applyFilters(QueryDataTable $dataTable)
|
||||||
{
|
{
|
||||||
$status = strtolower($this->request()->get('status'));
|
$status = strtolower($this->request()->get('status'));
|
||||||
|
Loading…
Reference in New Issue
Block a user