Samson Mutunga 3 лет назад
Родитель
Сommit
e68d3051e5

+ 5 - 0
app/Http/Controllers/DnaController.php

@@ -79,6 +79,11 @@ class DnaController extends Controller
                 $patients->where('is_active', '<>', true);
                 break;
         }
+        $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(20);
         return view('app.dna.patients', compact('patients', 'filters'));
     }

+ 5 - 5
resources/views/app/dna/patients-table.blade.php

@@ -3,11 +3,11 @@
 	<thead class="bg-light border-top">
 		<tr>
 			<th class="border-0">#</th>
-			<th class="border-0">Name</th>
-			<th class="border-0">DOB</th>
-			<th class="border-0">Age</th>
-			<th class="border-0">Sex</th>
-			<th class="border-0">BMI</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'Name', 'key' => 'name_first'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'DOB', 'key' => 'dob'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'Age', 'key' => 'age_in_years'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'Sex', 'key' => 'sex'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'BMI', 'key' => 'usual_bmi_min'])</th>
 			<th class="border-0">Insurance</th>
 			<th class="border-0">MCP</th>
 			<th class="border-0">RPM</th>