diff --git a/app/Http/Controllers/Api/FetchLoanHistoryController.php b/app/Http/Controllers/Api/FetchLoanHistoryController.php new file mode 100644 index 0000000..84048fd --- /dev/null +++ b/app/Http/Controllers/Api/FetchLoanHistoryController.php @@ -0,0 +1,50 @@ +validate([ + 'passport_serie' => ['required', 'string', 'max:255'], + 'passport_id' => ['required', 'string', 'max:255'], + ]); + + $curl = curl_init(); + + curl_setopt_array($curl, [ + CURLOPT_URL => 'http://10.3.158.102:9999/api/loan/history/info', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 0, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'POST', + CURLOPT_POSTFIELDS => sprintf('{ + "idSeria": "%s", + "idNo": "%s" + }', + $request->passport_serie, + $request->passport_id, + ), + CURLOPT_HTTPHEADER => [ + 'Accept: application/json', + 'Content-Type: application/json', + ], + ]); + + $response = curl_exec($curl); + + curl_close($curl); + + return $response; + } +} diff --git a/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php b/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php index 58b264e..93b7163 100644 --- a/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php +++ b/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php @@ -91,10 +91,18 @@ class LoanOrderMobileFieldsForDetail new Panel(__('Card'), [ NovaCustomHtml::make(__('Data'), 'card_name') + ->canSeeWhen('systemUser', $resource) ->html(view('orders.loan.mobile.card-history', [ 'resource' => $resource, - ])->render()) - ->fillUsing(NovaForm::fillEmpty()), + ])->render()), + ]), + + new Panel(__('Karz taryhy'), [ + NovaCustomHtml::make(__('Karz taryhy'), 'loan_history') + ->canSeeWhen('systemUser', $resource) + ->html(view('orders.loan.mobile.loan-history', [ + 'resource' => $resource, + ])->render()), ]), new Panel(__('Contact data'), [ diff --git a/lang/tk.json b/lang/tk.json index 3fe9564..a4b098e 100644 --- a/lang/tk.json +++ b/lang/tk.json @@ -321,5 +321,6 @@ "Loan Card": "Karz karty", "Send payment": "Tölegi geçir", "Currencies": "Walýutalar", - "Passport number": "Pasport nomeri" + "Passport number": "Pasport nomeri", + "Fetch loan history": "Karz taryhyny görmek" } diff --git a/resources/js/vendor/nova/js/additional.js b/resources/js/vendor/nova/js/additional.js index f4ec0c2..0de2d0b 100644 --- a/resources/js/vendor/nova/js/additional.js +++ b/resources/js/vendor/nova/js/additional.js @@ -3,6 +3,69 @@ function csrf_token() return document.querySelector('meta[name="csrf-token"]')?.getAttribute('content'); } +async function fetchLoanHistory(containerID, passport_serie, passport_id) { + if (! passport_serie || ! passport_id) { + Nova.error('Maglumat ýetmezçiligi bar'); + return; + } + + let cardHistoryDetailContainer = document.getElementById(containerID); + + var headers = new Headers(); + headers.append('Accept', 'application/json'); + + var formdata = new FormData(); + formdata.append('passport_serie', passport_serie); + formdata.append('passport_id', passport_id); + + Nova.$progress.start() + + fetch('/api/fetch-loan-history', { + method: 'POST', + headers: headers, + body: formdata, + redirect: 'follow' + }) + .then(response => response.json()) + .then(result => { + console.log({result: result}) + if (result.errCode != 0) { + Nova.error(result.message) + } + + // cardHistoryDetailContainer.innerHTML = ` + //

Müşderi: ${result.clientName}

+ //

Şahamça: ${result.depName}

+ //

Şertnama belgisi: ${result.cardAccountNumber}

+ + //

+ //

+ //

+ // `; + + }) + .catch(error => console.log('error', error)) + .finally(() => { + Nova.$progress.done() + }); +} + async function fetchCardHistory(passport_serie, passport_id, card_number, card_expiry_date, containerID) { if (! passport_serie || ! passport_id || ! card_number || ! card_expiry_date) { Nova.error('Maglumat ýetmezçiligi bar'); diff --git a/resources/views/orders/loan/mobile/loan-history.blade.php b/resources/views/orders/loan/mobile/loan-history.blade.php new file mode 100644 index 0000000..0fdd78e --- /dev/null +++ b/resources/views/orders/loan/mobile/loan-history.blade.php @@ -0,0 +1,20 @@ +@php + +@endphp + +
+ + +
+ +
+
diff --git a/routes/api.php b/routes/api.php index 00d052a..8739c77 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,5 +1,6 @@