Selaa lähdekoodia

Sort admin patients table

Samson Mutunga 3 vuotta sitten
vanhempi
commit
2687a2dd50

+ 6 - 0
app/Http/Controllers/AdminController.php

@@ -175,6 +175,12 @@ class AdminController extends Controller
             }
         }
 
+        $sortBy = $request->input('sort_by') ?: 'name_first';
+        $sortDir = $request->input('sort_dir') ?: 'ASC';
+
+        $patients = $patients->orderByRaw("$sortBy $sortDir NULLS LAST");
+
+
         $patients = $patients->orderBy('created_at', 'DESC')->paginate(25);
         return view('app.admin.patients', compact('patients', 'filters'));
     }

+ 6 - 6
resources/views/app/admin/patients-table-extended.blade.php

@@ -9,7 +9,7 @@
         <thead class="bg-light">
         <tr>
             <th class="border-0 width-90px">#</th>
-            <th class="border-0">Name</th>            
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Name', 'key' => 'name_first'])</th>            
             @if($pro->pro_type == 'ADMIN')
                 <th class="border-0">MCP</th>
                 {{--<th class="border-0">NA</th>--}}
@@ -19,15 +19,15 @@
             @endif
             <th class="border-0">Mailing Address State</th>
             <th class="border-0">Insurance</th>
-            <th class="border-0">Last Visit</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
             <th class="border-0">Next Appt.</th>
-            <th class="border-0">BP/Pulse Timestamp</th>
-            <th class="border-0">Weight Timestamp</th>
-            <th class="border-0">Created</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'BP/Pulse Timestamp', 'key' => 'most_recent_cellular_bp_measurement_at'])</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Weight Timestamp', 'key' => 'most_recent_cellular_weight_measurement_at'])</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Created', 'key' => 'created_at'])</th>
             <th class="border-0">Assigned On</th>
             <th class="border-0">NA</th>
             <th class="border-0">Notes</th>
-            <th class="border-0">Status</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Status', 'key' => 'client_engagement_status_category'])</th>
             <th class="border-0">Temp. Gun</th>
             <th class="border-0">Pulse Ox.</th>
             <th class="border-0">Cell. Bp</th>