Memperbaiki missing required pada routes prosespenawaran
This commit is contained in:
@@ -1,147 +1,139 @@
|
|||||||
<script tipe="module">
|
<script tipe="module">
|
||||||
function switchProses(id)
|
function switchProses(id) {
|
||||||
{
|
|
||||||
|
|
||||||
let c = $('#{{$route[1]}}_check_'+id).val();
|
let c = $('#{{ $route[1] }}_check_' + id).val();
|
||||||
|
|
||||||
if($('input[name="{{$route[1]}}_check_'+id+'"]').is(':checked'))
|
if ($('input[name="{{ $route[1] }}_check_' + id + '"]').is(':checked')) {
|
||||||
{
|
// checked
|
||||||
// checked
|
// alert('aktif nih');
|
||||||
// alert('aktif nih');
|
setActiveElement(id);
|
||||||
setActiveElement(id);
|
} else {
|
||||||
}else
|
// unchecked
|
||||||
{
|
//alert('tdk aktif nih');
|
||||||
// unchecked
|
setNonActiveElement(id);
|
||||||
//alert('tdk aktif nih');
|
}
|
||||||
setNonActiveElement(id);
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function setActiveElement(id)
|
function setActiveElement(id) {
|
||||||
{
|
$('#{{ $route[1] }}_biayaPenawaran_' + id).removeAttr('disabled');
|
||||||
$('#{{$route[1]}}_biayaPenawaran_'+id).removeAttr('disabled');
|
$('#{{ $route[1] }}_dokumenPersetujuan_' + id).removeAttr('disabled');
|
||||||
$('#{{$route[1]}}_dokumenPersetujuan_'+id).removeAttr('disabled');
|
$('#{{ $route[1] }}_icon_update_' + id).removeAttr('disabled');
|
||||||
$('#{{$route[1]}}_icon_update_'+id).removeAttr('disabled');
|
$('#{{ $route[1] }}_icon_delete_' + id).removeAttr('disabled');
|
||||||
$('#{{$route[1]}}_icon_delete_'+id).removeAttr('disabled');
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function setNonActiveElement(id)
|
function setNonActiveElement(id) {
|
||||||
{
|
$('#{{ $route[1] }}_biayaPenawaran_' + id).attr('disabled', 'disabled');
|
||||||
$('#{{$route[1]}}_biayaPenawaran_'+id).attr('disabled', 'disabled');
|
$('#{{ $route[1] }}_dokumenPersetujuan_' + id).attr('disabled', 'disabled');
|
||||||
$('#{{$route[1]}}_dokumenPersetujuan_'+id).attr('disabled', 'disabled');
|
$('#{{ $route[1] }}_icon_update_' + id).attr('disabled', 'disabled');
|
||||||
$('#{{$route[1]}}_icon_update_'+id).attr('disabled', 'disabled');
|
$('#{{ $route[1] }}_icon_delete_' + id).attr('disabled', 'disabled');
|
||||||
$('#{{$route[1]}}_icon_delete_'+id).attr('disabled', 'disabled');
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function updateData(id, kjpp_id, kjppName){
|
function updateData(id, kjpp_id, kjppName) {
|
||||||
// id => detail_penawaran.id
|
// id => detail_penawaran.id
|
||||||
removeErrorCssMsg();
|
removeErrorCssMsg();
|
||||||
let no_proposal = $("#{{$route[1]}}_no_proposal_"+id).val();
|
let no_proposal = $("#{{ $route[1] }}_no_proposal_" + id).val();
|
||||||
let tgl_proposal = $("#{{$route[1]}}_tgl_proposal_"+id).val();
|
let tgl_proposal = $("#{{ $route[1] }}_tgl_proposal_" + id).val();
|
||||||
let biaya = $("#{{$route[1]}}_biayaPenawaran_"+id).val();
|
let biaya = $("#{{ $route[1] }}_biayaPenawaran_" + id).val();
|
||||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
let filepdf = $("#{{ $route[1] }}_dokumenPersetujuan_" + id).val();
|
||||||
let passednih = true;
|
let passednih = true;
|
||||||
|
|
||||||
if(passednih)
|
if (passednih) {
|
||||||
{
|
var file_data = $("#{{ $route[1] }}_dokumenPersetujuan_" + id).prop("files")[0];
|
||||||
var file_data = $("#{{$route[1]}}_dokumenPersetujuan_"+id).prop("files")[0];
|
let baseURL = "{{ route($route[0] . '.' . $route[1] . '.update', ['id' => '___ID___']) }}";
|
||||||
let useURL = "{{ route($route[0].'.'.$route[1].'.update', '') }}/"+id;
|
let useURL = baseURL.replace('___ID___', id);
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
let token = "{{ csrf_token() }}";
|
let token = "{{ csrf_token() }}";
|
||||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
formData.append("dokumen_persetujuan", file_data ?? "");
|
||||||
formData.append("no_proposal", no_proposal);
|
formData.append("no_proposal", no_proposal);
|
||||||
formData.append("tgl_proposal", tgl_proposal);
|
formData.append("tgl_proposal", tgl_proposal);
|
||||||
formData.append("biaya_penawaran", biaya);
|
formData.append("biaya_penawaran", biaya);
|
||||||
formData.append("kjpp_rekanan_id", kjpp_id);
|
formData.append("kjpp_rekanan_id", kjpp_id);
|
||||||
formData.append("_method", "PUT");
|
formData.append("_method", "PUT");
|
||||||
formData.append("_token", token);
|
formData.append("_token", token);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: useURL,
|
url: useURL,
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: formData,
|
data: formData,
|
||||||
processData: false,
|
processData: false,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
success:function(response){
|
success: function(response) {
|
||||||
if('success' == response.status)
|
if ('success' == response.status) {
|
||||||
{
|
// toastr.success(response.message);
|
||||||
// toastr.success(response.message);
|
// success
|
||||||
// success
|
var message = response.message;
|
||||||
var message = response.message;
|
toastrku("success", message);
|
||||||
toastrku("success", message);
|
setTimeout(function() {
|
||||||
setTimeout(function () {
|
location.reload(true);
|
||||||
location.reload(true);
|
}, 2000);
|
||||||
}, 2000);
|
} else if ('error' == response.status) {
|
||||||
}
|
// toastr.error(response.message);
|
||||||
else if('error' == response.status)
|
var message = response.message;
|
||||||
{
|
toastrku("error", message);
|
||||||
// toastr.error(response.message);
|
}
|
||||||
var message = response.message;
|
|
||||||
toastrku("error", message);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
error: function (response, textStatus, errorThrown) {
|
error: function(response, textStatus, errorThrown) {
|
||||||
var errors = response.responseJSON.errors;
|
var errors = response.responseJSON.errors;
|
||||||
$.each(errors, function (key, value) {
|
$.each(errors, function(key, value) {
|
||||||
console.log("v = " + value);
|
console.log("v = " + value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteData(data, kjppName) {
|
function deleteData(data, kjppName) {
|
||||||
// data => detail_penawaran.id
|
// data => detail_penawaran.id
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
title: 'Are you sure?',
|
title: 'Are you sure?',
|
||||||
text: "You won't be able to revert KJPP "+kjppName+"!",
|
text: "You won't be able to revert KJPP " + kjppName + "!",
|
||||||
icon: 'warning',
|
icon: 'warning',
|
||||||
showCancelButton: true,
|
showCancelButton: true,
|
||||||
confirmButtonColor: '#3085d6',
|
confirmButtonColor: '#3085d6',
|
||||||
cancelButtonColor: '#d33',
|
cancelButtonColor: '#d33',
|
||||||
confirmButtonText: 'Yes, delete it!'
|
confirmButtonText: 'Yes, delete it!'
|
||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
if (result.isConfirmed) {
|
if (result.isConfirmed) {
|
||||||
|
|
||||||
//define variable
|
//define variable
|
||||||
let token = "{{ csrf_token() }}";
|
let token = "{{ csrf_token() }}";
|
||||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data;
|
let baseURL =
|
||||||
var input_data = new Object();
|
"{{ route($route[0] . '.' . $route[1] . '.updateKJPPStatus', ['prosespenawaranKJPPStatus' => '___ID___']) }}";
|
||||||
input_data._token = token;
|
let useURL = baseURL.replace('___ID___', data);
|
||||||
input_data.id =data;
|
var input_data = new Object();
|
||||||
input_data.kjppName =kjppName;
|
input_data._token = token;
|
||||||
$.ajax({
|
input_data.id = data;
|
||||||
url: useURL,
|
input_data.kjppName = kjppName;
|
||||||
type: "PUT",
|
$.ajax({
|
||||||
cache: false,
|
url: useURL,
|
||||||
data: input_data,
|
type: "PUT",
|
||||||
dataType: "json",
|
cache: false,
|
||||||
success: function(response) {
|
data: input_data,
|
||||||
|
dataType: "json",
|
||||||
|
success: function(response) {
|
||||||
|
|
||||||
if('success' == response.status)
|
if ('success' == response.status) {
|
||||||
{
|
swal.fire('Deleted!', response.message.message_success[0], 'success')
|
||||||
swal.fire('Deleted!', response.message.message_success[0], 'success').then(() => {
|
.then(() => {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
});
|
});
|
||||||
}
|
} else {
|
||||||
else
|
Swal.fire('Error!', response.message.message_error[0], 'error');
|
||||||
{
|
}
|
||||||
Swal.fire('Error!', response.message.message_error[0], 'error');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
error: function(response, textStatus, errorThrown) {
|
error: function(response, textStatus, errorThrown) {
|
||||||
// var errors = response.responseJSON.errors;
|
// var errors = response.responseJSON.errors;
|
||||||
// console.log(errors);
|
// console.log(errors);
|
||||||
console.log(response);
|
console.log(response);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -2,355 +2,353 @@
|
|||||||
@include('lpj::assetsku.includenya')
|
@include('lpj::assetsku.includenya')
|
||||||
@include('lpj::prosespenawaran.js.editextjs')
|
@include('lpj::prosespenawaran.js.editextjs')
|
||||||
<script type="module">
|
<script type="module">
|
||||||
|
$(document).ready(function() {
|
||||||
$(document).ready(function() {
|
prepareForm();
|
||||||
prepareForm();
|
|
||||||
});
|
|
||||||
|
|
||||||
function prepareForm()
|
|
||||||
{
|
|
||||||
setData();
|
|
||||||
}
|
|
||||||
|
|
||||||
function setData()
|
|
||||||
{
|
|
||||||
let id = $("#id").val();
|
|
||||||
let token = "{{ csrf_token() }}";
|
|
||||||
// alert('token = ' + token);
|
|
||||||
var useURL = "{{ route('tender.prosespenawaran.setData') }}";
|
|
||||||
var input_data = new Object();
|
|
||||||
input_data._token = token;
|
|
||||||
input_data.id = id;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
url: useURL,
|
|
||||||
type: "POST",
|
|
||||||
data: input_data,
|
|
||||||
dataType: "json",
|
|
||||||
beforeSend: function() {
|
|
||||||
// if ($("#myLoader").hasClass("pre-loader hidden")) {
|
|
||||||
// pleaseStartLoader();
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
success: function(response) {
|
|
||||||
console.log(response);
|
|
||||||
if ('success' == response.status)
|
|
||||||
{
|
|
||||||
$("#namaDebitur").text(response.penawaran.permohonan.debiture.name);
|
|
||||||
$("#textReg").text(response.penawaran.nomor_registrasi);
|
|
||||||
$("#textCodePenawaran").text(response.penawaran.code);
|
|
||||||
setTablesKJPP1(response.penawrandetails);
|
|
||||||
setKJPPList(response.kjpps);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
else if('error' == response.status)
|
|
||||||
{
|
|
||||||
var message = response.message;
|
|
||||||
toastrku("error", message);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error: function(xhr) {
|
|
||||||
},
|
|
||||||
complete: function() {
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
function setKJPPList(datas)
|
function prepareForm() {
|
||||||
{
|
setData();
|
||||||
$('#{{$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)
|
|
||||||
{
|
|
||||||
// value.id => detail_penawaran.id
|
|
||||||
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>';
|
|
||||||
}
|
|
||||||
|
|
||||||
var markup = '<tr>';
|
|
||||||
markup +='<td valign="top">'+i+'</td>';
|
|
||||||
markup +='<td valign="top"><label id="{{$route[1]}}_kjppName_'+value.id+'">'+kjppName+'</label></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);
|
|
||||||
|
|
||||||
// pengecekan kondisi format number
|
|
||||||
var biaya_penawaran_format = "";
|
|
||||||
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;
|
|
||||||
const myArray = inputFile.split("_");
|
|
||||||
let penawaranID = myArray[myArray.length-1];
|
|
||||||
let kjppName = $("#{{$route[1]}}_kjppName_"+penawaranID).text();
|
|
||||||
let upld = fileName.split(".").pop();
|
|
||||||
if(upld == "pdf" || upld =="PDF"){}
|
|
||||||
else{
|
|
||||||
removeErrorCssMsg();
|
|
||||||
$("#{{$route[1]}}_dokumenPersetujuan_"+penawaranID).addClass(" border-danger");
|
|
||||||
$("#{{$route[1]}}_dokumenPersetujuan_msg_"+penawaranID).text("Silahkan Masukan tipe file PDF Mas");
|
|
||||||
$("#"+inputFile).val("");
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
// updateAll penawaran & permohonan status
|
function setData() {
|
||||||
$("#{{$route[1]}}_toEdit").click(function(e) {
|
let id = $("#id").val();
|
||||||
e.preventDefault();
|
let token = "{{ csrf_token() }}";
|
||||||
// $id = penawaran.id
|
// alert('token = ' + token);
|
||||||
//define variable
|
var useURL = "{{ route('tender.prosespenawaran.setData') }}";
|
||||||
let token = "{{ csrf_token() }}";
|
var input_data = new Object();
|
||||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateAll',$id) }}";
|
input_data._token = token;
|
||||||
|
input_data.id = id;
|
||||||
|
|
||||||
var input_data = new Object();
|
|
||||||
input_data._token = token;
|
|
||||||
input_data.id = "{{ $id }}";
|
|
||||||
$.ajax({
|
|
||||||
url: useURL,
|
|
||||||
type: "PUT",
|
|
||||||
cache: false,
|
|
||||||
data: input_data,
|
|
||||||
dataType: "json",
|
|
||||||
success: function(response) {
|
|
||||||
|
|
||||||
if ('success' == response.status)
|
|
||||||
{
|
|
||||||
// toastr.success(response.message);
|
|
||||||
// success
|
|
||||||
var message = response.message;
|
|
||||||
toastrku("success", message);
|
|
||||||
setTimeout(function () {
|
|
||||||
var url = "{{ route('tender.prosespenawaran.index') }}";
|
|
||||||
$(location).attr('href',url);
|
|
||||||
}, 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);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#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({
|
$.ajax({
|
||||||
url: useURL,
|
url: useURL,
|
||||||
type: "POST",
|
type: "POST",
|
||||||
cache: false,
|
|
||||||
data: input_data,
|
data: input_data,
|
||||||
success:function(response){
|
dataType: "json",
|
||||||
|
beforeSend: function() {
|
||||||
if ('success' == response.status)
|
// if ($("#myLoader").hasClass("pre-loader hidden")) {
|
||||||
{
|
// pleaseStartLoader();
|
||||||
// toastr.success(response.message);
|
// }
|
||||||
// success
|
},
|
||||||
var message = response.message;
|
success: function(response) {
|
||||||
toastrku("success", message);
|
if ('success' == response.status) {
|
||||||
setTimeout(function () {
|
$("#namaDebitur").text(response.penawaran.permohonan.debiture.name);
|
||||||
location.reload(true);
|
$("#textReg").text(response.penawaran.nomor_registrasi);
|
||||||
}, 2000);
|
$("#textCodePenawaran").text(response.penawaran.code);
|
||||||
}
|
setTablesKJPP1(response.penawrandetails);
|
||||||
else if('error' == response.status)
|
setKJPPList(response.kjpps);
|
||||||
{
|
} else if ('error' == response.status) {
|
||||||
var message = response.message;
|
var message = response.message;
|
||||||
toastrku("error", message);
|
toastrku("error", message);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function (response, textStatus, errorThrown) {
|
error: function(xhr) {},
|
||||||
console.log(response);
|
complete: function() {}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
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) {
|
||||||
|
// value.id => detail_penawaran.id
|
||||||
|
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>';
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
var markup = '<tr>';
|
||||||
}
|
markup += '<td valign="top">' + i + '</td>';
|
||||||
else
|
markup += '<td valign="top"><label id="{{ $route[1] }}_kjppName_' + value.id + '">' + kjppName +
|
||||||
{
|
'</label></td>';
|
||||||
swal.fire({
|
// No Proposal
|
||||||
title: "Perhatikan",
|
markup += '<td valign="top">';
|
||||||
text: "Silahkan pilih KJPP terlebih dahulu",
|
markup += '<input type="hidden" id="{{ $route[1] }}_penawarandetail_id_' + value.id +
|
||||||
icon: "error"
|
'" 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);
|
||||||
|
|
||||||
|
// pengecekan kondisi format number
|
||||||
|
var biaya_penawaran_format = "";
|
||||||
|
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;
|
||||||
|
const myArray = inputFile.split("_");
|
||||||
|
let penawaranID = myArray[myArray.length - 1];
|
||||||
|
let kjppName = $("#{{ $route[1] }}_kjppName_" + penawaranID).text();
|
||||||
|
let upld = fileName.split(".").pop();
|
||||||
|
if (upld == "pdf" || upld == "PDF") {} else {
|
||||||
|
removeErrorCssMsg();
|
||||||
|
$("#{{ $route[1] }}_dokumenPersetujuan_" + penawaranID).addClass(" border-danger");
|
||||||
|
$("#{{ $route[1] }}_dokumenPersetujuan_msg_" + penawaranID).text(
|
||||||
|
"Silahkan Masukan tipe file PDF Mas");
|
||||||
|
$("#" + inputFile).val("");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// update status
|
// updateAll penawaran & permohonan status
|
||||||
$("#{{$route[1]}}_toProsesPenawaran").click(function(e) {
|
$("#{{ $route[1] }}_toEdit").click(function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
// $id = penawaran.id
|
||||||
|
//define variable
|
||||||
|
let token = "{{ csrf_token() }}";
|
||||||
|
let useURL = "{{ route($route[0] . '.' . $route[1] . '.updateAll', $id) }}";
|
||||||
|
|
||||||
Swal.fire({
|
var input_data = new Object();
|
||||||
title: ' ',
|
input_data._token = token;
|
||||||
text: "Yakin akan Penawaran ulang?",
|
input_data.id = "{{ $id }}";
|
||||||
icon: 'warning',
|
$.ajax({
|
||||||
showCancelButton: true,
|
url: useURL,
|
||||||
confirmButtonColor: '#3085d6',
|
type: "PUT",
|
||||||
cancelButtonColor: '#d33',
|
cache: false,
|
||||||
confirmButtonText: 'Yes'
|
data: input_data,
|
||||||
}).then((result) => {
|
dataType: "json",
|
||||||
if (result.isConfirmed)
|
success: function(response) {
|
||||||
{
|
|
||||||
//define variable
|
|
||||||
// $id ==> penawaran.id
|
|
||||||
let token = "{{ csrf_token() }}";
|
|
||||||
let noReg = $("#textReg").text();
|
|
||||||
let useURL = "{{ route('otorisasitender.penawaran.penawaranulang',$id) }}";
|
|
||||||
|
|
||||||
var input_data = new Object();
|
if ('success' == response.status) {
|
||||||
input_data._token = token;
|
// toastr.success(response.message);
|
||||||
input_data.id = "{{ $id }}";
|
// success
|
||||||
input_data.noReg =noReg;
|
var message = response.message;
|
||||||
// alert('url = ' + useURL);
|
toastrku("success", message);
|
||||||
|
setTimeout(function() {
|
||||||
|
var url = "{{ route('tender.prosespenawaran.index') }}";
|
||||||
|
$(location).attr('href', url);
|
||||||
|
}, 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);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#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({
|
$.ajax({
|
||||||
url: useURL,
|
url: useURL,
|
||||||
type: "PUT",
|
type: "POST",
|
||||||
cache: false,
|
cache: false,
|
||||||
data: input_data,
|
data: input_data,
|
||||||
dataType: "json",
|
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
console.log(response);
|
|
||||||
if('success' == response.status)
|
|
||||||
{
|
|
||||||
swal.fire('Sukses Penawaran ulang!', response.message.message_success[0], 'success').then(() => {
|
|
||||||
var url = "{{ route('tender.prosespenawaran.index') }}";
|
|
||||||
$(location).attr('href',url);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Swal.fire('Error!', response.message.message_error[0], 'error');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
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) {
|
error: function(response, textStatus, errorThrown) {
|
||||||
// var errors = response.responseJSON.errors;
|
|
||||||
// console.log(errors);
|
|
||||||
console.log(response);
|
console.log(response);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
swal.fire({
|
||||||
|
title: "Perhatikan",
|
||||||
|
text: "Silahkan pilih KJPP terlebih dahulu",
|
||||||
|
icon: "error"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// update status
|
||||||
|
$("#{{ $route[1] }}_toProsesPenawaran").click(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
Swal.fire({
|
||||||
|
title: ' ',
|
||||||
|
text: "Yakin akan Penawaran ulang?",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
//define variable
|
||||||
|
// $id ==> penawaran.id
|
||||||
|
let token = "{{ csrf_token() }}";
|
||||||
|
let noReg = $("#textReg").text();
|
||||||
|
let useURL = "{{ route('otorisasitender.penawaran.penawaranulang', $id) }}";
|
||||||
|
|
||||||
|
var input_data = new Object();
|
||||||
|
input_data._token = token;
|
||||||
|
input_data.id = "{{ $id }}";
|
||||||
|
input_data.noReg = noReg;
|
||||||
|
// alert('url = ' + useURL);
|
||||||
|
$.ajax({
|
||||||
|
url: useURL,
|
||||||
|
type: "PUT",
|
||||||
|
cache: false,
|
||||||
|
data: input_data,
|
||||||
|
dataType: "json",
|
||||||
|
success: function(response) {
|
||||||
|
console.log(response);
|
||||||
|
if ('success' == response.status) {
|
||||||
|
swal.fire('Sukses Penawaran ulang!', response.message
|
||||||
|
.message_success[0], 'success').then(() => {
|
||||||
|
var url =
|
||||||
|
"{{ route('tender.prosespenawaran.index') }}";
|
||||||
|
$(location).attr('href', url);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Swal.fire('Error!', response.message.message_error[0], 'error');
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function(response, textStatus, errorThrown) {
|
||||||
|
// var errors = response.responseJSON.errors;
|
||||||
|
// console.log(errors);
|
||||||
|
console.log(response);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::post('registrasi/setData', 'setData')->name('registrasi.setData');
|
Route::post('registrasi/setData', 'setData')->name('registrasi.setData');
|
||||||
Route::get('/registrasi/{registrasi}/edit', 'edit')->name('registrasi.edit');
|
Route::get('/registrasi/{registrasi}/edit', 'edit')->name('registrasi.edit');
|
||||||
Route::put('/registrasi/{registrasi}', 'update')->name('registrasi.update');
|
Route::put('/registrasi/{registrasi}', 'update')->name('registrasi.update');
|
||||||
|
|
||||||
});
|
});
|
||||||
// andy add
|
// andy add
|
||||||
|
|
||||||
@@ -45,7 +44,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::post('prosespenawaran/setData', 'setData')->name('prosespenawaran.setData');
|
Route::post('prosespenawaran/setData', 'setData')->name('prosespenawaran.setData');
|
||||||
|
|
||||||
// update one
|
// update one
|
||||||
Route::put('/prosespenawaran/{prosespenawaran}', 'update')->name('prosespenawaran.update');
|
Route::put('/prosespenawaran/{id}', 'update')->name('prosespenawaran.update');
|
||||||
// update all
|
// update all
|
||||||
Route::put('/prosespenawaranAll/{prosespenawaranAll}', 'updateAll')->name('prosespenawaran.updateAll');
|
Route::put('/prosespenawaranAll/{prosespenawaranAll}', 'updateAll')->name('prosespenawaran.updateAll');
|
||||||
// update draft
|
// update draft
|
||||||
@@ -132,7 +131,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::controller(PembayaranController::class)->group(function () {
|
Route::controller(PembayaranController::class)->group(function () {
|
||||||
Route::get('/pembayaran', 'index')->name('pembayaran.index');
|
Route::get('/pembayaran', 'index')->name('pembayaran.index');
|
||||||
Route::get('/pembayaran/{pembayaran}/edit', 'edit')->name('pembayaran.edit');
|
Route::get('/pembayaran/{pembayaran}/edit', 'edit')->name('pembayaran.edit');
|
||||||
Route::post('pembayaran','store')->name('pembayaran.store');
|
Route::post('pembayaran', 'store')->name('pembayaran.store');
|
||||||
Route::get('/pembayaran/datatables', 'dataForDatatables')->name('pembayaran.datatables');
|
Route::get('/pembayaran/datatables', 'dataForDatatables')->name('pembayaran.datatables');
|
||||||
|
|
||||||
Route::put('/pembayaran/{pembayaran}', 'update')->name('pembayaran.update');
|
Route::put('/pembayaran/{pembayaran}', 'update')->name('pembayaran.update');
|
||||||
|
|||||||
Reference in New Issue
Block a user