Peter Muturi 2 年之前
父節點
當前提交
6f7d3716f4
共有 2 個文件被更改,包括 34 次插入12 次删除
  1. 1 1
      app/Http/Controllers/AdminController.php
  2. 33 11
      resources/views/app/admin/patients-maps.blade.php

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

@@ -321,7 +321,7 @@ class AdminController extends Controller
         }
 
         if(@$filters['mapView'] == 1){
-            $patients = $patients->orderByRaw($sortBySQL)->paginate(25);
+            $patients = $patients->orderByRaw($sortBySQL)->paginate(100);
         }else{
           $patients = $patients->orderByRaw($sortBySQL)->paginate(25);
         }

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

@@ -11,38 +11,60 @@
     top:60px;
     left: 10px;
     width: 300px;
-    height:80%;
+    height:87%;
     overflow-y: scroll;
   }
 </style>
-<div class="bg-white position-relative w-100">
+<div class="bg-white position-relative w-100" id="mapComponent">
   <div id="map-canvas" style="height:700px;width:100%;"></div>
   <div class="pt-content shadow">
-    <div class="p-3">
-      <input type="text" class="form-control" name="search" value="">
-    </div>
     @foreach($patients as $patient)
       @if($patient->home_address_geo_lat && $patient->home_address_geo_long)
-        <div class="p-3 border-bottom">
-          <div class="d-flex justify-content-between align-items-center">
-            <p class="m-0">{{$patient->displayName()}}</p>
+        <div class="px-3 py-2 border-bottom">
+          <div class="d-flex justify-content-between align-items-start mb-1">
+            <div class="d-flex align-items-baseline flex-nowrap">
+              <span>{{$patient->displayName()}}</span>
+              <?php $latestMemo = $patient->latestMemo(); ?>
+              <div class="on-hover-show d-inline-block on-hover-opaque ml-2">
+                <i class="fa fa-info-circle ml-1 {{$latestMemo ? '' : 'opacity-35'}}"></i>
+                <div class="on-hover-content py-2 pl-3 text-nowrap text-dark" style="left:0;right:auto;">
+                  @if($latestMemo)
+                  <p class="mb-1 font-weight-bold text-secondary">Last Memo: {{$latestMemo->category}}</p>
+                  <div class="text-wrap mb-1">{{$latestMemo->content}}</div>
+                  <div class="text-secondary text-sm mb-1">{{friendly_date_time($latestMemo->created_at)}}</div>
+                  @if($latestMemo->createdBy && $latestMemo->createdBy->pro)
+                  <div class="text-secondary text-sm">By {{$latestMemo->createdBy->pro->displayName()}}</div>
+                  @endif
+                  @else
+                  <div class="text-secondary">No client memos.</div>
+                  @endif
+                </div>
+              </div>
+            </div>
             <p class="m-0"># <a native target="_blank" href="{{route('patients.view.dashboard', $patient)}}">{{$patient->chart_number}}</a></p>
           </div>
+            @if($pro->pro_type == 'ADMIN')
+            <p class="mb-1"><b>MCP:</b> {{@$patient->mcp ? $patient->mcp->displayName() : '--'}}</p>
+            @endif
           @include('app.patient.coverage_column_renderer', ['patient'=>$patient])
+          @if($patient->mailing_address_city)
+          <p class="m-0 mt-1"><i class="fas fa-map-marker"></i> {{$patient->mailing_address_city}}, {{$patient->mailing_address_state}}</p>
+          @endif
         </div>
       @endif
     @endforeach
-    <div class="p-3 shadow">
+    <div class="px-3 py-2 border-top bg-light" style="position:sticky; bottom:0;">
       Showing <b>{{ count($patients) }}</b> patients
     </div>
   </div>
 </div>
-
+<div class="px-3 pt-3 d-flex align-items-center">
+    {{$patients->withQueryString()->links()}}
+</div>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/markerclustererplus/2.1.4/markerclusterer.min.js"></script>
 <script>
     var patients = <?= json_encode($patients) ?>;
     (function () {
-
       function init() {
         var mapOptions = {
           center: {