Memperbaiki missing required pada routes prosespenawaran

This commit is contained in:
2025-04-17 11:31:51 +07:00
parent 399217e102
commit 7dcff96536
3 changed files with 454 additions and 465 deletions

View File

@@ -1,32 +1,27 @@
<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 // unchecked
//alert('tdk aktif nih'); //alert('tdk aktif nih');
setNonActiveElement(id); 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');
@@ -42,10 +37,10 @@
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 useURL = "{{ route($route[0].'.'.$route[1].'.update', '') }}/"+id; let baseURL = "{{ route($route[0] . '.' . $route[1] . '.update', ['id' => '___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 ?? "");
@@ -62,8 +57,7 @@
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;
@@ -71,9 +65,7 @@
setTimeout(function() { setTimeout(function() {
location.reload(true); location.reload(true);
}, 2000); }, 2000);
} } else if ('error' == response.status) {
else if('error' == response.status)
{
// toastr.error(response.message); // toastr.error(response.message);
var message = response.message; var message = response.message;
toastrku("error", message); toastrku("error", message);
@@ -107,7 +99,9 @@
//define variable //define variable
let token = "{{ csrf_token() }}"; let token = "{{ csrf_token() }}";
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data; let baseURL =
"{{ route($route[0] . '.' . $route[1] . '.updateKJPPStatus', ['prosespenawaranKJPPStatus' => '___ID___']) }}";
let useURL = baseURL.replace('___ID___', data);
var input_data = new Object(); var input_data = new Object();
input_data._token = token; input_data._token = token;
input_data.id = data; input_data.id = data;
@@ -120,14 +114,12 @@
dataType: "json", dataType: "json",
success: function(response) { 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');
} }

View File

@@ -2,18 +2,15 @@
@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() function prepareForm() {
{
setData(); setData();
} }
function setData() function setData() {
{
let id = $("#id").val(); let id = $("#id").val();
let token = "{{ csrf_token() }}"; let token = "{{ csrf_token() }}";
// alert('token = ' + token); // alert('token = ' + token);
@@ -33,32 +30,23 @@
// } // }
}, },
success: function(response) { success: function(response) {
console.log(response); if ('success' == response.status) {
if ('success' == response.status)
{
$("#namaDebitur").text(response.penawaran.permohonan.debiture.name); $("#namaDebitur").text(response.penawaran.permohonan.debiture.name);
$("#textReg").text(response.penawaran.nomor_registrasi); $("#textReg").text(response.penawaran.nomor_registrasi);
$("#textCodePenawaran").text(response.penawaran.code); $("#textCodePenawaran").text(response.penawaran.code);
setTablesKJPP1(response.penawrandetails); setTablesKJPP1(response.penawrandetails);
setKJPPList(response.kjpps); setKJPPList(response.kjpps);
} } else if ('error' == response.status) {
else if('error' == response.status)
{
var message = response.message; var message = response.message;
toastrku("error", message); toastrku("error", message);
} }
}, },
error: function(xhr) { error: function(xhr) {},
}, complete: function() {}
complete: function() {
}
}); });
} }
function setKJPPList(datas) function setKJPPList(datas) {
{
$('#{{ $route[1] }}_kjpps').empty().append('<option value="0"> - Pilih KJPP - </option>'); $('#{{ $route[1] }}_kjpps').empty().append('<option value="0"> - Pilih KJPP - </option>');
$.each(datas, function(key, value) { $.each(datas, function(key, value) {
@@ -67,8 +55,7 @@
}); });
} }
function setTablesKJPP1(datas) function setTablesKJPP1(datas) {
{
// value.id => detail_penawaran.id // value.id => detail_penawaran.id
let i = 1; let i = 1;
$.each(datas, function(key, value) { $.each(datas, function(key, value) {
@@ -78,43 +65,68 @@
var tgl_proposal = (value.tgl_proposal) ?? ''; // alert(tgl_proposal); var tgl_proposal = (value.tgl_proposal) ?? ''; // alert(tgl_proposal);
var htmlDokumenPersetujuanDownload = ''; var htmlDokumenPersetujuanDownload = '';
var dokumenPersetujuanDownload = value.dokumen_persetujuan; var dokumenPersetujuanDownload = value.dokumen_persetujuan;
if(dokumenPersetujuanDownload) if (dokumenPersetujuanDownload) {
{ htmlDokumenPersetujuanDownload =
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>'; '<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>'; var markup = '<tr>';
markup += '<td valign="top">' + i + '</td>'; markup += '<td valign="top">' + i + '</td>';
markup +='<td valign="top"><label id="{{$route[1]}}_kjppName_'+value.id+'">'+kjppName+'</label></td>'; markup += '<td valign="top"><label id="{{ $route[1] }}_kjppName_' + value.id + '">' + kjppName +
'</label></td>';
// No Proposal // No Proposal
markup += '<td valign="top">'; 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="hidden" id="{{ $route[1] }}_penawarandetail_id_' + 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[]">'; '" name="{{ $route[1] }}_penawarandetail_id[]" value="' + value.id + '">';
markup +='<em id="{{$route[1]}}_no_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>'; 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>'; markup += '</td>';
// No Proposal // No Proposal
// Tanggal Proposal // Tanggal Proposal
markup += '<td valign="top">'; 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 += '<input type="date" value="' + tgl_proposal +
markup +='<em id="{{$route[1]}}_tgl_proposal_msg_'+value.id+'" class="alert text-danger text-sm"></em>'; '" 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>'; markup += '</td>';
// Tanggal Proposal // Tanggal Proposal
// Biaya Penawaran // Biaya Penawaran
markup += '<td valign="top">'; 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 +=
markup +='<em id="{{$route[1]}}_biayaPenawaran_msg_'+value.id+'" class="alert text-danger text-sm"></em>'; '<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>'; markup += '</td>';
// Biaya Penawaran // Biaya Penawaran
// Upload Penawaran // Upload Penawaran
markup += '<td valign="top">'; 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 +=
markup +='<em id="{{$route[1]}}_dokumenPersetujuan_msg_'+value.id+'" class="alert text-danger text-sm"></em>'+htmlDokumenPersetujuanDownload; '<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>'; markup += '</td>';
// Upload Penawaran // Upload Penawaran
markup += '<td valign="top"><div class="flex flex-nowrap justify-center">'; 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 +=
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>'; '<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 += '</div></td>';
markup += '</tr>'; markup += '</tr>';
@@ -137,11 +149,11 @@
let penawaranID = myArray[myArray.length - 1]; let penawaranID = myArray[myArray.length - 1];
let kjppName = $("#{{ $route[1] }}_kjppName_" + penawaranID).text(); let kjppName = $("#{{ $route[1] }}_kjppName_" + penawaranID).text();
let upld = fileName.split(".").pop(); let upld = fileName.split(".").pop();
if(upld == "pdf" || upld =="PDF"){} if (upld == "pdf" || upld == "PDF") {} else {
else{
removeErrorCssMsg(); removeErrorCssMsg();
$("#{{ $route[1] }}_dokumenPersetujuan_" + penawaranID).addClass(" border-danger"); $("#{{ $route[1] }}_dokumenPersetujuan_" + penawaranID).addClass(" border-danger");
$("#{{$route[1]}}_dokumenPersetujuan_msg_"+penawaranID).text("Silahkan Masukan tipe file PDF Mas"); $("#{{ $route[1] }}_dokumenPersetujuan_msg_" + penawaranID).text(
"Silahkan Masukan tipe file PDF Mas");
$("#" + inputFile).val(""); $("#" + inputFile).val("");
} }
}); });
@@ -165,8 +177,7 @@
dataType: "json", dataType: "json",
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;
@@ -176,9 +187,7 @@
$(location).attr('href', url); $(location).attr('href', url);
}, 2000); }, 2000);
} } else if ('error' == response.status) {
else if('error' == response.status)
{
var message = response.message; var message = response.message;
toastrku("error", message); toastrku("error", message);
} }
@@ -212,8 +221,7 @@
success: function(response) { success: function(response) {
console.log(response); console.log(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;
@@ -222,9 +230,7 @@
location.reload(true); location.reload(true);
}, 2000); }, 2000);
// //
} } else if ('error' == response.status) {
else if('error' == response.status)
{
var message = response.message; var message = response.message;
toastrku("error", message); toastrku("error", message);
} }
@@ -252,8 +258,7 @@
input_data.kjpp_id = kjpp_id; input_data.kjpp_id = kjpp_id;
input_data.penawaran_id = id; input_data.penawaran_id = id;
if(kjpp_id>0) if (kjpp_id > 0) {
{
$.ajax({ $.ajax({
url: useURL, url: useURL,
type: "POST", type: "POST",
@@ -261,8 +266,7 @@
data: input_data, data: input_data,
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;
@@ -270,9 +274,7 @@
setTimeout(function() { setTimeout(function() {
location.reload(true); location.reload(true);
}, 2000); }, 2000);
} } else if ('error' == response.status) {
else if('error' == response.status)
{
var message = response.message; var message = response.message;
toastrku("error", message); toastrku("error", message);
} }
@@ -282,9 +284,7 @@
} }
}); });
} } else {
else
{
swal.fire({ swal.fire({
title: "Perhatikan", title: "Perhatikan",
text: "Silahkan pilih KJPP terlebih dahulu", text: "Silahkan pilih KJPP terlebih dahulu",
@@ -307,8 +307,7 @@
cancelButtonColor: '#d33', cancelButtonColor: '#d33',
confirmButtonText: 'Yes' confirmButtonText: 'Yes'
}).then((result) => { }).then((result) => {
if (result.isConfirmed) if (result.isConfirmed) {
{
//define variable //define variable
// $id ==> penawaran.id // $id ==> penawaran.id
let token = "{{ csrf_token() }}"; let token = "{{ csrf_token() }}";
@@ -328,15 +327,14 @@
dataType: "json", dataType: "json",
success: function(response) { success: function(response) {
console.log(response); console.log(response);
if('success' == response.status) if ('success' == response.status) {
{ swal.fire('Sukses Penawaran ulang!', response.message
swal.fire('Sukses Penawaran ulang!', response.message.message_success[0], 'success').then(() => { .message_success[0], 'success').then(() => {
var url = "{{ route('tender.prosespenawaran.index') }}"; var url =
"{{ route('tender.prosespenawaran.index') }}";
$(location).attr('href', url); $(location).attr('href', url);
}); });
} } else {
else
{
Swal.fire('Error!', response.message.message_error[0], 'error'); Swal.fire('Error!', response.message.message_error[0], 'error');
} }

View File

@@ -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