hitro dodajanje vozila

This commit is contained in:
David Štaleker
2023-07-24 09:11:14 +02:00
parent facfb3a726
commit dcc0fde1ba
8 changed files with 523 additions and 85 deletions

View File

@@ -0,0 +1,221 @@
//ce jamra da ne najde post je treba dati @Html.AntiForgeryToken() v page
function codeTableVehicleAddEdit(placeholderSelector, edit, idCodeTableVehicle, onAddEdit, onCancel, title){
$.blockUI();
$.ajax({
type: "GET",
// beforeSend: function(xhr) {
// xhr.setRequestHeader("XSRF-TOKEN",
// $('input:hidden[name="__RequestVerificationToken"]').val());
// },
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicleModal",
data: { edit: edit, idCodeTableVehicle: edit ? idCodeTableVehicle : -1, title },
success: function(data) {
$.unblockUI();
$(placeholderSelector).html(data);
if (edit){
$('#modalAddEditCodeTableVehicleTitle').html(`Urejanje vozila: ${$('#inpModalAddEditCodeTableVehicleTitle').val()}`);
//$('#btnModalAddEditCodeTableVehicleAddFile').css('display', '');
$('#btnModalAddEditCodeTableVehicleConfirm').html('Shrani');
} else {
$('#modalAddEditCodeTableVehicleTitle').html('Dodajanje novega vozila');
//$('#btnModalAddEditCodeTableVehicleAddFile').css('display', 'none');
$('#btnModalAddEditCodeTableVehicleConfirm').html('Dodaj');
}
$('#btnModalAddEditCodeTableVehicleConfirm').off();
$('#btnModalAddEditCodeTableVehicleCancel').off();
//Save to db
$('#btnModalAddEditCodeTableVehicleConfirm').on('click', () =>{
let title = $('#inpModalAddEditCodeTableVehicleTitle').val();
let model = $('#inpModalAddEditCodeTableVehicleModel').val();
let registrationNumber = $('#inpModalAddEditCodeTableVehicleRegistrationNumber').val();
let vinNumber = $('#inpModalAddEditCodeTableVehicleVinNumber').val();
let engineNumber = $('#inpModalAddEditCodeTableVehicleEngineNumber').val();
let note = $('#taModalAddEditCodeTableVehicleNote').text();
let idMakeFk = parseInt($('#selModalAddEditCodeTableVehicleMake').val());
let idVehicleTypeFk = parseInt($('#selModalAddEditCodeTableVehicleVehicleType').val());
let year = parseInt($('#inpModalAddEditCodeTableVehicleYear').val());
let idFuelTypeFk = parseInt($('#selModalAddEditCodeTableVehicleFuelType').val());
let vehicleMeterType = parseInt($('#selModalAddEditCodeTableVehicleVehicleMeterType').val());
let idDepartementFk = parseInt($('#selModalAddEditCodeTableVehicleDepartment').val());
let active = $('#inpModalAddEditCodeTableVehicleActive').is(':checked');
let edit = $('#inpModalAddEditCodeTableVehicleEdit').val() === 'true';
let idVehicle = parseInt($('#inpModalAddEditCodeTableVehicleIdCodeTableVehicle').val());
if (title === '' || title === null){
Swal.fire('Zahtevano polje naziv!');
return;
}
if (registrationNumber === '' || registrationNumber === null) {
Swal.fire('Zahtevano registrska številka!');
return;
}
if (vinNumber === '' || vinNumber === null) {
Swal.fire('Zahtevano številka VIN!');
return;
}
$.blockUI();
$.ajax({
type: "POST",
beforeSend: function(xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicle",
data: {
edit,
vehicleData : {
title,
model,
registrationNumber,
vinNumber,
engineNumber,
note,
idMakeFk,
idVehicleTypeFk,
year,
idFuelTypeFk,
vehicleMeterType,
idDepartementFk,
active,
idVehicle,
}
},
success: function(data) {
$.unblockUI();
if (data.successful){
$("#divModalAddEditCodeTableVehicle").modal('hide');
if (onAddEdit != null){
onAddEdit(data.idCodeTableVehicle);
}
} else {
Swal.fire('Napaka pri dodajanju/posodabljanju',
data.error,
'error');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.responseText);
$.unblockUI();
}
});
});
//Cancel
$('#btnModalAddEditCodeTableVehicleCancel').on('click', () =>{
$("#divModalAddEditCodeTableVehicle").modal('hide');
if (onCancel != null){
onCancel();
}
});
$("#divModalAddEditCodeTableVehicle").modal('show');
$('.select2-vehicle-add-edit').select2({
dropdownParent: $("#divModalAddEditCodeTableVehicle")
});
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
$.unblockUI();
}
});
}
function codeTableVehicleDelete(idCodeTableVehicle, onDelete, onCancel){
$.blockUI();
$.ajax({
type: "GET",
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicle",
data: {
idCodeTableVehicle
},
success: function(data) {
$.unblockUI();
if (data.successful){
if (data.vehicleInUse){
Swal.fire('Vozilo je v uporabi!',
'Brisanje ni možno!',
'warning');
return;
}
Swal.fire({
title: `Izbrišem vozilo ${data.vehicle.title}?`,
text: "Tega dejanja ni možno razveljaviti!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Da, izbriši!',
cancelButtonText: 'Prekliči!'
}).then((result) => {
if (result.isConfirmed) {
$.blockUI();
$.ajax({
type: "DELETE",
beforeSend: function(xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
url: "/CodeTableVehicles/Index/?handler=CodeTableVehicle",
data: {
idCodeTableVehicle
},
success: function(data) {
$.unblockUI();
if (data.successful){
if (onDelete != null){
onDelete(data.idCodeTableVehicle);
}
} else {
Swal.fire('Napaka pri brisanju vozila',
data.error,
'error');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.responseText);
$.unblockUI();
}
});
} else{
if (onCancel != null){
onCancel();
}
}
});
} else {
Swal.fire('Napaka pri branju vozila',
data.error,
'error');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.responseText);
$.unblockUI();
}
});
}
function codeTableVehicleDeleteFile(element) {
let row = $(element).parent();
let idFile = parseInt(row.attr('data-idfile'));
fileDelete(idFile, (idFile) => {
row.remove();
});
}