Parcourir la source

Merge branch 'dev' of https://rav.triplestart.com/jmudaka/stagfe2 into dev

Peter Muturi il y a 3 ans
Parent
commit
77ae3d9efe

+ 32 - 5
app/Http/Controllers/McpController.php

@@ -172,14 +172,41 @@ class McpController extends Controller
 
     public function supply_orders(Request $request)
     {
-        $supplyOrders = SupplyOrder::paginate(5);
-        return view('app.mcp.supply_orders', compact('supplyOrders'));
+        $filters = $request->all();
+        $supplyOrders = SupplyOrder::select('supply_order.*')->where('supply_order.signed_by_pro_id', $this->performer->pro->id);
+        $this->filterMultiQuery($request, $supplyOrders, 'created_at', 'date_category', 'date_value_1', 'date_value_2');
+        $status = $request->get('status');
+        
+        if($status){
+            if($status == 'CLEARED_FOR_SHIPMENT'){
+                $supplyOrders = $supplyOrders->where('is_cleared_for_shipment', true);
+            }elseif($status == 'NOT_CLEARED_FOR_SHIPMENT'){
+                $supplyOrders = $supplyOrders->where('is_cleared_for_shipment', false);
+            }elseif($status == 'CANCELLED'){
+                $supplyOrders = $supplyOrders->where('is_cancelled', true);
+            }else{
+             $supplyOrders = $supplyOrders->join('shipment', 'shipment.id', '=', 'supply_order.shipment_id')->where('shipment.status', $status);   
+            }
+            
+        }
+        $supplyOrders = $supplyOrders->orderBy('created_at', 'DESC')->paginate(20);
+        return view('app.mcp.supply_orders', compact('supplyOrders', 'filters'));
     }
 
     public function client_messages(Request $request)
