Samson Mutunga 3 rokov pred
rodič
commit
de12c324d4

+ 10 - 2
app/Http/Controllers/McpController.php

@@ -154,8 +154,16 @@ class McpController extends Controller
 
     public function bills(Request $request)
     {
-        $bills = Bill::paginate(5);
-        return view('app.mcp.bills', compact('bills'));
+        $filters = $request->all();
+        $bills = Bill::where('hcp_pro_id', $this->performer->pro->id);
+        $this->filterMultiQuery($request, $bills, 'created_at', 'date_category', 'date_value_1', 'date_value_2');
+        $status = $request->get('status');
+        if($status){
+            if($status == 'CANCELLED') $bills = $bills->where('is_cancelled', true);
+            if($status == 'NOT_CANCELLED') $bills = $bills->where('is_cancelled', false);
+        }
+        $bills = $bills->orderBy('created_at', 'DESC')->paginate(20);
+        return view('app.mcp.bills', compact('bills', 'filters'));
     }
 
     public function erx_and_orders(Request $request)

+ 11 - 7
resources/views/app/mcp/bills.blade.php

@@ -22,17 +22,21 @@
                         <th class="px-3 border-0">Patient</th>
                         <th class="px-3 border-0">Service</th>
                         <th class="px-3 border-0">Amount</th>
-                        <th class="px-3 border-0">Status</th>
+                        <th class="px-3 border-0">Is Cancelled</th>
                     </tr>
                 </thead>
                 <tbody>
                     @foreach($bills as $bill)
                     <tr>
-                        <td>{{-- date --}} -</td>
-                        <td>{{-- patient --}} -</td>
-                        <td>{{-- service --}} - </td>
-                        <td>{{-- amount --}} - </td>                        
-                        <td>{{-- status --}} - </td>
+                        <td>{{ friendly_date_time($bill->effective_date) }}</td>
+                        <td>
+                            <a target="_blank" native href="{{route('patients.view.dashboard', $bill->client)}}">
+                                {{$bill->client->displayName()}}
+                            </a>
+                        </td>
+                        <td>{{ $bill->code }}</td>
+                        <td>{{ $bill->hcp_expected_payment_amount ? '$'.$bill->hcp_expected_payment_amount : '' }}</td>
+                        <td>{{ $bill->is_cancelled ? 'YES':'NO' }}</td>
                     </tr>
                     @endforeach
 
@@ -50,4 +54,4 @@
         </div>
     </div>
 </div>
-@endsection
+@endsection

+ 27 - 16
resources/views/app/mcp/bills_filters.blade.php

@@ -7,7 +7,7 @@
 		min-width: 100px;
 	}
 </style>
-<form id="mcp-bills-filters" method="GET" action="{{ route('mcp.notes') }}" class="row align-items-end" v-cloak>
+<form id="mcp-bills-filters" method="GET" action="{{ route('mcp.bills') }}" class="row align-items-end" v-cloak>
 	<!-- DATE	 -->
 	<div class="col-md-2">
 		<div class="form-group">
@@ -22,10 +22,10 @@
 			</select>
 			<div v-show="filters.date_category" class="row mt-2">
 				<div :class="filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN' ? 'col-md-6' : 'col-md-12'">
-					<input  name="date_value_1" v-model="filters.date_value_1" type="number" class="form-control input-sm" :placeholder="(filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN') ? 'From' : 'Age'" />
+					<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' : 'Age'" />
 				</div>
 				<div v-show="filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN'" class="col-md-6">
-					<input name="date_value_2" v-model="filters.date_value_2" type="number" 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>
 		</div>
@@ -35,12 +35,9 @@
 		<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="">All</option>
 				<option value="CANCELLED">Cancelled</option>
+				<option value="NOT_CANCELLED">Not Cancelled</option>
 			</select>
 		</div>
 	</div>
@@ -48,12 +45,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.bills')}}')" 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() {
@@ -61,12 +71,13 @@
 				el: '#mcp-bills-filters',
 				delimiters: ['@{{', '}}'],
 				data: {
-					filters: {
-						date_category: "<?= $date_category ?? '' ?>",
-						status: "<?= $status ?? '' ?>"
-					}
+					filters: <?= json_encode($loadedFilters) ?>
 				},
 				methods: {
+					doSubmit: function() {
+						fastLoad('{{ route("mcp.bills") }}?' + $('#mcp-bills-filters').serialize());
+						return false;
+					},
 					init: function() {
 
 					}
@@ -80,4 +91,4 @@
 		}
 		addMCInitializer('mcp-bills-filters', init, '#mcp-bills-filters');
 	})();
-</script>
+</script>