penggabungan feature proses penawaran dan feature proses penawaran ulang, dan terkait keinginan user

This commit is contained in:
Andy Chaerudin
2024-11-13 16:40:52 +07:00
27 changed files with 1850 additions and 403 deletions

View File

@@ -39,6 +39,7 @@
$("#textReg").text(response.penawaran.nomor_registrasi);
$("#textCodePenawaran").text(response.penawaran.code);
setTablesKJPP1(response.penawrandetails);
setKJPPList(response.kjpps);
}
else if('error' == response.status)
{
@@ -53,28 +54,64 @@
});
}
function setKJPPList(datas)
{
$('#{{$route[1]}}_kjpps').empty().append('<option value="0"> - Pilih KJPP - </option>');
$.each(datas, function(key, value){
var stringVal = value.code+' - '+value.name;
$('#{{$route[1]}}_kjpps').append(new Option(stringVal, value.id));
});
}
function setTablesKJPP1(datas)
{
let i=1;
$.each(datas, function(key, value){
var kjppName = value.kjpp_code+' - '+value.kjpp_name;
var biaya_penawaran = value.biaya_penawaran;// alert(biaya_penawaran);
var no_proposal = (value.no_proposal)??'';// alert(no_proposal);
var tgl_proposal = (value.tgl_proposal)??'';// alert(tgl_proposal);
var htmlDokumenPersetujuanDownload='';
var dokumenPersetujuanDownload = value.dokumen_persetujuan;
if(dokumenPersetujuanDownload)
{
htmlDokumenPersetujuanDownload='<div class="flex items-center justify-between flex-wrap my-2.5 gap-2"><a href="'+value.dokumen_persetujuan+'" class="badge badge-sm badge-outline" download="'+value.attachment+'">'+value.attachment+'<i class="ki-filled ki-cloud-download"></i></a></div>';
htmlDokumenPersetujuanDownload='<div class="flex items-center justify-between flex-wrap my-2.5 gap-2"><a href="'+value.dokumen_persetujuan+'" class="badge badge-sm badge-outline" download="'+value.attachment+'">'+value.attachment+' &nbsp;<i class="ki-filled ki-cloud-download"></i></a></div>';
}
var markup = '<tr>';
markup +='<td valign="top">'+i+'</td>';
markup +='<td valign="top"><label id="{{$route[1]}}_kjppName_'+value.id+'">'+kjppName+'</label></td>';
markup +='<td valign="top"><div class="input-group"><span class="inputku btn btn-input" id="{{$route[1]}}_rp_'+value.id+'">Rp.</span><input type="text" disabled="" style="text-align: right;" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" class="inputku input" id="{{$route[1]}}_biayaPenawaran_'+value.id+'" name="{{$route[1]}}_biayaPenawaran_'+value.id+'"></div><em id="{{$route[1]}}_biayaPenawaran_msg_'+value.id+'" class="alert text-danger text-sm"></em></td>';
markup +='<td><input type="file" disabled="" class="inputku file-input" id="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" name="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" accept="application/pdf" /><em id="{{$route[1]}}_dokumenPersetujuan_msg_'+value.id+'" class="alert text-danger text-sm"></em>'+htmlDokumenPersetujuanDownload+'</td>';
markup +='<td><div class="flex flex-nowrap justify-center">';
markup +='<a disabled="" class="btn btn-sm btn-icon btn-clear btn-info" href="javascript:void(0)" id="{{$route[1]}}_icon_update_'+value.id+'" title="Proses Penawaran '+kjppName+'" onclick="updateData('+value.id+','+value.kjpp_rekanan_id+',\''+kjppName+'\')"><i class="ki-outline ki-bookmark"></i></a>';
markup +='<a disabled="" class="delete btn btn-sm btn-icon btn-clear btn-danger" id="{{$route[1]}}_icon_delete_'+value.id+'" onclick="deleteData('+value.id+',\''+kjppName+'\')" title="Hapus Proses Penawaran '+kjppName+'"><i class="ki-outline ki-trash"></i></a>';
markup +='<label class="switch"><input name="{{$route[1]}}_check_'+value.id+'" id="{{$route[1]}}_check_'+value.id+'" onclick="switchProses('+value.id+')" type="checkbox" value="0"/><span class="switch-label">Proses</span></label></div></td>';
// No Proposal
markup +='<td valign="top">';
markup +='<input type="hidden" id="{{$route[1]}}_penawarandetail_id_'+value.id+'" name="{{$route[1]}}_penawarandetail_id[]" value="'+value.id+'">';
markup +='<input type="text" value="'+no_proposal+'" class="inputku file-input" id="{{$route[1]}}_no_proposal_'+value.id+'" name="{{$route[1]}}_no_proposal[]">';
markup +='<em id="{{$route[1]}}_no_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
markup +='</td>';
// No Proposal
// Tanggal Proposal
markup +='<td valign="top">';
markup +='<input type="date" value="'+tgl_proposal+'" class="inputku file-input" id="{{$route[1]}}_tgl_proposal_'+value.id+'" name="{{$route[1]}}_tgl_proposal[]" >';
markup +='<em id="{{$route[1]}}_tgl_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
markup +='</td>';
// Tanggal Proposal
// Biaya Penawaran
markup +='<td valign="top">';
markup +='<div class="input-group"><span class="inputku btn btn-input" id="{{$route[1]}}_rp_'+value.id+'">Rp.</span><input type="text" style="text-align: right;" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);" class="inputku input" id="{{$route[1]}}_biayaPenawaran_'+value.id+'" name="{{$route[1]}}_biayaPenawaran[]"></div>';
markup +='<em id="{{$route[1]}}_biayaPenawaran_msg_'+value.id+'" class="alert text-danger text-sm"></em>';
markup +='</td>';
// Biaya Penawaran
// Upload Penawaran
markup +='<td valign="top">';
markup +='<input type="file" class="inputku file-input" id="{{$route[1]}}_dokumenPersetujuan_'+value.id+'" name="{{$route[1]}}_dokumenPersetujuan[]" accept="application/pdf" />';
markup +='<em id="{{$route[1]}}_dokumenPersetujuan_msg_'+value.id+'" class="alert text-danger text-sm"></em>'+htmlDokumenPersetujuanDownload;
markup +='</td>';
// Upload Penawaran
markup +='<td valign="top"><div class="flex flex-nowrap justify-center">';
markup +='<a class="btn btn-sm btn-icon btn-clear btn-info" href="javascript:void(0)" id="{{$route[1]}}_icon_update_'+value.id+'" title="Proses Penawaran '+kjppName+'" onclick="updateData('+value.id+','+value.kjpp_rekanan_id+',\''+kjppName+'\')"><i class="ki-outline ki-bookmark"></i></a>';
markup +='<a class="delete btn btn-sm btn-icon btn-clear btn-danger" id="{{$route[1]}}_icon_delete_'+value.id+'" onclick="deleteData('+value.id+',\''+kjppName+'\')" title="Hapus Proses Penawaran '+kjppName+'"><i class="ki-outline ki-trash"></i></a>';
markup +='</div></td>';
markup += '</tr>';
$('#tbodyKJPP1').append(markup);
@@ -84,10 +121,11 @@
if(biaya_penawaran)
biaya_penawaran_format=tandaPemisahTitik(biaya_penawaran);
$("#{{$route[1]}}_biayaPenawaran_"+value.id).val(biaya_penawaran_format);
i++;
});
}
$(document).on("input", "input:file", function(e) {
let fileName = e.target.files[0].name;
let inputFile = e.target.id;
@@ -107,7 +145,7 @@
// updateAll penawaran & permohonan status
$("#{{$route[1]}}_toEdit").click(function(e) {
e.preventDefault();
// $id = penawaran.id
//define variable
let token = "{{ csrf_token() }}";
let useURL = "{{ route($route[0].'.'.$route[1].'.updateAll',$id) }}";
@@ -150,5 +188,106 @@
});
});
$('#form_{{$route[1]}}').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
//define variable
let token = "{{ csrf_token() }}";
let useURL = "{{ route($route[0].'.'.$route[1].'.updateDraft',$id) }}";
formData.append('_token', token);
formData.append('_method', 'PUT');
$.ajax({
url: useURL,
type: "POST",
data: formData,
cache: false,
processData: false,
contentType: false,
success: function(response) {
console.log(response);
if ('success' == response.status)
{
// toastr.success(response.message);
// success
var message = response.message;
toastrku("success", message);
setTimeout(function () {
location.reload(true);
}, 2000);
//
}
else if('error' == response.status)
{
var message = response.message;
toastrku("error", message);
}
},
error: function(response, textStatus, errorThrown) {
// var errors = response.responseJSON.errors;
// console.log(errors);
console.log(response);
}
});
});
$("#{{$route[1]}}_toAddKJPP").click(function(e) {
e.preventDefault();
let kjpp_id = $("#{{$route[1]}}_kjpps").val();
let id = $("#id").val();
let token = "{{ csrf_token() }}";
let useURL = "{{ route($route[0].'.'.$route[1].'.store') }}";
var input_data = new Object();
input_data._token= token;
input_data.kjpp_id= kjpp_id;
input_data.penawaran_id= id;
if(kjpp_id>0)
{
$.ajax({
url: useURL,
type: "POST",
cache: false,
data: input_data,
success:function(response){
if ('success' == response.status)
{
// toastr.success(response.message);
// success
var message = response.message;
toastrku("success", message);
setTimeout(function () {
location.reload(true);
}, 2000);
}
else if('error' == response.status)
{
var message = response.message;
toastrku("error", message);
}
},
error: function (response, textStatus, errorThrown) {
console.log(response);
}
});
}
else
{
swal.fire({
title: "Perhatikan",
text: "Silahkan pilih KJPP terlebih dahulu",
icon: "error"
});
}
});
</script>
@endpush
@endpush