Merged in cherry-pick-batu-permata (pull request #140)

Feature batu permata
This commit is contained in:
arrahn pkb
2024-03-24 21:53:17 +00:00
11 changed files with 676 additions and 34 deletions
+26 -2
View File
@@ -25,6 +25,18 @@ class LelongController extends Controller
$customerdetail = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/customers/'. $noic)->json();
$nama = $customerdetail['nama'];
$marhuns = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/marhun/'. $norujukan)->json();
$batuPermataExist = false;
foreach($marhuns[0] as $marhun)
{
if($marhun['tag_permata'] == 1)
{
$batuPermataExist = true;
}
}
$lelong = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/lelong/cawangan/'. $auth_user['cawangan'] . '/' . $norujukan)->json();
if(sizeof($lelong) > 0)
@@ -34,7 +46,7 @@ class LelongController extends Controller
$gadai = $gadaidetail[0];
return view('lelongan.index',compact('cawangan_info','api_url','gadai','nama','lelong'));
return view('lelongan.index',compact('cawangan_info','api_url','gadai','nama','lelong', 'marhuns', 'batuPermataExist'));
}
public function lelong(){
@@ -65,7 +77,19 @@ class LelongController extends Controller
if(sizeof($wakil) != 0)
$wakil = $wakil[0];
return view('print.resit_tuntutbaki', compact('cawangan_detail','api_url','lelong','wakil'));
$marhuns = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/marhun/'. $norujukan)->json();
$batuPermataExist = false;
foreach($marhuns[0] as $marhun)
{
if($marhun['tag_permata'] == 1)
{
$batuPermataExist = true;
}
}
return view('print.resit_tuntutbaki', compact('cawangan_detail','api_url','lelong','wakil', 'marhuns', 'batuPermataExist'));
}
+261 -7
View File
@@ -38,6 +38,8 @@
<th>Berat</th>
<th>Nota</th>
<th>Harga</th>
<th>Batu Permata</th>
<th>Berat Permata</th>
<th>Action</th>
</tr>
</thead>
@@ -46,7 +48,7 @@
<th id="totalnilaimarhuntable"></th>
<th></th>
<th id="totalberattable"></th>
<th colspan="3"></th>
<th colspan="5"></th>
</tfoot>
</table>
</div>
@@ -226,7 +228,6 @@
<option>Rosak</option>
<option>Putus</option>
<option>Patah</option>
<option>Permata</option>
<option>Sebelah</option>
</select>
</div>
@@ -237,7 +238,7 @@
<option disabled selected value> -- Pilih Karat -- </option>
</select>
</div>
<div class="col-md-4">Berat</div>
<div class="col-md-4">Berat Bersih</div>
<div class="col-md-8"><input class="form-control" type="text" name="berat_emas" id="berat_emas"></div>
<div class="col-md-4">Harga</div>
<div class="col-md-8"><input class="form-control .harga" type="text" name="harga" id="harga" readonly></div>
@@ -249,6 +250,25 @@
<div class="col-md-8"><input class="form-control" type="text" name="jumlah_nilai_marhun" id="jumlah_nilai_marhun" readonly></div>
</div>
</div>
<div class="col-md-6" id="col_right" style="display: none">
<div class="form-group row">
<div class="col-md-12">
<div class="form-group">
<div class="d-flex justify-content-between">
<span>Ada Batu Permata?</span>
<div>
<label for="tagpermata">Ya</label>
<input type="checkbox" id="tagpermata" name="tagpermata">
</div>
</div>
</div>
</div>
<div class="d-flex" id="divanggaran" style="visibility: hidden">
<div class="col-8">Anggaran Berat Permata</div>
<div class="col-4"><input class="form-control" type="text" name="beratpermata" id="beratpermata" autocomplete="off"></div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="form-group row">
@@ -330,6 +350,59 @@
});
}
let arrayBatuPermata = [
'DNR',
'SYE',
'WFR',
'G/B',
];
$('#marhun').change(function(){
var marhun = this.value;
if (!arrayBatuPermata.includes(marhun)) {
$("#col_right").css("display", "block");
} else {
$("#col_right").css("display", "none");
$('#tagpermata').prop('checked', false);
$("#divanggaran").css("visibility", "hidden");
$('#beratpermata').val("");
}
});
$('#tagpermata').change(function () {
if($('#tagpermata').is(':checked')) {
$("#divanggaran").css("visibility", "visible");
} else {
$("#divanggaran").css("visibility", "hidden");
$('#beratpermata').val("");
}
});
$('#tagpermataedit').change(function () {
if($('#tagpermataedit').is(':checked')) {
$(".div_anggaran_edit").css("display", "block");
} else {
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
});
$('#marhun_edit').change(function(){
var marhun = this.value;
if (!arrayBatuPermata.includes(marhun)) {
$(".col_edit_permata").css("display", "block");
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
} else {
$(".col_edit_permata").css("display", "none");
$('#tagpermataedit').prop('checked', false);
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
});
$('#karat').change(function(){
var karat = this.value;
karat = karat.replace(/\./g,'-');
@@ -347,6 +420,10 @@
$('#batal_marhun').click(function(){
$('#nota').val('').trigger("change");
$('#tagpermata').prop("checked", false);
$("#col_right").css("display", "none");
$("#divanggaran").css("visibility", "hidden");
$('#beratpermata').val("");
$('#marhun').val(0);
$('#karat').val(0);
$('#berat_emas').val("");
@@ -397,6 +474,14 @@
closeOnSelect: false
});
$(".select2_daftar_batu_permata").select2({
dropdownParent: $('#daftar_marhun'),
tags: true,
tokenSeparators: [',', ' '],
allowClear: true,
closeOnSelect: false
});
$(".select2_nota").select2({
dropdownParent: $('#editMarhunModal'),
tags: true,
@@ -405,6 +490,14 @@
closeOnSelect: false
});
$(".select2_batupermata").select2({
dropdownParent: $('#editMarhunModal'),
tags: true,
tokenSeparators: [',', ' '],
allowClear: true,
closeOnSelect: false
});
var total_nilai_marhun = 0;
var total_berat = 0;
var kadarupah = 0;
@@ -425,6 +518,7 @@
total_berat = total_berat + Number(marhun_detail['berat']);
marhun_details = marhun_details + marhun_detail['bil'] + " " + marhun_detail['marhun'] +",";
jumlah_nilai_marhun += Number(marhun_detail['n_marhun']);
status_tag_permata = marhun_detail['tag_permata'] == 1 ? 'Ada' : '';
tablemarhun.row.add([
counter,
marhun_detail['recno'],
@@ -434,6 +528,8 @@
formatter.format(marhun_detail['berat']),
marhun_detail['nota'],
marhun_detail['harga'],
status_tag_permata,
marhun_detail['berat_batu_permata'],
"<div class='buttonpunya text-center'><button onclick='editmarhun(this)' class='btn btn-primary'><i class='fas fa-edit'></i></button> <button onclick='deletemarhun(this)' class='btn btn-danger'><i class='fas fa-trash-alt'></i></button></div>"
]).draw();
count++;
@@ -554,9 +650,29 @@
let berat = recno[5];
let harga = recno[7];
let nota = recno[6];
let tag_permata_edit = recno[8];
let beratpermata = recno[9];
let jenismarhun = recno[2];
var res = nota.split(",");
if (!arrayBatuPermata.includes(jenismarhun)) {
$(".col_edit_permata").css("display", "block");
if(beratpermata != null) {
$('#tagpermataedit').prop('checked', true);
$(".div_anggaran_edit").css("display", "block");
$('#beratpermataedit').val(beratpermata);
} else {
$('#tagpermataedit').prop('checked', false);
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
} else {
$(".col_edit_permata").css("display", "none");
$('#tagpermataedit').prop('checked', false);
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
$.ajax({
method:'GET',
url: api_url + '/api/jemas',
@@ -601,6 +717,8 @@
$('#terima_edit').on('click',function(){
var nota_edit = $('#nota_edit').val();
var tagpermata_edit = $('input[id=tagpermataedit]').is(':checked') ? 1 : 0;
var beratpermata_edit = $('#beratpermataedit').val();
var norujukedit = $('#norujukedit').val();
var recnoedit = $('#recnoedit').val();
var marhun_edit = $('#marhun_edit').val();
@@ -616,6 +734,11 @@
var nota = '';
}
var resultValidation = validateBatuPermata(tagpermata_edit, beratpermata_edit);
if(resultValidation == false) {
return false;
}
if($.isNumeric(berat_edit) == false){
Swal.fire({
icon: 'error',
@@ -637,6 +760,8 @@
'n_marhun' : nilai_marhun_edit,
'marhun' : marhun_edit,
'nota' : nota,
'tag_permata' : tagpermata_edit,
'berat_batu_permata' : beratpermata_edit,
"teller": "{{ Auth::user()->name }}"
},
success:function(data){
@@ -699,6 +824,9 @@
var bilangan_marhun_daftar = Number($('#bilangan_marhun').val());
var nilai_marhun = Number(nilaimarhun.replace(/[^0-9.-]+/g,""));
var nota_array = $('#nota').val();
var berat_permata = $('#beratpermata').val();
var tag_permata = $('input[id=tagpermata]').is(':checked') ? 1 : 0;
if(nota_array != null){
var nota = nota_array.toString();
}else{
@@ -736,29 +864,41 @@
event.preventDefault();
return false;
}else{
var resultValidation = validateBatuPermata(tag_permata, berat_permata);
if(resultValidation == false) {
return false;
}
if(bilangan_marhun_daftar<10){
$.ajax({
method:'POST',
url: api_url + '/api/marhun/'+kodcaw,
dataType:'json',
data:{
data:JSON.stringify({
'norujukan': norujukan,
'marhun' : marhun,
'nota':nota,
'tag_permata':tag_permata,
'berat_batu_permata':berat_permata,
'karat' : karat,
'berat_emas' :berat_emas,
'harga' : harga,
'nilai_marhun' : nilai_marhun,
'teller' : "{{ Auth::user()->name }}"
},
}),
success:function(data){
$('#nota').val('').trigger("change");
$('#beratpermata').val("");
$('#marhun').val(0);
$('#karat').val(0);
$('#berat_emas').val("");
$('#harga').val("");
$('#nilai_marhun').val("");
$('#daftar_marhun').modal('hide');
$("#col_right").css("display", "none");
$('#tagpermata').prop('checked', false);
$('#beratpermata').val("");
$("#divanggaran").css("visibility", "hidden");
jumlah_marhun += 1;
jumlah_nilai_marhun += Number(nilai_marhun);
@@ -800,6 +940,9 @@
var bilangan_marhun_daftar = Number($('#bilangan_marhun').val());
var nilai_marhun = Number(nilaimarhun.replace(/[^0-9.-]+/g,""));
var nota_array = $('#nota').val();
var beratpermata = $('#beratpermata').val();
var tag_permata = $('input[id=tagpermata]').is(':checked') ? 1 : 0;
if(nota_array != null){
var nota = nota_array.toString();
}else{
@@ -833,28 +976,41 @@
event.preventDefault();
return false;
}else{
var resultValidation = validateBatuPermata(tag_permata, beratpermata);
if(resultValidation == false) {
return false;
}
if(bilangan_marhun_daftar < 10){
$.ajax({
method:'POST',
url: api_url + '/api/marhun/'+kodcaw,
dataType:'json',
data:{
data: JSON.stringify({
'norujukan': norujukan,
'marhun' : marhun,
'nota':nota,
'tag_permata':tag_permata,
'berat_batu_permata':beratpermata,
'karat' : karat,
'berat_emas' :berat_emas,
'harga' : harga,
'nilai_marhun' : nilai_marhun,
'teller' : "{{ Auth::user()->name }}"
},
}),
success:function(data){
$('#nota').val('').trigger("change");
$('#batupermata').val('').trigger("change");
$('#beratpermata').val("");
$('#marhun').val(0);
$('#karat').val(0);
$('#berat_emas').val("");
$('#harga').val("");
$('#nilai_marhun').val("");
$("#col_right").css("display", "none");
$('#tagpermata').prop('checked', false);
$('#beratpermata').val("");
$("#divanggaran").css("visibility", "hidden");
jumlah_marhun += 1;
jumlah_nilai_marhun += Number(nilai_marhun);
@@ -883,6 +1039,104 @@
}
});
function validateBatuPermata(tag, berat) {
function countDecimalPlaces(value) {
const match = value.match(/(?:\.(\d+))?$/);
if (!match || !match[1]) {
return 0;
}
return match[1].length;
}
function validateInput(inputValue) {
const decimalPlaces = countDecimalPlaces(inputValue);
return decimalPlaces <= 2;
}
if(tag == 1) {
if(berat == '') {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Isi Anggaran Berat Permata'
});
event.preventDefault();
return false;
} else if($.isNumeric(berat) == false) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Semak Semula Berat Permata'
});
event.preventDefault();
return false;
} else if(berat <= 0) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Nilai berat permata mesti lebih besar daripada ' + berat,
});
event.preventDefault();
return false;
} else if(!validateInput(berat)) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Hanya 2 titik perpuluhan dibenarkan untuk berat batu permata'
});
event.preventDefault();
return false;
}else {
return true;
}
} else if(berat != '') {
if($.isNumeric(berat) == false) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Semak Semula Berat Permata'
});
event.preventDefault();
return false;
}
if(berat <= 0) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Nilai berat permata ' + berat + ' tidak dibenarkan'
});
event.preventDefault();
return false;
}
if(!validateInput(berat)) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Hanya 2 titik perpuluhan dibenarkan untuk berat batu permata'
});
event.preventDefault();
return false;
}
} else {
return true;
}
}
function verifyGadai(func){
$("#terima_gadai").prop('disabled', true);
+262 -8
View File
@@ -74,6 +74,8 @@
<th>Berat</th>
<th>Nota</th>
<th>Harga</th>
<th>Batu Permata</th>
<th>Berat Permata</th>
<th>Tindakan</th>
</tr>
</thead>
@@ -82,7 +84,7 @@
<th id="totalnilaimarhuntable"></th>
<th></th>
<th id="totalberattable"></th>
<th colspan="3"></th>
<th colspan="5"></th>
</tfoot>
</table>
</div>
@@ -218,7 +220,6 @@
<option value="Rosak">Rosak</option>
<option value="Putus">Putus</option>
<option value="Patah">Patah</option>
<option value="Permata">Permata</option>
<option value="Sebelah">Sebelah</option>
</select>
</div>
@@ -229,7 +230,7 @@
<option disabled selected value> -- Pilih Karat -- </option>
</select>
</div>
<div class="col-md-4">Berat</div>
<div class="col-md-4">Berat Bersih</div>
<div class="col-md-8"><input class="form-control" type="text" name="berat_emas" id="berat_emas"></div>
<div class="col-md-4">Harga</div>
<div class="col-md-8"><input class="form-control" type="text" name="harga" id="harga" readonly></div>
@@ -241,6 +242,25 @@
<div class="col-md-8"><input class="form-control" type="text" name="jumlah_nilai_marhun" id="jumlah_nilai_marhun" readonly></div>
</div>
</div>
<div class="col-md-6" id="col_right" style="display: none">
<div class="form-group row">
<div class="col-md-12">
<div class="form-group">
<div class="d-flex justify-content-between">
<span>Ada Batu Permata?</span>
<div>
<label for="tagpermata">Ya</label>
<input type="checkbox" id="tagpermata" name="tagpermata">
</div>
</div>
</div>
</div>
<div class="d-flex" id="divanggaran" style="visibility: hidden">
<div class="col-8">Anggaran Berat Permata</div>
<div class="col-4"><input class="form-control" type="text" name="beratpermata" id="beratpermata" autocomplete="off"></div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="form-group row">
@@ -309,6 +329,57 @@
});
}
let arrayBatuPermata = [
'DNR',
'SYE',
'WFR',
'G/B',
];
$('#marhun').change(function(){
var marhun = this.value;
if (!arrayBatuPermata.includes(marhun)) {
$("#col_right").css("display", "block");
} else {
$("#col_right").css("display", "none");
$('#tagpermata').prop('checked', false);
$("#divanggaran").css("visibility", "hidden");
$('#beratpermata').val("");
}
});
$('#tagpermata').change(function () {
if($('#tagpermata').is(':checked')) {
$("#divanggaran").css("visibility", "visible");
} else {
$("#divanggaran").css("visibility", "hidden");
$('#beratpermata').val("");
}
});
$('#tagpermataedit').change(function () {
if($('#tagpermataedit').is(':checked')) {
$(".div_anggaran_edit").css("display", "block");
} else {
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
});
$('#marhun_edit').change(function(){
var marhun = this.value;
if (!arrayBatuPermata.includes(marhun)) {
$(".col_edit_permata").css("display", "block");
} else {
$(".col_edit_permata").css("display", "none");
$('#tagpermataedit').prop('checked', false);
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
});
$('#karat').change(function(){
var karat = this.value;
karat = karat.replace(/\./g,'-');
@@ -326,6 +397,10 @@
$('#batal_marhun').click(function(){
$('#nota').val('').trigger("change");
$('#tagpermata').prop("checked", false);
$("#col_right").css("display", "none");
$("#divanggaran").css("visibility", "hidden");
$('#beratpermata').val("");
$('#marhun').val(0);
$('#karat').val(0);
$('#berat_emas').val("");
@@ -370,6 +445,14 @@
closeOnSelect: false
});
$(".select2_daftar_batu_permata").select2({
dropdownParent: $('#daftar_marhun'),
tags: true,
tokenSeparators: [',', ' '],
allowClear: true,
closeOnSelect: false
});
$(".select2_nota").select2({
dropdownParent: $('#editMarhunModal'),
tags: true,
@@ -378,6 +461,14 @@
closeOnSelect: false
});
$(".select2_batupermata").select2({
dropdownParent: $('#editMarhunModal'),
tags: true,
tokenSeparators: [',', ' '],
allowClear: true,
closeOnSelect: false
});
var total_nilai_marhun = 0;
var total_berat = 0;
var kadarupah = 0;
@@ -398,6 +489,7 @@
total_berat = total_berat + Number(marhun_detail['berat']);
marhun_details = marhun_details + marhun_detail['bil'] + " " + marhun_detail['marhun'] +",";
jumlah_nilai_marhun += Number(marhun_detail['n_marhun']);
status_tag_permata = marhun_detail['tag_permata'] == 1 ? 'Ada' : '';
tablemarhun.row.add([
counter,
marhun_detail['recno'],
@@ -407,6 +499,8 @@
formatter.format(marhun_detail['berat']),
marhun_detail['nota'],
marhun_detail['harga'],
status_tag_permata,
marhun_detail['berat_batu_permata'],
"<div class='buttonpunya text-center'><button onclick='editmarhun(this)' class='btn btn-primary'><i class='fas fa-edit'></i></button> <button onclick='deletemarhun(this)' class='btn btn-danger'><i class='fas fa-trash-alt'></i></button></div>"
]).draw();
counter = counter + 1;
@@ -520,6 +614,8 @@
var bilangan_marhun_daftar = Number($('#bilangan_marhun').val());
var nilai_marhun = Number(nilaimarhun.replace(/[^0-9.-]+/g,""));
var nota_array = $('#nota').val();
var berat_permata = $('#beratpermata').val();
var tag_permata = $('input[id=tagpermata]').is(':checked') ? 1 : 0;
if(nota_array != null){
var nota = nota_array.toString();
@@ -566,31 +662,43 @@
event.preventDefault();
return false;
}else{
var resultValidation = validateBatuPermata(tag_permata, berat_permata);
if(resultValidation == false) {
return false;
}
if(bilangan_marhun_daftar<10){
$.ajax({
method:'POST',
url: api_url + '/api/marhun/'+kodcaw,
dataType:'json',
data:{
data: JSON.stringify({
'norujukan': norujukan,
'marhun' : marhun,
'nota':nota,
'tag_permata':tag_permata,
'berat_batu_permata':berat_permata,
'karat' : karat,
'berat_emas' :berat_emas,
'harga' : harga,
'nilai_marhun' : nilai_marhun,
'teller' : "{{ Auth::user()->name }}"
},
'teller' : "{{ Auth::user()->name }}",
}),
success:function(data){
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
$('#nota').val('').trigger("change");
$('#beratpermata').val("");
$('#marhun').val(0);
$('#karat').val(0);
$('#berat_emas').val("");
$('#harga').val("");
$('#nilai_marhun').val("");
$('#daftar_marhun').modal('hide');
$("#col_right").css("display", "none");
$('#tagpermata').prop('checked', false);
$('#beratpermata').val("");
$("#divanggaran").css("visibility", "hidden");
jumlah_marhun += 1;
jumlah_nilai_marhun += Number(nilai_marhun);
@@ -638,6 +746,10 @@
var bilangan_marhun_daftar = Number($('#bilangan_marhun').val());
var nilai_marhun = Number(nilaimarhun.replace(/[^0-9.-]+/g,""));
var nota_array = $('#nota').val();
var batu_permata_array = $('#batupermata').val();
var tag_permata = $('input[id=tagpermata]').is(':checked') ? 1 : 0;
var beratpermata = $('#beratpermata').val();
if(nota_array != null){
var nota = nota_array.toString();
@@ -678,30 +790,43 @@
event.preventDefault();
return false;
}else{
var resultValidation = validateBatuPermata(tag_permata, beratpermata);
if(resultValidation == false) {
return false;
}
if(bilangan_marhun_daftar < 10){
$.ajax({
method:'POST',
url: api_url + '/api/marhun/'+kodcaw,
dataType:'json',
data:{
data: JSON.stringify({
'norujukan': norujukan,
'marhun' : marhun,
'nota':nota,
'tag_permata':tag_permata,
'berat_batu_permata':beratpermata,
'karat' : karat,
'berat_emas' :berat_emas,
'harga' : harga,
'nilai_marhun' : nilai_marhun,
'teller' : "{{ Auth::user()->name }}"
},
}),
success:function(data){
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
$('#nota').val('').trigger("change");
$('#batupermata').val('').trigger("change");
$('#beratpermata').val("");
$('#marhun').val(0);
$('#karat').val(0);
$('#berat_emas').val("");
$('#harga').val("");
$('#nilai_marhun').val("");
$("#col_right").css("display", "none");
$('#tagpermata').prop('checked', false);
$('#beratpermata').val("");
$("#divanggaran").css("visibility", "hidden");
jumlah_marhun += 1;
jumlah_nilai_marhun += Number(nilai_marhun);
@@ -734,6 +859,105 @@
}
});
function validateBatuPermata(tag, berat) {
function countDecimalPlaces(value) {
const match = value.match(/(?:\.(\d+))?$/);
if (!match || !match[1]) {
return 0;
}
return match[1].length;
}
function validateInput(inputValue) {
const decimalPlaces = countDecimalPlaces(inputValue);
return decimalPlaces <= 2;
}
if(tag == 1) {
if(berat == '') {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Isi Anggaran Berat Permata'
});
event.preventDefault();
return false;
} else if($.isNumeric(berat) == false) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Semak Semula Berat Permata'
});
event.preventDefault();
return false;
} else if(berat <= 0) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Nilai berat permata mesti lebih besar daripada ' + berat,
});
event.preventDefault();
return false;
} else if(!validateInput(berat)) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Hanya 2 titik perpuluhan dibenarkan untuk berat batu permata'
});
event.preventDefault();
return false;
} else {
return true;
}
} else if(berat != '') {
if($.isNumeric(berat) == false) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Sila Semak Semula Berat Permata'
});
event.preventDefault();
return false;
}
if(berat <= 0) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Nilai berat permata mesti lebih besar daripada ' + berat,
});
event.preventDefault();
return false;
}
if(!validateInput(berat)) {
$("#tambah_marhun").prop('disabled', false);
$("#terima_marhun").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: 'Hanya 2 titik perpuluhan dibenarkan untuk berat batu permata'
});
event.preventDefault();
return false;
}
} else {
return true;
}
}
function getDataCawangan(){
let header = {
@@ -1159,8 +1383,29 @@
let berat = recno[5];
let harga = recno[7];
let nota = recno[6];
let tag_permata_edit = recno[8];
let beratpermata = recno[9];
let jenismarhun = recno[2];
var res = nota.split(",");
if (!arrayBatuPermata.includes(jenismarhun)) {
$(".col_edit_permata").css("display", "block");
if(beratpermata != null) {
$('#tagpermataedit').prop('checked', true);
$(".div_anggaran_edit").css("display", "block");
$('#beratpermataedit').val(beratpermata);
} else {
$('#tagpermataedit').prop('checked', false);
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
} else {
$(".col_edit_permata").css("display", "none");
$('#tagpermataedit').prop('checked', false);
$(".div_anggaran_edit").css("display", "none");
$('#beratpermataedit').val("");
}
$.ajax({
method:'GET',
url: api_url + '/api/jemas',
@@ -1186,6 +1431,8 @@
$('#terima_edit').on('click',function(){
var nota_edit = $('#nota_edit').val();
var tagpermata_edit = $('input[id=tagpermataedit]').is(':checked') ? 1 : 0;
var beratpermata_edit = $('#beratpermataedit').val();
var norujukedit = $('#norujukedit').val();
var recnoedit = $('#recnoedit').val();
var marhun_edit = $('#marhun_edit').val();
@@ -1201,6 +1448,11 @@
var nota = '';
}
var resultValidation = validateBatuPermata(tagpermata_edit, beratpermata_edit);
if(resultValidation == false) {
return false;
}
if($.isNumeric(berat_edit) == false){
Swal.fire({
icon: 'error',
@@ -1222,6 +1474,8 @@
'n_marhun' : nilai_marhun_edit,
'marhun' : marhun_edit,
'nota' : nota,
'tag_permata' : tagpermata_edit,
'berat_batu_permata' : beratpermata_edit,
"teller": "{{ Auth::user()->name }}"
},
success:function(data){
@@ -19,10 +19,11 @@
<tr>
<th>Bil</th>
<th>Jenis Marhun</th>
<th>Berat</th>
<th>Berat Bersih</th>
<th>Karat</th>
<th>Nilai Marhun</th>
<th>Nota</th>
<th>Berat Permata</th>
</tr>
</thead>
<tbody id="tablemarhun">
@@ -68,10 +69,11 @@
<tr>
<th>Bil</th>
<th>Jenis Marhun</th>
<th>Berat</th>
<th>Berat Bersih</th>
<th>Karat</th>
<th>Nilai Marhun</th>
<th>Nota</th>
<th>Berat Permata</th>
</tr>
</thead>
<tbody id="belum_serah">
@@ -497,7 +499,10 @@
},
success:function(marhun_ajax){
bil_count++;
$("#tablemarhun").append("<tr><td>" + bil_count + "</td><td>" + marhun_ajax['descpt'] +"</td><td>" + marhun_detail['berat'] +"</td><td>" + marhun_detail['karat'] +"</td><td>RM " + marhun_detail['n_marhun'].toLocaleString(undefined,{minimumFractionDigits:2}) +"</td><td>"+ marhun_detail['nota'] +"</td></tr>");
var valBatuPermata = marhun_detail['berat_batu_permata'] != null ? marhun_detail['berat_batu_permata'] : '';
var valTagPermata = marhun_detail['tag_permata'] == 1 ? '(PMT) ' : '';
var notaDanTag = valTagPermata + marhun_detail['nota'];
$("#tablemarhun").append("<tr><td>" + bil_count + "</td><td>" + marhun_ajax['descpt'] +"</td><td>" + marhun_detail['berat'] +"</td><td>" + marhun_detail['karat'] +"</td><td>RM " + marhun_detail['n_marhun'].toLocaleString(undefined,{minimumFractionDigits:2}) +"</td><td>"+ notaDanTag + "</td><td>" + valBatuPermata +"</td></tr>");
}
});
});
@@ -530,7 +535,10 @@
},
success:function(marhun_ajax){
bil_count++;
$("#belum_serah").append("<tr><td>" + bil_count + "</td><td>" + marhun_ajax['descpt'] +"</td><td>" + marhun_detail['berat'] +"</td><td>" + marhun_detail['karat'] +"</td><td>RM " + marhun_detail['n_marhun'].toLocaleString(undefined,{minimumFractionDigits:2}) +"</td><td>"+ marhun_detail['nota'] +"</td></tr>");
var valBatuPermata = marhun_detail['berat_batu_permata'] != null ? marhun_detail['berat_batu_permata'] : '';
var valTagPermata = marhun_detail['tag_permata'] == 1 ? '(PMT) ' : '';
var notaDanTag = valTagPermata + marhun_detail['nota'];
$("#belum_serah").append("<tr><td>" + bil_count + "</td><td>" + marhun_ajax['descpt'] +"</td><td>" + marhun_detail['berat'] +"</td><td>" + marhun_detail['karat'] +"</td><td>RM " + marhun_detail['n_marhun'].toLocaleString(undefined,{minimumFractionDigits:2}) +"</td><td>"+ notaDanTag + "</td><td>" + valBatuPermata +"</td></tr>");
}
});
});
+7 -2
View File
@@ -21,10 +21,11 @@
<tr>
<th>Bil</th>
<th>Jenis Marhun</th>
<th>Berat</th>
<th>Berat Bersih</th>
<th>Karat</th>
<th>Nilai Marhun</th>
<th>Nota</th>
<th>Berat Permata</th>
</tr>
</thead>
<tbody id="tablemarhun">
@@ -287,6 +288,9 @@
},
success: function (marhun_ajax) {
bil_count++;
var valBatuPermata = marhun_detail['berat_batu_permata'] != null ? marhun_detail['berat_batu_permata'] : '';
var valTagPermata = marhun_detail['tag_permata'] == 1 ? '(PMT) ' : '';
var notaDanTag = valTagPermata + marhun_detail['nota'];
$("#tablemarhun").append("<tr><td>" + bil_count +
"</td><td>" + marhun_ajax['descpt'] + "</td><td>" +
marhun_detail['berat'] + "</td><td>" +
@@ -294,7 +298,8 @@
marhun_detail['n_marhun'].toLocaleString(
undefined, {
minimumFractionDigits: 2
}) + "</td><td>" + marhun_detail['nota'] +
}) + "</td><td>" + notaDanTag +
"</td><td>" + valBatuPermata +
"</td></tr>");
}
});
@@ -45,7 +45,8 @@
<th>Nama</th>
<th>Marhun</th>
<th>Nota</th>
<th>Berat</th>
<th>Berat Permata</th>
<th>Berat Bersih</th>
<th>Karat</th>
<th>Harga</th>
<th>N.Marhun</th>
@@ -109,6 +110,7 @@
var counter = 1;
tablecustomers.clear().draw();
$.each(data,function(index,customers){
var valTagPermata = customers['tag_permata'] == 1 ? '(PMT) ' : '';
tablecustomers.row.add([
counter,
@@ -116,7 +118,8 @@
customers['nokp'],
customers['nama'],
customers['marhun'],
customers['nota'],
valTagPermata + customers['nota'],
customers['berat_batu_permata'],
customers['berat'],
customers['karat'],
customers['harga'],
+29
View File
@@ -81,6 +81,35 @@
</div>
</div>
</div>
<div class="card" style="{{ ($batuPermataExist == false) ? 'display:none' : '' }}">
<div class="card-body">
<div class="mb-2">*Surat ini direkod mengandungi batu permata. Sila <span class="text-danger text-uppercase" style="text-decoration: underline; font-weight:800; font-size:1.5rem">serahkan batu permata</span> kepada pelanggan semasa membuat tuntutan.</div>
<table class="table table-striped table-hover text-center" id="myTable">
<thead class="thead-dark">
<tr>
<th>Bil</th>
<th>Marhun</th>
<th>Karat</th>
<th>Berat(g)</th>
<th>Nota</th>
<th>Berat Permata(g)</th>
</tr>
</thead>
<tbody>
@foreach ($marhuns[0] as $marhun)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $marhun['marhun'] }}</td>
<td>{{ $marhun['karat'] }}</td>
<td>{{ $marhun['berat'] }}</td>
<td>{{ $marhun['tag_permata'] == 1 ? '(PMT) ' : '' }}{{ $marhun['nota'] }}</td>
<td>{{ $marhun['berat_batu_permata'] }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-body">
+13 -1
View File
@@ -33,11 +33,23 @@
<option value="Rosak">Rosak</option>
<option value="Putus">Putus</option>
<option value="Patah">Patah</option>
<option value="Permata">Permata</option>
<option value="Sebelah">Sebelah</option>
</select>
</div>
</div>
<div class="col-md-12 col_edit_permata">
<div class="form-group">
<div class="d-flex justify-content-between">
<span>Ada Batu Permata?</span>
<div>
<label for="tagpermataedit">Ya</label>
<input type="checkbox" id="tagpermataedit" name="tagpermataedit">
</div>
</div>
</div>
</div>
<div class="col-md-8 col_edit_permata div_anggaran_edit">Anggaran Berat Permata</div>
<div class="col-md-4 mb-2 col_edit_permata div_anggaran_edit"><input class="form-control" type="text" name="beratpermataedit" id="beratpermataedit" autocomplete="off"></div>
<div class="col-md-4">Karat</div>
<div class="col-md-8">
<select name="sltkarat" id="sltkarat" class="form-control">
@@ -205,7 +205,8 @@
<th>Nama</th>
<th>Marhun</th>
<th>Nota</th>
<th>Berat</th>
<th>Berat Permata</th>
<th>Berat Bersih</th>
<th>Karat</th>
<th>Harga</th>
<th>N.Marhun</th>
@@ -219,7 +220,8 @@
<td>{{$item['nokp']}}</td>
<td>{{$item['nama']}}</td>
<td>{{$item['marhun']}}</td>
<td>{{$item['nota']}}</td>
<td>{{$item['tag_permata'] == 1 ? '(PMT) ' : ''}}{{$item['nota']}}</td>
<td>{{$item['berat_batu_permata']}}</td>
<td>{{$item['berat']}}</td>
<td>{{$item['karat']}}</td>
<td>{{$item['harga']}}</td>
@@ -228,7 +230,9 @@
@php $counter++;$totalberat += $item['berat'];$totalnm += $item['n_marhun'];@endphp
@endforeach
<tr>
<td colspan="3"><b>JUMLAH(RM)</b></td>
<td colspan="2"><b>JUMLAH(RM)</b></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
@@ -147,6 +147,27 @@
padding:4px;
color:black;
}
.main-table {
border-collapse: collapse;
width: 100%;
}
.main-table td,
.main-table th {
border: 1px solid #ddd;
padding: 2px;
font-size: 9px;
}
.main-table th {
padding-top: 12px;
padding-bottom: 12px;
text-align: center;
background-color: #d0d2d063;
color: black;
padding: 5px;
}
</style>
@@ -265,6 +286,34 @@
<td><b>RM {{ number_format($lelong['jumlah'],2) }}</b></td>
<th></th>
</tr>
<tr>
<th>Jumlah Bayaran</th>
<td><b>RM {{ number_format($lelong['jumlah'],2) }}</b></td>
<th></th>
</tr>
</table>
<table class="main-table" id="details" style="text-align:center; width:70%;border:1px solid black; margin-top:20px {{ ($batuPermataExist == false) ? 'display:none' : '' }}">
<tr>
<th style="text-align: center">Bil</th>
<th style="text-align: center">Marhun</th>
<th style="text-align: center">Karat</th>
<th style="text-align: center">Berat(g)</th>
<th style="text-align: center">Nota</th>
<th style="text-align: center">Berat Permata(g)</th>
</tr>
@foreach($marhuns[0] as $marhun)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $marhun['marhun'] }}</td>
<td>{{ $marhun['karat'] }}</td>
<td>{{ $marhun['berat'] }}</td>
<td>{{ $marhun['tag_permata'] == 1 ? '(PMT) ' : '' }}{{ $marhun['nota'] }}</td>
<td>{{ $marhun['tag_permata'] == 1 ? $marhun['berat_batu_permata'] : '-' }}</td>
</tr>
@endforeach
</table>
<table id="details">
<td>*Sila semak batu permata.</td>
</table>
<br>
+5 -5
View File
@@ -317,9 +317,9 @@
<script>
$(document).ready(function() {
window.print();
// window.onfocus = function() {
// window.close();
// }
window.onfocus = function() {
window.close();
}
});
</script>
</head>
@@ -473,7 +473,7 @@
echo $marhun['descpt'];
@endphp
</td>
<td>{{ $marhun_detail[$i]['nota'] }}</td>
<td>{{ $marhun_detail[$i]['tag_permata'] == 1 ? '(P) ' : '' }}{{ $marhun_detail[$i]['nota'] }}</td>
<td>{{ $marhun_detail[$i]['bil'] }}</td>
<td>{{ $marhun_detail[$i]['karat'] }}</td>
<td>{{ $marhun_detail[$i]['harga'] }}</td>
@@ -1300,7 +1300,7 @@
echo $marhun['descpt'];
@endphp
</td>
<td>{{ $marhun_detail[$i]['nota'] }}</td>
<td>{{ $marhun_detail[$i]['tag_permata'] == 1 ? '(P) ' : '' }}{{ $marhun_detail[$i]['nota'] }}</td>
<td>{{ $marhun_detail[$i]['bil'] }}</td>
<td>{{ $marhun_detail[$i]['karat'] }}</td>
<td>{{ $marhun_detail[$i]['harga'] }}</td>