See #1212, based on implementation in #851 by @Forceu

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD 2026-01-22 11:11:01 -07:00
parent d91876fcc5
commit 21345e3f26
14 changed files with 66 additions and 7 deletions

View File

@ -424,6 +424,7 @@ namespace CarCareTracker.Helper
UseThreeDecimalGasConsumption = CheckBool(CheckString(nameof(UserConfig.UseThreeDecimalGasConsumption)), true),
EnableAutoReminderRefresh = CheckBool(CheckString(nameof(UserConfig.EnableAutoReminderRefresh))),
EnableAutoOdometerInsert = CheckBool(CheckString(nameof(UserConfig.EnableAutoOdometerInsert))),
EnableAutoFillOdometer = CheckBool(CheckString(nameof(UserConfig.EnableAutoFillOdometer))),
PreferredGasMileageUnit = CheckString(nameof(UserConfig.PreferredGasMileageUnit)),
PreferredGasUnit = CheckString(nameof(UserConfig.PreferredGasUnit)),
UseUnitForFuelCost = CheckBool(CheckString(nameof(UserConfig.UseUnitForFuelCost))),

View File

@ -15,6 +15,7 @@
public bool UseMarkDownOnSavedNotes { get; set; }
public bool EnableAutoReminderRefresh { get; set; }
public bool EnableAutoOdometerInsert { get; set; }
public bool EnableAutoFillOdometer { get; set; }
public bool EnableShopSupplies { get; set; }
public bool EnableExtraFieldColumns { get; set; }
public bool HideSoldVehicles { get; set; }

View File

@ -93,6 +93,10 @@
<input class="form-check-input" onChange="updateSettings()" type="checkbox" role="switch" id="enableAutoOdometerInsert" checked="@Model.UserConfig.EnableAutoOdometerInsert">
<label class="form-check-label" for="enableAutoOdometerInsert">@translator.Translate(userLanguage, "Auto Insert Odometer Records")<br /><small class="text-body-secondary">@translator.Translate(userLanguage, "Only when Adding Service/Repair/Upgrade/Fuel Record or Completing a Plan")</small></label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" onChange="updateSettings()" type="checkbox" role="switch" id="enableAutoFillOdometer" checked="@Model.UserConfig.EnableAutoFillOdometer">
<label class="form-check-label" for="enableAutoFillOdometer">@translator.Translate(userLanguage, "Auto Fill Odometer Input")<br /><small class="text-body-secondary">@translator.Translate(userLanguage, "Only when Adding Service/Repair/Upgrade/Fuel Record or Completing a Plan")</small></label>
</div>
<hr />
<div>
<div class="form-check form-switch form-check-inline">

View File

@ -113,4 +113,10 @@
function getCollisionRecordModelData() {
return { id: @Model.Id}
}
</script>
</script>
@if (isNew && userConfig.EnableAutoFillOdometer)
{
<script>
setLastOdometer('collisionRecordMileage');
</script>
}

View File

@ -131,4 +131,10 @@
function getGasRecordModelData(){
return { id: @Model.GasRecord.Id}
}
</script>
</script>
@if (isNew && userConfig.EnableAutoFillOdometer)
{
<script>
setLastOdometer('gasRecordMileage');
</script>
}

View File

@ -132,4 +132,10 @@
{
@:recurringReminderRecordId.push(@reminderRecordId);
}
</script>
</script>
@if (userConfig.EnableAutoFillOdometer)
{
<script>
setLastOdometer('inspectionRecordMileage');
</script>
}

View File

@ -10,6 +10,7 @@
var inProgressItems = Model.Where(x => x.Progress == PlanProgress.InProgress).OrderBy(x => x.Priority);
var testingItems = Model.Where(x => x.Progress == PlanProgress.Testing).OrderBy(x => x.Priority);
var doneItems = Model.Where(x => x.Progress == PlanProgress.Done).OrderBy(x => x.Priority);
var autoFillOdometer = userConfig.EnableAutoFillOdometer;
}
@model List<PlanRecord>
<div class="row">
@ -131,4 +132,11 @@
<li><a class="dropdown-item context-menu-move move-header context-menu-print-tab-sticker" href="#"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Print")</span><i class="bi bi-printer"></i></div></a></li>
<li><hr class="context-menu-move move-header dropdown-divider"></li>
<li><a class="dropdown-item context-menu-move move-header text-danger context-menu-delete" href="#"><div class="d-flex justify-content-between"><span class="me-5">@translator.Translate(userLanguage, "Delete")</span><i class="bi bi-trash"></i></div></a></li>
</ul>
</ul>
<script>
function getPlanUserConfig(){
return {
autoFillOdometer: "@autoFillOdometer" == "True"
}
}
</script>

View File

@ -113,4 +113,10 @@
function getServiceRecordModelData(){
return {id: @Model.Id}
}
</script>
</script>
@if (isNew && userConfig.EnableAutoFillOdometer)
{
<script>
setLastOdometer('serviceRecordMileage');
</script>
}

View File

@ -113,4 +113,10 @@
function getUpgradeRecordModelData() {
return { id: @Model.Id}
}
</script>
</script>
@if (isNew && userConfig.EnableAutoFillOdometer)
{
<script>
setLastOdometer('upgradeRecordMileage');
</script>
}

View File

@ -18,6 +18,7 @@
"AutomaticDecimalFormat": false,
"EnableAutoReminderRefresh": false,
"EnableAutoOdometerInsert": false,
"EnableAutoFillOdometer": false,
"EnableShopSupplies": false,
"ShowCalendar": true,
"ShowVehicleThumbnail": true,

File diff suppressed because one or more lines are too long

View File

@ -306,6 +306,11 @@ function updatePlanRecordProgress(newProgress) {
}
return { odometer }
},
didOpen: () => {
if (getPlanUserConfig().autoFillOdometer) {
setLastOdometer('inputOdometer');
}
}
}).then(function (result) {
if (result.isConfirmed) {
//Odometer Adjustments

View File

@ -57,6 +57,7 @@ function updateSettings() {
useMarkDownOnSavedNotes: $("#useMarkDownOnSavedNotes").is(":checked"),
enableAutoReminderRefresh: $("#enableAutoReminderRefresh").is(":checked"),
enableAutoOdometerInsert: $("#enableAutoOdometerInsert").is(":checked"),
enableAutoFillOdometer: $("#enableAutoFillOdometer").is(":checked"),
enableShopSupplies: $("#enableShopSupplies").is(":checked"),
showCalendar: $("#showCalendar").is(":checked"),
showVehicleThumbnail: $("#showVehicleThumbnail").is(":checked"),

View File

@ -879,4 +879,12 @@ function getDefaultTabName() {
return 'equipment';
break;
}
}
function setLastOdometer(mileageInputId) {
$.get(`/Vehicle/GetMaxMileage?vehicleId=${GetVehicleId().vehicleId}`, function (data) {
if (isNaN(data)) {
return;
}
$(`#${mileageInputId}`).val(data);
});
}