-    {
-        $clientMessages = ClientSMS::paginate(5);
-        return view('app.mcp.client_messages', compact('clientMessages'));
+    {      
+        $filters = $request->all();
+
+        $clientMessages = ClientSMS::select('client_sms.*')
+        ->join('client', 'client.id', '=', 'client_sms.client_id')
+        ->where('client.mcp_pro_id', $this->performer->pro->id);
+
+        $this->filterMultiQuery($request, $clientMessages, 'client_sms.created_at', 'date_category', 'date_value_1', 'date_value_2');
+        $this->filterSimpleQuery($request, $clientMessages, 'sms_status', 'sms_status');
+
+        $clientMessages = $clientMessages->orderBy('client_sms.created_at', 'DESC');
+        $clientMessages = $clientMessages->paginate(20);
+        return view('app.mcp.client_messages', compact('clientMessages', 'filters'));
     }
 
     public function new_patients_awaiting_visit(Request $request){

+ 10 - 6
resources/views/app/mcp/client_messages.blade.php

@@ -19,8 +19,10 @@
                 <thead class="bg-light">
                     <tr>
                         <th class="px-3 border-0">Date</th>
+                        <th class="px-3 border-0">Folder</th>
                         <th class="px-3 border-0">To</th>
                         <th class="px-3 border-0">From</th>
+                        <th class="px-3 border-0">Client</th>
                         <th class="px-3 border-0">Message</th>
                         <th class="px-3 border-0">Status</th>
                     </tr>
@@ -28,17 +30,19 @@
                 <tbody>
                     @foreach($clientMessages as $clientMessage)
                     <tr>
-                        <td>{{ $clientMessage->created_at }}</td>
-                        <td>{{$clientMessage->to}}</td>
-                        <td>{{$clientMessage->from}}</td>
-                        <td><?= nl2br($clientMessage->body) ?></td>                        
-                        <td>{{-- status --}} - </td>
+                        <td>{{ friendlier_date_time($clientMessage->created_at) }}</td>
+                        <td>{{ $clientMessage->incoming_or_outgoing }}</td>
+                        <td>{{$clientMessage->to_number}}</td>
+                        <td>{{$clientMessage->from_number}}</td>
+                        <td>{{ $clientMessage->client->displayName() }}</td>
+                        <td style="width:300px;"><?= nl2br($clientMessage->body) ?></td>                        
+                        <td>{{ $clientMessage->sms_status }} </td>
                     </tr>
                     @endforeach
 
                     @if(count($clientMessages) === 0)
                     <tr>
-                        <td colspan="5">No records found!</td>
+                        <td colspan="7">No records found!</td>
                     </tr>
                     @endif
                 </tbody>

+ 29 - 14
resources/views/app/mcp/client_messages_filters.blade.php

@@ -25,17 +25,17 @@
 	<div v-if="filters.date_category" class="col-md-2">
 		<div class="form-group">
 			<label>&nbsp;</label>
-			<input name="date_value_1" value="{{ $date_value_1 ?? '' }}" type="date" class="form-control input-sm" :placeholder="(filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN') ? 'From' : 'Date'" />
+			<input name="date_value_1" v-model="filters.date_value_1" type="date" class="form-control input-sm" :placeholder="(filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN') ? 'From' : 'Date'" />
 		</div>
 	</div>
 	<div v-if="filters.date_category && (filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN')" class="col-md-2">
 		<div class="form-group">
 			<label>&nbsp;</label>
-			<input name="date_value_2" value="{{ $date_value_2 ?? '' }}" type="date" class="form-control input-sm" placeholder="To" />
+			<input name="date_value_2" v-model="filters.date_value_2" type="date" class="form-control input-sm" placeholder="To" />
 		</div>
 	</div>
 	<!-- TO OR FROM ME -->
-	<div class="col-md-2">
+	<!-- <div class="col-md-2">
 		<div class="form-group">
 			<label>To or From Me:</label>
 			<select name="to_or_from_me" class="form-control input-sm" v-model="filters.to_or_from_me">
@@ -44,14 +44,14 @@
 				<option value="FROM_ME">From Me</option>
 			</select>
 		</div>
-	</div>
+	</div> -->
 	<!-- STATUS -->
 	<div class="col-md-2">
 		<div class="form-group">
 			<label>Status:</label>
-			<select name="status" class="form-control input-sm" v-model="filters.status">
-				<option value="ALL">All</option>
-				<option value="AWAITING_REPLY">AWaiting Reply</option>
+			<select name="sms_status" class="form-control input-sm" v-model="filters.sms_status">
+				<option value="">All</option>
+				<option value="received">Received</option>
 			</select>
 		</div>
 	</div>
@@ -59,12 +59,27 @@
 	<div class="col-md-2">
 		<div class="form-group d-flex">
 			<label>&nbsp;</label>
-			<button type="submit" class="btn btn-primary btn-sm mr-2 mw-100px">Apply Filters</button>
-			<a href="{{ route('mcp.patients') }}" class="btn btn-danger btn-sm text-white mw-100px">Clear Filters</a>
+			<button type="submit" v-on:click.prevent="doSubmit()" class="btn btn-primary btn-sm mr-2 mw-100px">Apply Filters</button>
+			<a v-on:click.prevent="fastLoad('{{route('mcp.client_messages')}}')" href="#" class="btn btn-danger btn-sm text-white mw-100px">Clear Filters</a>
 		</div>
 	</div>
 </form>
 
+<?php
+$loadedFilters = $filters;
+$allFilterKeys = [
+	'date_category',
+	'date_value_1',
+	'date_value_2',
+	'sms_status'
+];
+for ($i=0; $i < count($allFilterKeys); $i++) {
+	if (!isset($loadedFilters[$allFilterKeys[$i]]) || !$loadedFilters[$allFilterKeys[$i]]) {
+		$loadedFilters[$allFilterKeys[$i]] = '';
+	}
+}
+?>
+
 <script>
 	(function() {
 		function init() {
@@ -72,13 +87,13 @@
 				el: '#mcp-client-messages-filters',
 				delimiters: ['@{{', '}}'],
 				data: {
-					filters: {
-						date_category: "<?= $date_category ?? '' ?>",
-						to_or_from_me: "<?= $to_or_from_me ?? '' ?>",
-						status: "<?= $status ?? '' ?>"
-					}
+					filters: <?= json_encode($loadedFilters) ?>
 				},
 				methods: {
+					doSubmit: function() {
+						fastLoad('{{ route("mcp.client_messages") }}?' + $('#mcp-client-messages-filters').serialize());
+						return false;
+					},
 					init: function() {
 
 					}

+ 24 - 7
resources/views/app/mcp/supply_orders.blade.php

@@ -22,23 +22,40 @@
                         <th class="px-3 border-0">Patient</th>
                         <th class="px-3 border-0">Product</th>
                         <th class="px-3 border-0">Reason</th>
-                        <th class="px-3 border-0">Status</th>
+                        <th class="px-3 border-0">Is Cancelled</th>
+                        <th class="px-3 border-0">Shipment</th>
                     </tr>
                 </thead>
                 <tbody>
                     @foreach($supplyOrders as $supplyOrder)
                     <tr>
-                        <td>{{-- date --}} -</td>
-                        <td>{{-- patient --}} -</td>
-                        <td>{{-- service --}} - </td>
-                        <td>{{-- amount --}} - </td>
-                        <td>{{-- status --}} - </td>
+                        <td>{{ friendlier_date_time($supplyOrder->created_at)}}</td>
+                        <td>{{ $supplyOrder->client->displayName() }} -</td>
+                        <td>{{ $supplyOrder->product->title }}</td>
+                        <td style="width: 300px;">{{ $supplyOrder->reason }}</td>
+                        <td>{{ $supplyOrder->is_cancelled ? 'Yes' : 'No' }}</td>
+                        <td class="px-2">
+                            @if($supplyOrder->shipment_id)
+                            <i class="fa fa-building"></i>
+                            {{$supplyOrder->shipment->status ? $supplyOrder->shipment->status : 'CREATED'}}
+                            @elseif($supplyOrder->is_cleared_for_shipment)
+                            <span class="text-info">
+                                <i class="fa fa-user-nurse"></i>
+                                Cleared for shipment
+                            </span>
+                            @else
+                            <span class="text-warning-mellow">
+                                <i class="fa fa-user-nurse"></i>
+                                Not cleared for shipment
+                            </span>
+                            @endif
+                        </td>
                     </tr>
                     @endforeach
 
                     @if(count($supplyOrders) === 0)
                     <tr>
-                        <td colspan="5">No records found!</td>
+                        <td colspan="6">No records found!</td>
                     </tr>
                     @endif
                 </tbody>

+ 38 - 14
resources/views/app/mcp/supply_orders_filters.blade.php

@@ -7,7 +7,7 @@
 		min-width: 100px;
 	}
 </style>
-<form id="mcp-supply-orders-filters" method="GET" action="{{ route('mcp.notes') }}" class="row align-items-end" v-cloak>
+<form id="mcp-supply-orders-filters" method="GET" action="{{ route('mcp.supply_orders') }}" class="row align-items-end" v-cloak>
 	<!-- DATE	 -->
 	<div class="col-md-2">
 		<div class="form-group">
@@ -39,12 +39,22 @@
 		<div class="form-group">
 			<label>Status:</label>
 			<select name="status" class="form-control input-sm" v-model="filters.status">
-				<option value="ALL">All</option>
-				<option value="NEW">New</option>
-				<option value="SIGNED">Signed</option>
-				<option value="VERIFIED">Verified</option>
-				<option value="PROCESSED">Processed</option>
-				<option value="CANCELLED">Cancelled</option>
+				<option value="">All</option>
+				<option value="CREATED">NEW</option>
+				<option value="CLEARED_FOR_SHIPMENT">CLEARED FOR SHIPMENT</option>
+				<option value="NOT_CLEARED_FOR_SHIPMENT">NOT CLEARED FOR SHIPMENT</option>
+				<option value="SHIPPED">SHIPPED</option>
+				<option value="DELIVERED">DELIVERED</option>
+				<option value="RETURNED_TO_SENDER">RETURNED TO SENDER</option>
+				<option value="CANCELLED">CANCELLED</option>
+				<option value="PRINTED">PRINTED</option>
+				<option value="BEING_PICKED">BEING PICKED</option>
+				<option value="PICKED">PICKED</option>
+				<option value="BEING_SCANNED">BEING SCANNED</option>
+				<option value="SCANNED">SCANNED</option>
+				<option value="BEING_FULFILLED">BEING FULFILLED</option>
+				<option value="FULFILLED">FULFILLED</option>
+				<option value="DISPATCHED">DISPATCHED</option>
 			</select>
 		</div>
 	</div>
@@ -52,12 +62,25 @@
 	<div class="col-md-2">
 		<div class="form-group d-flex">
 			<label>&nbsp;</label>
-			<button type="submit" class="btn btn-primary btn-sm mr-2 mw-100px">Apply Filters</button>
-			<a href="{{ route('mcp.patients') }}" class="btn btn-danger btn-sm text-white mw-100px">Clear Filters</a>
+			<button type="submit" v-on:click.prevent="doSubmit()" class="btn btn-primary btn-sm mr-2 mw-100px">Apply Filters</button>
+			<a href="#" v-on:click.prevent="fastLoad('{{route('mcp.supply_orders')}}')" class="btn btn-danger btn-sm text-white mw-100px">Clear Filters</a>
 		</div>
 	</div>
 </form>
-
+<?php
+$loadedFilters = $filters;
+$allFilterKeys = [
+	'date_category',
+	'date_value_1',
+	'date_value_2',
+	'status'
+];
+for ($i=0; $i < count($allFilterKeys); $i++) {
+	if (!isset($loadedFilters[$allFilterKeys[$i]]) || !$loadedFilters[$allFilterKeys[$i]]) {
+		$loadedFilters[$allFilterKeys[$i]] = '';
+	}
+}
+?>
 <script>
 	(function() {
 		function init() {
@@ -65,12 +88,13 @@
 				el: '#mcp-supply-orders-filters',
 				delimiters: ['@{{', '}}'],
 				data: {
-					filters: {
-						date_category: "<?= $date_category ?? '' ?>",
-						status: "<?= $status ?? '' ?>"
-					}
+					filters: <?= json_encode($loadedFilters) ?>
 				},
 				methods: {
+					doSubmit: function() {
+						fastLoad('{{ route("mcp.supply_orders") }}?' + $('#mcp-supply-orders-filters').serialize());
+						return false;
+					},
 					init: function() {
 
 					}

+ 41 - 16
resources/views/app/patient/sms.blade.php

@@ -32,6 +32,9 @@
                 <th class="px-2 text-secondary w-25">To</th>
                 <th class="px-2 text-secondary w-50">Content</th>
                 <th></th>
+                @if($performer->pro->pro_type == 'ADMIN')
+                    <th></th>
+                @endif
             </tr>
             </thead>
             <tbody>
@@ -42,27 +45,49 @@
                     <td class="px-2">{{ $sms->from_number }}</td>
                     <td class="px-2">{{ $sms->to_number }}</td>
                     <td class="px-2">{{ $sms->body }}</td>
-
-                    <td>
+                    <td class="px-2">
                         @if($sms->is_reply_needed)
-                        <div moe relative>
-                            <a start show class="">clear</a>
-                            <form url="/api/clientSms/updateIsReplyNeeded" class="mcp-theme-1" right>
-                                <input type="hidden" name="uid" value="{{ $sms->uid }}">
-                                <input type="hidden" name="isReplyNeeded" value="NO">
-                                <div class="mb-2">
-                                    <label for="" class="text-sm text-secondary mb-1">Are you sure?</label>
+                            <div moe relative>
+                                <a start show class="">clear</a>
+                                <form url="/api/clientSms/updateIsReplyNeeded" class="mcp-theme-1" right>
+                                    <input type="hidden" name="uid" value="{{ $sms->uid }}">
+                                    <input type="hidden" name="isReplyNeeded" value="NO">
+                                    <div class="mb-2">
+                                        <label for="" class="text-sm text-secondary mb-1">Are you sure?</label>
 
-                                </div>
+                                    </div>
 
-                                <div class="d-flex align-items-center">
-                                    <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
-                                    <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                                </div>
-                            </form>
-                        </div>
+                                    <div class="d-flex align-items-center">
+                                        <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
+                                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                    </div>
+                                </form>
+                            </div>
                         @endif
                     </td>
+                    @if($performer->pro->pro_type == 'ADMIN')
+                        <td>
+                            <div moe relative>
+                                <a start show class="">Update Is Reply Needed</a>
+                                <form url="/api/clientSms/updateIsReplyNeeded" class="mcp-theme-1" right>
+                                    <input type="hidden" name="uid" value="{{ $sms->uid }}">
+                                    <div class="mb-2">
+                                        <label for="" class="text-sm text-secondary mb-1">Is reply needed?</label>
+                                        <select class="form-control form-control-sm" name="isReplyNeeded" value="{{$patient->cell_number}}">
+                                            <option value="UNKNOWN">--</option>
+                                            <option value="YES">Yes</option>
+                                            <option value="NO">No</option>
+                                        </select>
+                                    </div>
+
+                                    <div class="d-flex align-items-center">
+                                        <button class="btn btn-sm btn-primary mr-2" submit>Send</button>
+                                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                    </div>
+                                </form>
+                            </div>
+                        </td>
+                    @endif
                 </tr>
             @endforeach
             </tbody>