frontend logic for collision data.

This commit is contained in:
ivancheahhh
2024-01-03 11:19:53 -07:00
parent 4d1c9aa758
commit 1d91f13f6c
8 changed files with 281 additions and 17 deletions

View File

@@ -0,0 +1,121 @@
function showAddCollisionRecordModal() {
$.get('/Vehicle/GetAddCollisionRecordPartialView', function (data) {
if (data) {
$("#collisionRecordModalContent").html(data);
//initiate datepicker
$('#collisionRecordDate').datepicker({
endDate: "+0d"
});
$('#collisionRecordModal').modal('show');
}
});
}
function showEditCollisionRecordModal(collisionRecordId) {
$.get(`/Vehicle/GetCollisionRecordForEditById?collisionRecordId=${collisionRecordId}`, function (data) {
if (data) {
$("#collisionRecordModalContent").html(data);
//initiate datepicker
$('#collisionRecordDate').datepicker({
endDate: "+0d"
});
$('#collisionRecordModal').modal('show');
}
});
}
function hideAddCollisionRecordModal() {
$('#collisionRecordModal').modal('hide');
}
function deleteCollisionRecord(collisionRecordId) {
$("#workAroundInput").show();
Swal.fire({
title: "Confirm Deletion?",
text: "Deleted Collision Records cannot be restored.",
showCancelButton: true,
confirmButtonText: "Delete",
confirmButtonColor: "#dc3545"
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteCollisionRecordById?collisionRecordId=${collisionRecordId}`, function (data) {
if (data) {
hideAddCollisionRecordModal();
successToast("Collision Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleCollisionRecords(vehicleId);
} else {
errorToast("An error has occurred, please try again later.");
}
});
} else {
$("#workAroundInput").hide();
}
});
}
function saveCollisionRecordToVehicle(isEdit) {
//get values
var formValues = getAndValidateCollisionRecordValues();
//validate
if (formValues.hasError) {
errorToast("Please check the form data");
return;
}
//save to db.
$.post('/Vehicle/SaveCollisionRecordToVehicleId', { collisionRecord: formValues }, function (data) {
if (data) {
successToast(isEdit ? "Collision Record Updated" : "Collision Record Added.");
hideAddCollisionRecordModal();
getVehicleCollisionRecords(formValues.vehicleId);
} else {
errorToast("An error has occurred, please try again later.");
}
})
}
function getAndValidateCollisionRecordValues() {
var collisionDate = $("#collisionRecordDate").val();
var collisionMileage = $("#collisionRecordMileage").val();
var collisionDescription = $("#collisionRecordDescription").val();
var collisionCost = $("#collisionRecordCost").val();
var collisionNotes = $("#collisionRecordNotes").val();
var vehicleId = GetVehicleId().vehicleId;
var collisionRecordId = getCollisionRecordModelData().id;
//validation
var hasError = false;
if (collisionDate.trim() == '') { //eliminates whitespace.
hasError = true;
$("#collisionRecordDate").addClass("is-invalid");
} else {
$("#collisionRecordDate").removeClass("is-invalid");
}
if (collisionMileage.trim() == '' || parseInt(collisionMileage) < 0) {
hasError = true;
$("#collisionRecordMileage").addClass("is-invalid");
} else {
$("#collisionRecordMileage").removeClass("is-invalid");
}
if (collisionDescription.trim() == '') {
hasError = true;
$("#collisionRecordDescription").addClass("is-invalid");
} else {
$("#collisionRecordDescription").removeClass("is-invalid");
}
if (collisionCost.trim() == '') {
hasError = true;
$("#collisionRecordCost").addClass("is-invalid");
} else {
$("#collisionRecordCost").removeClass("is-invalid");
}
return {
id: collisionRecordId,
hasError: hasError,
vehicleId: vehicleId,
date: collisionDate,
mileage: collisionMileage,
description: collisionDescription,
cost: collisionCost,
notes: collisionNotes,
files: uploadedFiles
}
}
function deleteCollisionRecordFile(fileLocation, event) {
event.parentElement.remove();
uploadedFiles = uploadedFiles.filter(x => x.location != fileLocation);
}

View File

@@ -38,7 +38,7 @@ function deleteServiceRecord(serviceRecordId) {
$.post(`/Vehicle/DeleteServiceRecordById?serviceRecordId=${serviceRecordId}`, function (data) {
if (data) {
hideAddServiceRecordModal();
successToast("Service Record deleted");
successToast("Service Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleServiceRecords(vehicleId);
} else {

View File

@@ -25,11 +25,20 @@ $(document).ready(function () {
case "gas-tab":
getVehicleGasRecords(vehicleId);
break;
case "accident-tab":
getVehicleCollisionRecords(vehicleId);
break;
}
switch (e.relatedTarget.id) { //clear out previous tabs with grids in them to help with performance
case "servicerecord-tab":
$("#servicerecord-tab-pane").html("");
break;
case "gas-tab":
$("#gas-tab-pane").html("");
break;
case "accident-tab":
$("#accident-tab-pane").html("");
break;
}
});
getVehicleServiceRecords(vehicleId);
@@ -49,6 +58,20 @@ function getVehicleServiceRecords(vehicleId) {
}
})
}
function getVehicleGasRecords(vehicleId) {
$.get(`/Vehicle/GetGasRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#gas-tab-pane").html(data);
}
});
}
function getVehicleCollisionRecords(vehicleId) {
$.get(`/Vehicle/GetCollisionRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#accident-tab-pane").html(data);
}
});
}
function editVehicle(vehicleId) {
$.get(`/Vehicle/GetEditVehiclePartialViewById?vehicleId=${vehicleId}`, function (data) {
if (data) {
@@ -77,13 +100,6 @@ function deleteVehicle(vehicleId) {
}
});
}
function getVehicleGasRecords(vehicleId) {
$.get(`/Vehicle/GetGasRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#gas-tab-pane").html(data);
}
});
}
function uploadVehicleFilesAsync(event) {
let formData = new FormData();
var files = event.files;