Files
kaunter/resources/views/khazanah/panjar.blade.php
T
2025-10-05 16:34:16 +08:00

1144 lines
46 KiB
PHP

@extends('layouts.app')
@section('content')
@include('modal.panjar')
@include('modal.denopanjar')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<nav aria-label="breadcrumb">
<ol class="breadcrumb pb-3">
<li class="breadcrumb-item"><a href="{{ route('home') }}">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Panjar</li>
</ol>
</nav>
<div class="card-body text-center">
@if(Session::has('messageinformation'))
@php
$session = Session::get("messageinformation");
@endphp
<script>
Swal.fire({
icon: '{!! $session["status"] !!}',
title: 'Status!',
text: '{!! $session["message"] !!}'
});
</script>
@endif
@if(Session::has('pampasaninformation'))
@php
$session = Session::get("pampasaninformation");
@endphp
<script>
onclickPampasan('all');
</script>
@endif
<div class="row mb-4" id="status-filter-container" style="display: none;">
<div class="col-12 d-flex justify-content-end align-items-center">
<div id="item">
<label class="mr-3 mb-0">
<input type="radio" name="status" data-status="all" checked> Semua
</label>
<label class="mr-3 mb-0">
<input type="radio" name="status" data-status="dituntut"> Dituntut
</label>
<label class="mr-3 mb-0">
<input type="radio" name="status" data-status="belum-tuntut"> Belum Dituntut
</label>
</div>
</div>
</div>
<div class="mb-5" id="date-range-container">
<div class="row">
<div class="col-1"></div>
<label class="col-3 text-right">Mula</label>
{{-- <input type="date" class="form-control col-3"/> --}}
<input type="text" class="form-control col-3" placeholder="Pilih Tarikh" aria-label="Tarikh" id="mula" name="mula">
<label class="col-1 text-right">Akhir</label>
{{-- <input type="date" class="form-control col-3"/> --}}
<input type="text" class="form-control col-3" placeholder="Pilih Tarikh" aria-label="Tarikh" id="akhir" name="akhir">
<button class="btn btn-primary ml-2" onclick="caritarikh()">Cari</button>
</div>
</div>
<div class="mt-3 col-12">
<div class="row">
<div class="col-3">
<button class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#keraianModal" data-backdrop="static" data-keyboard="false">Keraian</button>
<button class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#SelenggaraModal" data-backdrop="static" data-keyboard="false">Selenggara</button>
<button class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#BelanjaamModal" data-backdrop="static" data-keyboard="false">Belanja Am</button>
<button class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#PerubatanModal" data-backdrop="static" data-keyboard="false">Perubatan</button>
<button class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#DapurModal" data-backdrop="static" data-keyboard="false">Dapur</button>
<button class="btn btn-primary btn-lg btn-block" data-toggle="modal" data-target="#PosModal" data-backdrop="static" data-keyboard="false">Pos</button>
@if(isset($cawangan_info['kodcaw']) && $cawangan_info['kodcaw'] === '011237')
<button class="btn btn-warning btn-lg btn-block" id="btnPampasan">Pampasan</button>
@endif
<button class="btn btn-primary btn-lg btn-block mt-5" data-toggle="modal" data-target="#BakiPerubatanModal" data-backdrop="static" data-keyboard="false">Baki Perubatan</button>
</div>
<div class="col-9">
<div id="default-table-section">
<table class='table table-striped table-hover' id='table-panjar' style="width:100%;">
<thead class="thead-dark">
<tr>
<th>bil</th>
<th>tarikh</th>
<th>deskripsi</th>
<th>kategori</th>
<th>bayaran</th>
<th>tindakan</th>
</tr>
</thead>
</table>
</div>
<div id="pampasan-table-section" style="display:none;">
<div class="table-responsive">
<table class='table table-striped table-hover table-sm' id='table-pampasan' style="width:100%; font-size: 0.85rem;">
<thead class="thead-dark">
<tr style="font-size: 0.8rem;">
<th style="width: 5%; padding: 0.4rem 0.2rem;">bil</th>
<th style="width: 8%; padding: 0.4rem 0.2rem;">nokp</th>
<th style="width: 12%; padding: 0.4rem 0.2rem;">norujukan</th>
<th style="width: 10%; padding: 0.4rem 0.2rem;">pembiayaan</th>
<th style="width: 10%; padding: 0.4rem 0.2rem;">nilai marhun</th>
<th style="width: 5%; padding: 0.4rem 0.2rem;">jbg</th>
<th style="width: 12%; padding: 0.4rem 0.2rem;">status</th>
<th style="width: 18%; padding: 0.4rem 0.2rem;">tindakan</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('js/main.js') }}"></script>
<script>
var api_url = "<?php echo $api_url ?>";
var kodcaw = "<?php echo $cawangan_info['kodcaw'] ?>";
$(".modal.fade").on("show.bs.modal", function(e) {
$.ajax({
method: 'get',
url: api_url + '/api/SenaraiPanjar/list/' + kodcaw,
success: function(data) {
let today = new Date();
let dd = String(today.getDate()).padStart(2, '0');
let mm = String(today.getMonth() + 1).padStart(2, '0'); //Januari Keno Wak 0 Macei Array La
let yyyy = String(today.getFullYear());
let yy = yyyy.substring(2, 4);
let recno = data.recno ?? 0;
let baucerno = 'B' + yy + mm + dd + '-' + String(recno).padStart(4, '0');
$('#' + e.currentTarget.id + ' .baucer').val(baucerno);
}
});
});
var tablepanjar = $('#table-panjar').DataTable({
"scrollX": true
});
var tablebakiperubatan = $('#table-bakiperubatan').DataTable({
// "scrollX": true
});
$(document).ready(function() {
$('#mula').datepicker({
format: 'dd-mm-yyyy'
});
$('#akhir').datepicker({
format: 'dd-mm-yyyy'
});
$.ajax({
method: 'get',
url: api_url + '/api/SenaraiPanjar/' + kodcaw,
success: function(panjar) {
listtable(panjar);
},
error: function(xhRequest, ErrorText, thrownError) {
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Panjar Tak Berjaya'
});
console.log(xhRequest);
}
});
});
function listtable(data) {
var counter = 1;
tablepanjar.clear().draw();
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = yyyy + '-' + mm + '-' + dd;
$.each(data, function(index, panjar) {
// Check if deskripsi starts with "BAYARAN PAMPASAN" to hide trash button
const showTrashButton = !panjar['deskripsi'].startsWith('BAYARAN PAMPASAN');
if (today === panjar['tarikh']) {
tablepanjar.row.add([
counter,
panjar['tarikh'],
panjar['deskripsi'],
panjar['kategori'],
panjar['bayaran'],
showTrashButton ? '<button onclick="deletepanjar(this);" data-baucer="' + panjar['nobaucer'] + '" data-recno="' + panjar['recno'] + '" class="btn btn-danger fas fa-trash-alt"></button>' : ''
]).draw();
} else {
tablepanjar.row.add([
counter,
panjar['tarikh'],
panjar['deskripsi'],
panjar['kategori'],
panjar['bayaran'],
showTrashButton ? '<button data-baucer="' + panjar['nobaucer'] + '" data-recno="' + panjar['recno'] + '" class="btn btn-secondary fas fa-trash-alt"></button>' : ''
]).draw();
}
counter = counter + 1;
});
}
function deletepanjar(e) {
let rec_no = $(e).data('recno');
let no_baucer = $(e).data('baucer');
Swal.fire({
title: 'Adakah anda pasti?',
text: "Anda tidak dapat untuk mengembalinya kembali!",
icon: 'warning',
showCancelButton: true,
cancelButtonText: "Batal",
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Teruskan!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
method: 'post',
url: '{{ route("khazanah.deletepanjar") }}',
data: {
"_token": "{{ csrf_token() }}",
'recno': rec_no,
'nobaucer': no_baucer
},
success: function(data) {
if (data === 'berjaya') {
location.reload();
} else {
Swal.fire(
'Tidak Berjaya!',
'Data tidak berjaya dihapuskan.',
'error'
)
}
}
});
}
});
}
function caritarikh() {
let mula = $('#mula').val();
let akhir = $('#akhir').val();
if (mula == '' || akhir == '') {
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Mesti letakkan kedua-dua input'
});
} else {
//date
let split_date = mula.split('-');
let mula_date = split_date[2] + '-' + split_date[1] + '-' + split_date[0];
split_date = akhir.split('-');
let akhir_date = split_date[2] + '-' + split_date[1] + '-' + split_date[0];
//enddate
$.ajax({
method: 'get',
url: api_url + '/api/SenaraiPanjar/' + kodcaw + '/' + mula_date + '/' + akhir_date,
success: function(panjar) {
listtable(panjar);
},
error: function(xhRequest, ErrorText, thrownError) {
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Panjar Tidak Berjaya'
});
console.log(xhRequest);
}
});
}
}
function kiraanpanjar(datakeyin) {
var idkey = $(datakeyin).attr('id');
var valkey = $(datakeyin).val();
var amount = 0;
let amountkiraan = 0;
var validate = parseFloat($(datakeyin).data('amaun'));
$.each(arrayambilan, function(index, arr) {
if (arr[0] == idkey) {
arrayambilan[index][1] = totalamount(idkey, valkey);
}
amount += arr[1];
});
if (Number(valkey) > Number(validate)) {
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Jumlah denominasi melebihi kadar'
});
$(datakeyin).val('');
} else {
$('#amaunkiraan').val(amount);
}
switch (idkey) {
case 'bundle1':
amountkiraan += (valkey * 100);
$('#totalb1').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle20':
amountkiraan += (valkey * 1000);
$('#totalb20').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle5':
amountkiraan += (valkey * 500);
$('#totalb5').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle50':
amountkiraan += (valkey * 5000);
$('#totalb50').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle10':
amountkiraan += (valkey * 1000);
$('#totalb10').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle100':
amountkiraan += (valkey * 5000);
$('#totalb100').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen1':
amountkiraan += (valkey * 0.01);
$('#totalsen1').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen5':
amountkiraan += (valkey * 0.05);
$('#totalsen5').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen10':
amountkiraan += (valkey * 0.10);
$('#totalsen10').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen20':
amountkiraan += (valkey * 0.20);
$('#totalsen20').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen50':
amountkiraan += (valkey * 0.50);
$('#totalsen50').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit1':
amountkiraan += (valkey * 1);
$('#totalring1').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit5':
amountkiraan += (valkey * 5);
$('#totalring5').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit10':
amountkiraan += (valkey * 10);
$('#totalring10').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit20':
amountkiraan += (valkey * 20);
$('#totalring20').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit50':
amountkiraan += (valkey * 50);
$('#totalring50').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit100':
amountkiraan += (valkey * 100);
$('#totalring100').val(formatter.format(amountkiraan.toFixed(2)));
break;
}
}
function checkformpanjar(formdata) {
$("#terima_transaksi_keraian").prop('disabled', true);
$("#terima_transaksi_selenggara").prop('disabled', true);
$("#terima_transaksi_belanjaam").prop('disabled', true);
$("#terima_transaksi_perubatan").prop('disabled', true);
$("#terima_transaksi_dapur").prop('disabled', true);
$("#terima_transaksi_pos").prop('disabled', true);
// let keraian = $('#KeraianForm').hasClass('in'); //-- check dapur only for tuntutan;
let baucer = $(formdata).find("[name='baucer']").val();
let tarikh = $(formdata).find("[name='tarikh']").val();
// let tuntutan = $(formdata).find("[name='tuntutan']").val();
let tarikhbil = $(formdata).find("[name='tarikhbil']").val();
let deskripsi = $(formdata).find("[name='deskripsi']").val();
let bayaran = $(formdata).find("[name='bayaran']").val();
let booltarikh = true;
let booltarikhbil = true;
let booldeskripsi = true;
let boolbayaran = true;
if (!tarikh) {
$(formdata).find("[name='errortarikh']").show();
$(formdata).find("[name='errortarikh']").text("*Isikan tarikh dalam input!");
$(formdata).find("[name='tarikh']").addClass('is-invalid');
$(formdata).find("[name='tarikh']").parent().removeClass("mb-4");
booltarikh = false;
} else {
$(formdata).find("[name='errortarikh']").hide();
$(formdata).find("[name='tarikh']").removeClass('is-invalid');
$(formdata).find("[name='tarikh']").parent().addClass("mb-4");
booltarikh = true;
}
if (!tarikhbil) {
$(formdata).find("[name='errorbil']").show();
$(formdata).find("[name='errorbil']").text("*Isikan tarikh bil dalam input!");
$(formdata).find("[name='tarikhbil']").addClass('is-invalid');
$(formdata).find("[name='tarikhbil']").parent().removeClass("mb-4");
booltarikhbil = false;
} else {
$(formdata).find("[name='errorbil']").hide();
$(formdata).find("[name='tarikhbil']").removeClass('is-invalid');
$(formdata).find("[name='tarikhbil']").parent().addClass("mb-4");
booltarikhbil = true;
}
if (!$.trim(deskripsi)) {
$(formdata).find("[name='errordeskripsi']").show();
$(formdata).find("[name='errordeskripsi']").text("*Isikan tarikh deskripsi dalam input!");
$(formdata).find("[name='deskripsi']").addClass('is-invalid');
$(formdata).find("[name='deskripsi']").parent().removeClass("mb-4");
booldeskripsi = false;
} else {
$(formdata).find("[name='errordeskripsi']").hide();
$(formdata).find("[name='deskripsi']").removeClass('is-invalid');
$(formdata).find("[name='deskripsi']").parent().addClass("mb-4");
booldeskripsi = true;
}
if (!bayaran) {
$(formdata).find("[name='errorbayaran']").show();
$(formdata).find("[name='errorbayaran']").text("*Isikan bayaran dalam input!");
$(formdata).find("[name='bayaran']").addClass('is-invalid');
$(formdata).find("[name='bayaran']").parent().removeClass("mb-4");
boolbayaran = false;
} else {
$(formdata).find("[name='errorbayaran']").hide();
$(formdata).find("[name='bayaran']").removeClass('is-invalid');
$(formdata).find("[name='bayaran']").parent().addClass("mb-4");
boolbayaran = true;
}
let errorbaucer = $(formdata).find("[name='errorbaucer']").text();
let errortarikh = $(formdata).find("[name='errortarikh']").text();
let errortuntutan = $(formdata).find("[name='errortuntutan']").text();
let errortarikhbil = $(formdata).find("[name='errorbil']").text();
let errordeskripsi = $(formdata).find("[name='errordeskripsi']").text();
let errorbayaran = $(formdata).find("[name='errorbayaran']").text();
if (booltarikh === true && booltarikhbil === true && booldeskripsi === true && boolbayaran === true) {
return true;
} else {
$("#terima_transaksi_keraian").prop('disabled', false);
$("#terima_transaksi_selenggara").prop('disabled', false);
$("#terima_transaksi_belanjaam").prop('disabled', false);
$("#terima_transaksi_perubatan").prop('disabled', false);
$("#terima_transaksi_dapur").prop('disabled', false);
$("#terima_transaksi_pos").prop('disabled', false);
event.preventDefault();
return;
}
event.preventDefault();
return;
}
function openupdeno() {
$('#denominasipanjar').modal('show');
}
function terimadeno() {
// alert($('#keraianModal').hasClass('in')); --> nak tahu modal mano huk shown lagi
// $keraian = $('#keraianModal').hasClass('in');
// $selenggara = $('#SelenggaraModal').hasClass('in');
// $belanjaam = $('#BelanjaamModal').hasClass('in');
// $perubatan = $('#PerubatanModal').hasClass('in');
// $dapur = $('#DapurModal').hasClass('in');
// if($keraian == true)
// if($selenggara == true)
// if($belanjaam == true)
// if($perubatan == true)
// if($dapur == true)
let amaunkiraan = $('#amaunkiraan').val();
$('input[name="bayaran"]').val(amaunkiraan);
$('#denominasipanjar').modal('hide');
// console.log($('input[name="ambilsen1"]').val());
$('input[name="ambilansen1"]').val($('input[name="ambilsen1"]').val());
$('input[name="ambilansen5"]').val($('input[name="ambilsen5"]').val());
$('input[name="ambilansen10"]').val($('input[name="ambilsen10"]').val());
$('input[name="ambilansen20"]').val($('input[name="ambilsen20"]').val());
$('input[name="ambilansen50"]').val($('input[name="ambilsen50"]').val());
$('input[name="ambilanring1"]').val($('input[name="ambilring1"]').val());
$('input[name="ambilanring5"]').val($('input[name="ambilring5"]').val());
$('input[name="ambilanring10"]').val($('input[name="ambilring10"]').val());
$('input[name="ambilanring20"]').val($('input[name="ambilring20"]').val());
$('input[name="ambilanring50"]').val($('input[name="ambilring50"]').val());
$('input[name="ambilanring100"]').val($('input[name="ambilring100"]').val());
// $('#amaunkiraan').val(0);
}
//Modal Reset
$('#keraianModal').on('hidden.bs.modal', function(e) {
$(this)
.find("input,textarea,select")
.val('')
.end()
.find("input[type=checkbox], input[type=radio]")
.prop("checked", "")
.end();
$(this).find("[name='errortarikh']").hide();
$(this).find("[name='tarikh']").removeClass('is-invalid');
$(this).find("[name='tarikh']").parent().addClass("mb-4");
$(this).find("[name='errortuntutan']").hide();
$(this).find("[name='tuntutan']").removeClass('is-invalid');
$(this).find("[name='tuntutan']").parent().addClass("mb-4");
$(this).find("[name='errorbil']").hide();
$(this).find("[name='tarikhbil']").removeClass('is-invalid');
$(this).find("[name='tarikhbil']").parent().addClass("mb-4");
$(this).find("[name='errordeskripsi']").hide();
$(this).find("[name='deskripsi']").removeClass('is-invalid');
$(this).find("[name='deskripsi']").parent().addClass("mb-4");
$(this).find("[name='errorbayaran']").hide();
$(this).find("[name='bayaran']").removeClass('is-invalid');
$(this).find("[name='bayaran']").parent().addClass("mb-4");
$("#terima_transaksi_keraian").prop('disabled', false);
$("#terima_transaksi_selenggara").prop('disabled', false);
$("#terima_transaksi_belanjaam").prop('disabled', false);
$("#terima_transaksi_perubatan").prop('disabled', false);
$("#terima_transaksi_dapur").prop('disabled', false);
$("#terima_transaksi_pos").prop('disabled', false);
});
$('#SelenggaraModal').on('hidden.bs.modal', function(e) {
$(this)
.find("input,textarea,select")
.val('')
.end()
.find("input[type=checkbox], input[type=radio]")
.prop("checked", "")
.end();
$(this).find("[name='errortarikh']").hide();
$(this).find("[name='tarikh']").removeClass('is-invalid');
$(this).find("[name='tarikh']").parent().addClass("mb-4");
$(this).find("[name='errortuntutan']").hide();
$(this).find("[name='tuntutan']").removeClass('is-invalid');
$(this).find("[name='tuntutan']").parent().addClass("mb-4");
$(this).find("[name='errorbil']").hide();
$(this).find("[name='tarikhbil']").removeClass('is-invalid');
$(this).find("[name='tarikhbil']").parent().addClass("mb-4");
$(this).find("[name='errordeskripsi']").hide();
$(this).find("[name='deskripsi']").removeClass('is-invalid');
$(this).find("[name='deskripsi']").parent().addClass("mb-4");
$(this).find("[name='errorbayaran']").hide();
$(this).find("[name='bayaran']").removeClass('is-invalid');
$(this).find("[name='bayaran']").parent().addClass("mb-4");
$("#terima_transaksi_keraian").prop('disabled', false);
$("#terima_transaksi_selenggara").prop('disabled', false);
$("#terima_transaksi_belanjaam").prop('disabled', false);
$("#terima_transaksi_perubatan").prop('disabled', false);
$("#terima_transaksi_dapur").prop('disabled', false);
$("#terima_transaksi_pos").prop('disabled', false);
});
$('#BelanjaamModal').on('hidden.bs.modal', function(e) {
$(this)
.find("input,textarea,select")
.val('')
.end()
.find("input[type=checkbox], input[type=radio]")
.prop("checked", "")
.end();
$(this).find("[name='errortarikh']").hide();
$(this).find("[name='tarikh']").removeClass('is-invalid');
$(this).find("[name='tarikh']").parent().addClass("mb-4");
$(this).find("[name='errortuntutan']").hide();
$(this).find("[name='tuntutan']").removeClass('is-invalid');
$(this).find("[name='tuntutan']").parent().addClass("mb-4");
$(this).find("[name='errorbil']").hide();
$(this).find("[name='tarikhbil']").removeClass('is-invalid');
$(this).find("[name='tarikhbil']").parent().addClass("mb-4");
$(this).find("[name='errordeskripsi']").hide();
$(this).find("[name='deskripsi']").removeClass('is-invalid');
$(this).find("[name='deskripsi']").parent().addClass("mb-4");
$(this).find("[name='errorbayaran']").hide();
$(this).find("[name='bayaran']").removeClass('is-invalid');
$(this).find("[name='bayaran']").parent().addClass("mb-4");
$("#terima_transaksi_keraian").prop('disabled', false);
$("#terima_transaksi_selenggara").prop('disabled', false);
$("#terima_transaksi_belanjaam").prop('disabled', false);
$("#terima_transaksi_perubatan").prop('disabled', false);
$("#terima_transaksi_dapur").prop('disabled', false);
$("#terima_transaksi_pos").prop('disabled', false);
});
$('#PerubatanModal').on('hidden.bs.modal', function(e) {
$(this)
.find("input,textarea,select")
.val('')
.end()
.find("input[type=checkbox], input[type=radio]")
.prop("checked", "")
.end();
$(this).find("[name='errortarikh']").hide();
$(this).find("[name='tarikh']").removeClass('is-invalid');
$(this).find("[name='tarikh']").parent().addClass("mb-4");
$(this).find("[name='errortuntutan']").hide();
$(this).find("[name='tuntutan']").removeClass('is-invalid');
$(this).find("[name='tuntutan']").parent().addClass("mb-4");
$(this).find("[name='errorbil']").hide();
$(this).find("[name='tarikhbil']").removeClass('is-invalid');
$(this).find("[name='tarikhbil']").parent().addClass("mb-4");
$(this).find("[name='errordeskripsi']").hide();
$(this).find("[name='deskripsi']").removeClass('is-invalid');
$(this).find("[name='deskripsi']").parent().addClass("mb-4");
$(this).find("[name='errorbayaran']").hide();
$(this).find("[name='bayaran']").removeClass('is-invalid');
$(this).find("[name='bayaran']").parent().addClass("mb-4");
$("#terima_transaksi_keraian").prop('disabled', false);
$("#terima_transaksi_selenggara").prop('disabled', false);
$("#terima_transaksi_belanjaam").prop('disabled', false);
$("#terima_transaksi_perubatan").prop('disabled', false);
$("#terima_transaksi_dapur").prop('disabled', false);
$("#terima_transaksi_pos").prop('disabled', false);
});
$('#DapurModal').on('hidden.bs.modal', function(e) {
$(this)
.find("input,textarea,select")
.val('')
.end()
.find("input[type=checkbox], input[type=radio]")
.prop("checked", "")
.end();
$(this).find("[name='errortarikh']").hide();
$(this).find("[name='tarikh']").removeClass('is-invalid');
$(this).find("[name='tarikh']").parent().addClass("mb-4");
$(this).find("[name='errortuntutan']").hide();
$(this).find("[name='tuntutan']").removeClass('is-invalid');
$(this).find("[name='tuntutan']").parent().addClass("mb-4");
$(this).find("[name='errorbil']").hide();
$(this).find("[name='tarikhbil']").removeClass('is-invalid');
$(this).find("[name='tarikhbil']").parent().addClass("mb-4");
$(this).find("[name='errordeskripsi']").hide();
$(this).find("[name='deskripsi']").removeClass('is-invalid');
$(this).find("[name='deskripsi']").parent().addClass("mb-4");
$(this).find("[name='errorbayaran']").hide();
$(this).find("[name='bayaran']").removeClass('is-invalid');
$(this).find("[name='bayaran']").parent().addClass("mb-4");
$("#terima_transaksi_keraian").prop('disabled', false);
$("#terima_transaksi_selenggara").prop('disabled', false);
$("#terima_transaksi_belanjaam").prop('disabled', false);
$("#terima_transaksi_perubatan").prop('disabled', false);
$("#terima_transaksi_dapur").prop('disabled', false);
$("#terima_transaksi_pos").prop('disabled', false);
});
// $('#denominasipanjar').on('hidden.bs.modal', function (e) {
// $(this)
// .find(".kosong")
// .val('')
// .end();
// $('#amaunkiraan').val(0);
// });
//End Modal Reset
$('#btnPampasan').on('click', function() {
onclickPampasan('all');
});
// Initialize tooltips for dynamic content
function initializeTooltips() {
$('[data-toggle="tooltip"]').tooltip('dispose').tooltip();
}
function onclickPampasan(status) {
$('#default-table-section').hide();
$('#pampasan-table-section').show();
$('#mula').hide();
$('#akhir').hide();
$('#date-range-container').hide();
$('#status-filter-container').fadeIn();
// Get kodcaw and date range
let kodcaw = "<?php echo $cawangan_info['kodcaw'] ?>";
let tarikh_mula = $('#mula').val();
let tarikh_akhir = $('#akhir').val();
// If datepickers are empty, use today as default
if (!tarikh_mula || !tarikh_akhir) {
let today = new Date();
let dd = String(today.getDate()).padStart(2, '0');
let mm = String(today.getMonth() + 1).padStart(2, '0');
let yyyy = today.getFullYear();
let todayStr = yyyy + '-' + mm + '-' + dd;
tarikh_mula = todayStr;
tarikh_akhir = todayStr;
} else {
// Convert dd-mm-yyyy to yyyy-mm-dd if needed
let mulaSplit = tarikh_mula.split('-');
tarikh_mula = mulaSplit[2] + '-' + mulaSplit[1] + '-' + mulaSplit[0];
let akhirSplit = tarikh_akhir.split('-');
tarikh_akhir = akhirSplit[2] + '-' + akhirSplit[1] + '-' + akhirSplit[0];
}
let targetUrl = api_url + '/api/palsu/laporan';
if (status == 'all') {
targetUrl = targetUrl + '?status=all';
} else if (status == 'dituntut') {
targetUrl = targetUrl + '?status=dituntut';
} else {
targetUrl = targetUrl + '?status=belum-tuntut';
}
console.log(targetUrl);
$.ajax({
method: 'get',
url: targetUrl,
data: {
kodcaw: '011237',
},
success: function(data) {
console.log(data);
const options = {
style: 'currency',
currency: 'MYR',
minimumFractionDigits: 2,
maximumFractionDigits: 2
};
let tbody = $('#table-pampasan tbody');
tbody.empty();
let bil = 1;
let sudahTuntutSecaraManual = [
'011237240719-0015',
'011237240806-0011',
'011237240828-0001',
'011237240731-0026',
'011237240912-0009'
];
data.forEach(function(row) {
let gadaianBelumTebus = row.gadaian_sudah_tebus == false;
let status = '';
let printSuratPerjanjian = 'disabled';
let prosesTebus = 'disabled';
if (gadaianBelumTebus) {
status = '<span class="badge badge-secondary">belum tebus</span>';
printSuratPerjanjian = 'disabled';
prosesTebus = 'disabled';
} else {
status = row.status == "1" ?
'<span class="badge badge-success">dituntut</span>' :
'<span class="badge badge-danger">belum tuntut</span>';
printSuratPerjanjian = row.status == "1" ?
'disabled' :
'';
prosesTebus = row.status == "1" ?
'disabled' :
'';
}
// create a logic here if row.norujukan is part of sudahTuntutManual, then status will be badge dituntut, printSuratPerjanjian will be disabled and also prosesTebus will be disabled
if (sudahTuntutSecaraManual.includes(row.norujukan)) {
status = '<span class="badge badge-warning">dituntut manual</span>';
printSuratPerjanjian = 'disabled';
prosesTebus = 'disabled';
}
tbody.append(`
<tr style="font-size: 0.85rem;">
<td style="padding: 0.4rem 0.2rem;">${bil}</td>
<td style="padding: 0.4rem 0.2rem;">${row.nokp}</td>
<td style="padding: 0.4rem 0.2rem; font-size: 0.8rem;">${row.norujukan}</td>
<td style="padding: 0.4rem 0.2rem;">${row.pembiayaan ? parseFloat(row.pembiayaan).toLocaleString('en-MY', options) : '-'}</td>
<td style="padding: 0.4rem 0.2rem;">${row.nilaimarhun ? parseFloat(row.nilaimarhun).toLocaleString('en-MY', options) : '-'}</td>
<td style="padding: 0.4rem 0.2rem;">${row.jbg}</td>
<td style="padding: 0.4rem 0.2rem;">${status}</td>
<td style="padding: 0.4rem 0.2rem;">
<button class="btn btn-link btn-proses-pampasan" data-norujukan="${row.norujukan}" ${prosesTebus} title="Proses Tuntutan" data-toggle="tooltip" data-placement="top">
<i class="fas fa-arrow-circle-right fa-lg" style="pointer-events: none; color: ${prosesTebus === 'disabled' ? '#6c757d' : 'green'};"></i>
</button>
<button class="btn btn-link" ${printSuratPerjanjian} title="Cetak Surat Perjanjian" data-toggle="tooltip" data-placement="top"
onclick="${printSuratPerjanjian === 'disabled' ? '' : `window.open('/pampasan/surat/${row.norujukan}', '_blank')`}">
<i class="fas fa-print fa-lg" style="pointer-events: none; ${printSuratPerjanjian === 'disabled' ? 'color: #6c757d;' : ''}"></i>
</button>
</td>
</tr>
`);
bil++;
});
// Initialize tooltips for dynamically added buttons
initializeTooltips();
}
});
}
// When any other modal is opened, show the default table again
$('.btn[data-target^="#"][data-target!="#PampasanModal"]').on('click', function() {
$('#default-table-section').show();
$('#pampasan-table-section').hide();
$('#mula').show();
$('#akhir').show();
$('#date-range-container').show();
$('#status-filter-container').fadeOut();
});
// Also, when Pampasan modal is closed, show the default table again
$('#PampasanModal').on('hidden.bs.modal', function() {
$('#default-table-section').show();
$('#pampasan-table-section').hide();
$('#mula').show();
$('#akhir').show();
$('#date-range-container').show();
$('#status-filter-container').fadeOut();
});
const companyInfo = {
name: "KOPERASI PERMODALAN KELANTAN BERHAD",
address: "Lot PT 448, Tingkat 1, Jalan Kuala Krai, Batu 3<br> Wakaf Che Yeh, 15150 Kota Bharu, Kelantan",
phone: "09-741 4331 / 4334",
website: "www.koppkb.com",
email: "admin@koppkb.com"
};
// Simpan norujukan global untuk redirect
let currentNorujukan = null;
function askOperasiApproval(gadaianDetail) {
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Operasi',
text: 'Kelulusan Pengeluaran Pampasan',
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
let norujukan = gadaianDetail.norujukan;
let nm = gadaianDetail.nilaimarhun;
let ber = gadaianDetail.berat;
let marg = gadaianDetail.margin_semasa;
let status = 'Kelulusan Pengeluaran Pampasan';
let jumpinjam = gadaianDetail.pinjaman;
let teller = "{{ Auth::user()->name }}";
Swal.fire({
title: 'Tunggu Pengesahan Daripada Operasi.',
icon: 'info',
width: 600,
padding: '3em',
background: '#fffff',
showCancelButton: false,
showConfirmButton: false,
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false
})
let siricreated = 0;
$.ajax({
method: 'post',
url: "{{ route('operasi.createkelulusan-by-khazanah') }}",
data: {
"_token": "{{ csrf_token() }}",
"norujukan": norujukan,
"komen": '',
"margin": marg,
"berat": ber,
"nilaimarhun": nm,
"status": status,
"jumpinjam": jumpinjam,
"teller": teller,
"pelulus": 'operasi'
},
success: function(data) {
siricreated = data;
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-kelulusan');
channel.bind('my-kelulusan', function(data) {
if (data.norujukan == norujukan && data.siri == siricreated && data.teller == teller) {
console.log(data);
if (data.kelulusan == 'lulus') {
let komen = data.komen == null ? 'tiada' : data.komen;
Swal.fire({
icon: 'success',
title: 'Telah Disahkan',
text: `Komen : ${komen}`
}).then(function() {
window.location.href = '/pampasan/detail/' + norujukan;
});
} else if (data.kelulusan == 'batal') {
let komen = data.komen == null ? 'tiada' : data.komen;
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${komen}`
}).then(function() {
return false;
});
}
}
});
} else if (result.dismiss === Swal.DismissReason.cancel) {
$("#terima_gadai").prop('disabled', false);
swalWithBootstrapButtons.fire(
'Batal',
'Maklumat Pembiayaan Tidak Berjaya Disimpan',
'error'
)
}
})
}
document.addEventListener('click', async function(e) {
const suratBtn = e.target.closest('.btn-proses-pampasan');
if (suratBtn) {
const norujukan = suratBtn.getAttribute('data-norujukan');
let gadaianDetail = await fetch("{{ config('api.url') }}" + `/api/gadai/norujukankodcaw/${kodcaw}/${norujukan}`)
.then(response => response.json());
askOperasiApproval(gadaianDetail[0][0]);
}
});
document.addEventListener("DOMContentLoaded", function() {
const params = new URLSearchParams(window.location.search);
let pampasanExist = params.get("pampasan");
if (pampasanExist) {
document.getElementById('btnPampasan').click();
}
});
document.addEventListener('DOMContentLoaded', function() {
let radioStatusAll = document.querySelector('input[type="radio"][data-status="all"]');
let radioStatusDituntut = document.querySelector('input[type="radio"][data-status="dituntut"]');
let radioStatusBelumTuntut = document.querySelector('input[type="radio"][data-status="belum-tuntut"]');
radioStatusAll.addEventListener('click', function() {
onclickPampasan('all');
})
radioStatusDituntut.addEventListener('click', function() {
onclickPampasan('dituntut');
})
radioStatusBelumTuntut.addEventListener('click', function() {
onclickPampasan('belum-tuntut');
})
// Check if Bootstrap tooltip is available, if not, load it
if (typeof $().tooltip === 'undefined') {
console.log('Bootstrap tooltip not available, using title attributes instead');
return;
}
// Initialize tooltips on page load
initializeTooltips();
// Re-initialize tooltips when new content is added via AJAX
$(document).on('DOMNodeInserted', function() {
setTimeout(initializeTooltips, 100);
});
});
</script>
@endsection