added odometer tab.

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD
2024-01-20 09:34:31 -07:00
parent 975bbadaae
commit ae8a885b4d
15 changed files with 477 additions and 2 deletions

View File

@@ -0,0 +1,101 @@
function showAddOdometerRecordModal() {
$.get('/Vehicle/GetAddOdometerRecordPartialView', function (data) {
if (data) {
$("#odometerRecordModalContent").html(data);
//initiate datepicker
initDatePicker($('#odometerRecordDate'));
$('#odometerRecordModal').modal('show');
}
});
}
function showEditOdometerRecordModal(odometerRecordId) {
$.get(`/Vehicle/GetOdometerRecordForEditById?odometerRecordId=${odometerRecordId}`, function (data) {
if (data) {
$("#odometerRecordModalContent").html(data);
//initiate datepicker
initDatePicker($('#odometerRecordDate'));
$('#odometerRecordModal').modal('show');
}
});
}
function hideAddOdometerRecordModal() {
$('#odometerRecordModal').modal('hide');
}
function deleteOdometerRecord(odometerRecordId) {
$("#workAroundInput").show();
Swal.fire({
title: "Confirm Deletion?",
text: "Deleted Odometer Records cannot be restored.",
showCancelButton: true,
confirmButtonText: "Delete",
confirmButtonColor: "#dc3545"
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteOdometerRecordById?odometerRecordId=${odometerRecordId}`, function (data) {
if (data) {
hideAddOdometerRecordModal();
successToast("Odometer Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleOdometerRecords(vehicleId);
} else {
errorToast("An error has occurred, please try again later.");
}
});
} else {
$("#workAroundInput").hide();
}
});
}
function saveOdometerRecordToVehicle(isEdit) {
//get values
var formValues = getAndValidateOdometerRecordValues();
//validate
if (formValues.hasError) {
errorToast("Please check the form data");
return;
}
//save to db.
$.post('/Vehicle/SaveOdometerRecordToVehicleId', { odometerRecord: formValues }, function (data) {
if (data) {
successToast(isEdit ? "Odometer Record Updated" : "Odometer Record Added.");
hideAddOdometerRecordModal();
saveScrollPosition();
getVehicleOdometerRecords(formValues.vehicleId);
if (formValues.addReminderRecord) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast("An error has occurred, please try again later.");
}
})
}
function getAndValidateOdometerRecordValues() {
var serviceDate = $("#odometerRecordDate").val();
var serviceMileage = $("#odometerRecordMileage").val();
var serviceNotes = $("#odometerRecordNotes").val();
var vehicleId = GetVehicleId().vehicleId;
var odometerRecordId = getOdometerRecordModelData().id;
//validation
var hasError = false;
if (serviceDate.trim() == '') { //eliminates whitespace.
hasError = true;
$("#odometerRecordDate").addClass("is-invalid");
} else {
$("#odometerRecordDate").removeClass("is-invalid");
}
if (serviceMileage.trim() == '' || parseInt(serviceMileage) < 0) {
hasError = true;
$("#odometerRecordMileage").addClass("is-invalid");
} else {
$("#odometerRecordMileage").removeClass("is-invalid");
}
return {
id: odometerRecordId,
hasError: hasError,
vehicleId: vehicleId,
date: serviceDate,
mileage: serviceMileage,
notes: serviceNotes,
files: uploadedFiles
}
}

View File

@@ -36,6 +36,9 @@ $(document).ready(function () {
case "plan-tab":
getVehiclePlanRecords(vehicleId);
break;
case "odometer-tab":
getVehicleOdometerRecords(vehicleId);
break;
}
switch (e.relatedTarget.id) { //clear out previous tabs with grids in them to help with performance
case "servicerecord-tab":
@@ -68,6 +71,9 @@ $(document).ready(function () {
case "plan-tab":
$("#plan-tab-pane").html("");
break;
case "odometer-tab":
$("odometer-tab-pane").html("");
break;
}
});
var defaultTab = GetDefaultTab().tab;
@@ -102,6 +108,9 @@ $(document).ready(function () {
case "PlanRecord":
getVehiclePlanRecords(vehicleId);
break;
case "OdometerRecord":
getVehicleOdometerRecords(vehicleId);
break;
}
});
@@ -131,6 +140,15 @@ function getVehiclePlanRecords(vehicleId) {
}
});
}
function getVehicleOdometerRecords(vehicleId) {
$.get(`/Vehicle/GetOdometerRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#odometer-tab-pane").html(data);
restoreScrollPosition();
getVehicleHaveImportantReminders(vehicleId);
}
});
}
function getVehicleSupplyRecords(vehicleId) {
$.get(`/Vehicle/GetSupplyRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {