Samson Mutunga 2 년 전
부모
커밋
3e09ed9493

+ 5 - 1
app/Http/Controllers/AdminController.php

@@ -320,7 +320,11 @@ class AdminController extends Controller
             $sortBySQL = "client_engagement_status_category DESC NULLS LAST";
         }
 
-        $patients = $patients->orderByRaw($sortBySQL)->paginate(25);
+        if(@$filters['mapView'] == 1){
+            $patients = $patients->orderByRaw($sortBySQL)->get(['uid', 'name_first', 'name_last']);
+        }else{
+          $patients = $patients->orderByRaw($sortBySQL)->paginate(25);  
+        }
 
         $insurances = DB::select('SELECT DISTINCT commercial_payer_name, commercial_payer_id FROM client_primary_coverage WHERE commercial_payer_name IS NOT NULL ORDER BY commercial_payer_name ASC');
 

+ 10 - 11
resources/views/app/admin/patients-maps.blade.php

@@ -1,15 +1,18 @@
 <?php
  $patientEngagementColorCodes = @Config::get('constants.client_engagement_status_color_codes');
 ?>
-
+<div>
+  @include('app.admin.patients-results-view-options')
+</div>
 <div id="map-canvas" style="height:700px;width:100%;"></div>
 <div class="px-3 pt-3 d-flex align-items-center">
-    {{$patients->withQueryString()->links()}}
-    <div class="ml-4 mb-3">Showing <b>{{$patients->firstItem()}}</b> to <b>{{$patients->lastItem()}}</b> (page {{$patients->currentPage()}}) of <b>{{$patients->total()}}</b> patients</div>
+    <div class="ml-4 mb-3">Showing <b>{{ count($patients) }}</b></div>
 </div>
 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/markerclustererplus/2.1.4/markerclusterer.min.js"></script>
 <script>
+  var patients = <?= json_encode($patients) ?>;
+  console.log({patients});
     (function () {
 
       function init() {
@@ -25,13 +28,9 @@
 
         var markers = [];
         var locations = [];
-
-        var addresses = [
-
-              {address: "4 FORGE HILL RD PERRY HALL, MD"},
-        ];
-        for (var x = 0; x < addresses.length; x++) {
-          var location = ['<center><a href=""><strong></strong></a><br />', 38.129469, -101.111794, 0]
+        for (var x = 0; x < patients.length; x++) {
+          var patient = patients[x];
+          var location = ['<center><a href="patients/view/'+ patient.uid +'"><strong>'+ patient.name_first + ' ' + patient.name_last +'</strong></a><br />', patient.lat, patient.long, 0]
           locations.push(location);
           addMarkers(locations);
         };
@@ -51,7 +50,7 @@
               }
             })(marker, i));
             markers.push(marker);
-            if (markers.length == addresses.length) {
+            if (markers.length == patients.length) {
               callClusterer();
             }
           }

+ 11 - 0
resources/views/app/admin/patients-results-view-options.blade.php

@@ -0,0 +1,11 @@
+@if(@$filters['mapView'] == 1)
+<div class="pl-3 mb-3 d-inline-flex align-items-baseline">
+    <a href="{{ request()->fullUrlWithQuery(['mapView' => 0]) }}" class="ml-2 text-decoration-none disable-grid"><i class="fa fa-table text-sm"></i> Table View</a>
+</div>
+@else
+<div class="pl-3 mb-3 d-inline-flex align-items-baseline">
+    <a href="#" native class="mr-3 text-decoration-none enable-grid" onclick="$('#admin-patients-list-extended>table').addClass('stag-compact-grid'); return false;"><i class="fa fa-list text-sm"></i> Grid</a>
+    <a href="#" native class="text-decoration-none disable-grid" onclick="$('#admin-patients-list-extended>table').removeClass('stag-compact-grid'); return false;"><i class="fa fa-file text-sm"></i> Details</a>
+    <a href="{{ request()->fullUrlWithQuery(['mapView' => 1]) }}" class="ml-2 text-decoration-none disable-grid"><i class="fa fa-globe text-sm"></i> Map View</a>
+</div>
+@endif

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

@@ -2,10 +2,7 @@
  $patientEngagementColorCodes = @Config::get('constants.client_engagement_status_color_codes');
 ?>
 <div>
-    <div class="pl-3 mb-3 d-inline-flex align-items-baseline">
-        <a href="#" native class="mr-3 text-decoration-none enable-grid" onclick="$('#admin-patients-list-extended>table').addClass('stag-compact-grid'); return false;"><i class="fa fa-list text-sm"></i> Grid</a>
-        <a href="#" native class="text-decoration-none disable-grid" onclick="$('#admin-patients-list-extended>table').removeClass('stag-compact-grid'); return false;"><i class="fa fa-file text-sm"></i> Details</a>
-    </div>
+    @include('app.admin.patients-results-view-options')
 </div>
 <div class="table-responsive border-top" style="height: calc(100vh - 280px)" id="admin-patients-list-extended">
     <table class="table p-0 m-0 table-sm table-striped table-bordered border-bottom text-nowrap">
@@ -399,8 +396,7 @@
             </tr>
         @endif
         </tbody>
-
-    </table>
+    </table>    
 </div>
 <div class="px-3 pt-3 d-flex align-items-center">
     {{$patients->withQueryString()->links()}}

+ 5 - 1
resources/views/app/admin/patients.blade.php

@@ -13,7 +13,11 @@
                 <div class="p-3">
                     @include('app.admin.patients_filters')
                 </div>
-                @include('app.admin.patients-maps')
+                @if(@$filters['mapView'] == 1)
+                    @include('app.admin.patients-maps')
+                @else
+                    @include('app.admin.patients-table-extended')
+                @endif
             </div>
         </div>
     </div>