frontend logic for collision data.
This commit is contained in:
121
wwwroot/js/collisionrecord.js
Normal file
121
wwwroot/js/collisionrecord.js
Normal 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);
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user