Merged in izzati-feat-arcc-carian-sag (pull request #303)

Izzati feat arcc carian sag
This commit is contained in:
izzati zulkifli
2025-08-04 05:58:59 +00:00
3 changed files with 69 additions and 6 deletions
+18 -3
View File
@@ -391,11 +391,26 @@ class CallCenterController extends Controller
$customers = $response->json();
// Jika lebih dari satu pelanggan dijumpai
if (is_array($customers) && count($customers) > 1) {
Session::put('customer_list', $customers);
return redirect()->route('arcc.pilihpelanggan');
if (is_array($customers) && count($customers) > 1) {
// Tambah nama cawangan untuk setiap pelanggan
foreach ($customers as &$customer) {
$kodcaw = $customer['kodcaw'] ?? null;
if ($kodcaw) {
$cawangan = Http::withOptions(['verify' => config('app.api_verify')])
->get($api_url . '/api/cawangan/' . $kodcaw)
->json();
$customer['nama_cawangan'] = $cawangan['details_caw'] ?? $kodcaw;
} else {
$customer['nama_cawangan'] = '-';
}
}
Session::put('customer_list', $customers);
return redirect()->route('arcc.pilihpelanggan');
}
// Jika satu pelanggan dijumpai
$customer_info = $customers[0] ?? null;
} else {
+48 -1
View File
@@ -7,6 +7,33 @@
position: absolute;
}
</style>
<style>
#loadingOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999;
}
.overlay-background {
position: absolute;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.5);
width: 100%;
height: 100%;
}
.overlay-spinner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
</style>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
@@ -22,7 +49,7 @@
<div class="card-body">
<div class="text-center">
<h5 class="text-uppercase">Pilih Cawangan Dan Nombor Kad Pengenalan <br>Atau Nama Pelanggan</h5>
<form name="frmsearch" onsubmit="return verifynokp(event)" action="{{ route('arcc.searchpelanggan') }}" method="GET">
<form id="searchForm" name="frmsearch" onsubmit="return verifynokp(event)" action="{{ route('arcc.searchpelanggan') }}" method="GET">
<div class="row justify-content-center">
<div class="col-md-9">
<div class="input-group my-3">
@@ -66,6 +93,15 @@
<button type="submit" style="margin-top: 10px;" class="btn btn-outline-primary">Cari</button>
</div>
</div>
<!-- Spinner Overlay -->
<div id="loadingOverlay" style="display: none;">
<div class="overlay-background"></div>
<div class="overlay-spinner">
<div class="spinner-border text-light" role="status"></div>
<div style="color: white; margin-top: 10px;">Carian sedang diproses...</div>
</div>
</div>
</div>
</div>
@if ($message = Session::get('success'))
@@ -343,6 +379,17 @@
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const form = document.getElementById('searchForm');
const overlay = document.getElementById('loadingOverlay');
form.addEventListener('submit', function () {
overlay.style.display = 'block';
});
});
</script>
<script>
var api_url = "<?php echo $api_url ?>";
var search = "<?php echo $search ?>";
@@ -2,6 +2,7 @@
@section('content')
<div class="container">
<a href="{{ route('arcc.pelanggan') }}" class="btn btn-secondary mt-3">Kembali</a>
<h4 class="text-center mb-4">Senarai Pelanggan Dijumpai</h4>
@if(session('customer_list') && count(session('customer_list')) > 0)
<table class="table table-bordered table-hover" style="background-color: #f9f9f9;">
@@ -9,7 +10,7 @@
<tr>
<th>Nama</th>
<th>No KP</th>
<th>Kod Cawangan</th>
<th>Nama Cawangan</th>
<th>Tindakan</th>
</tr>
</thead>
@@ -25,7 +26,7 @@
}
@endphp
{{ $noic }}</td>
<td>{{ $customer['kodcaw'] }}</td>
<td>{{ $customer['nama_cawangan'] }}</td>
<td>
<form action="{{ route('arcc.pilihpelanggan.proceed') }}" method="POST">
@csrf