Add operation to allow newly poskod to registred through the API

This commit is contained in:
afiq.hamzah
2023-03-06 10:37:07 +08:00
parent c1d122139b
commit 99a4fe7e9e
3 changed files with 46 additions and 6 deletions
@@ -173,6 +173,17 @@ class CustomersController extends Controller
$no_pelanggan = $request->bangsa . substr($request->noic,6,2).'-'.$count;
$detail_poskod = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/poskod/' . $request->poskod)->json();
if(empty($detail_poskod)){
$detail_poskod = Http::withOptions(['verify' => config('app.api_verify')])
->post(config('api.url') . '/api/poskod', [
'poskod' => $request->poskod,
'koddaerah' => $request->koddaerah,
'kodnegeri' => $request->kodnegeri,
])->json();
}
$customer_info = Http::withOptions(['verify' => config('app.api_verify')])->post(config('api.url') . '/api/customers/create/'. $auth_user['cawangan'],[
'kodcaw' => $auth_user['cawangan'],
'nopelanggan' => $no_pelanggan,
+34 -5
View File
@@ -39,10 +39,12 @@ let handlePoskodDetail_NotFound = (modal, input_negeri, input_daerah, select_dae
input_daerah.closest('div.col-md-8').style.display = 'none';
input_daerah.disabled = true;
input_daerah.required = false;
select_daerah.closest('div.col-md-8').style.display = 'block';
select_daerah.disabled = false;
select_daerah.readOnly = false;
select_daerah.required = true;
input_negeri.value = '';
input_negeri.placeholder = '';
@@ -54,21 +56,25 @@ let handlePoskodDetail_NotFound = (modal, input_negeri, input_daerah, select_dae
$(select_daerah).attr("data-placeholder","Sila pilih daerah");
$(select_daerah).val('').trigger('change');
getAllNegeri().then(response => response.json())
getAllNegeri()
.then(response => response.json())
.then(x => x.map(y => {
return {
"id": y.namadaerah,
"text": y.namadaerah + ' - ' + y.negeri.negeri,
"data-koddaerah": y.koddaerah,
}
})).then(x => {
}))
.then(x => {
$(select_daerah).select2({
placeholder: "Sila pilih daerah pelanggan",
closeOnSelect: true,
dropdownPosition: 'below',
data: x,
dropdownParent: $(modal),
});
}).then(() => $(select_daerah).val('').trigger('change'));
})
.then(() => $(select_daerah).val('').trigger('change'));
};
@@ -76,9 +82,11 @@ let handlePoskodDetail_Found = (input_negeri, input_daerah, select_daerah) => {
select_daerah.closest('div.col-md-8').style.display = 'none';
select_daerah.disabled = 'true';
select_daerah.required = false;
input_daerah.closest('div.col-md-8').style.display = 'block';
input_daerah.disabled = false;
input_daerah.required = true;
input_negeri.readOnly = true;
input_negeri.placeholder = '';
@@ -93,6 +101,7 @@ $('select.select2-daerah').on('select2:select', function (e) {
let input_negeri = modal.querySelector('input[name="negeri"]');
let selected_daerah = e.params.data;
let selected_kod_daerah = selected_daerah['data-koddaerah'];
let getDaerahDetail = (koddaerah) => {
return fetch(api_url + '/api/daerah/' + koddaerah)
@@ -101,7 +110,27 @@ $('select.select2-daerah').on('select2:select', function (e) {
.then(response => response.json())
};
getDaerahDetail(selected_daerah.id).then(x => input_negeri.value = x.negeri);
let populatePostcodeRegistrationInputs = (koddaerah, kodnegeri) => {
const input_koddaerah = document.createElement("input");
input_koddaerah.className = "d-none";
input_koddaerah.name = "koddaerah";
input_koddaerah.value = koddaerah;
const input_kodnegeri = document.createElement("input");
input_kodnegeri.className = "d-none";
input_kodnegeri.name = "kodnegeri";
input_kodnegeri.value = kodnegeri;
modal.querySelector('form').appendChild(input_koddaerah);
modal.querySelector('form').appendChild(input_kodnegeri);
}
getDaerahDetail(selected_kod_daerah)
.then(x => {
populatePostcodeRegistrationInputs(selected_kod_daerah, x.kodnegeri)
return x;
})
.then(x => input_negeri.value = x.negeri);
});
$('#daftar_pelanggan_mykad_reader textarea#alamat').change(function(){
+1 -1
View File
@@ -601,7 +601,7 @@
url:api_url+'/api/poskod/'+poskod,
success:function(poskod_detail){
let parent_modal = document.querySelector('#daftar_pelanggan_mykad_reader');
let parent_modal = document.querySelector('#daftar_pelanggan_mykad_reader');
if(Object.keys(poskod_detail).length === 0){
handlePoskodDetail_NotFound_MyKad(parent_modal);