Store powder specific gravity and fix coverage math
This commit is contained in:
@@ -159,21 +159,35 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6" id="wrap-coverage">
|
||||
<div class="col-md-4" id="wrap-coverage">
|
||||
<div class="d-flex align-items-center gap-1 mb-1">
|
||||
<label asp-for="CoverageSqFtPerLb" class="form-label mb-0">Coverage (@ViewBag.CoverageUnit)</label>
|
||||
<a tabindex="0" class="help-icon" role="button"
|
||||
data-bs-toggle="popover" data-bs-placement="right" data-bs-trigger="focus"
|
||||
data-bs-title="Coverage"
|
||||
data-bs-content="How many square feet one pound of this powder covers at a standard film thickness. Industry average is about 30 sq ft/lb. Check the manufacturer's technical data sheet for the exact value. This is used together with Transfer Efficiency to calculate how much powder to order for a job.">
|
||||
data-bs-content="Manufacturer theoretical coverage for this powder, typically based on about 1.5 mil film thickness. Many powders land around 70 to 120 sq ft/lb. Used together with Transfer Efficiency to calculate how much powder to order for a job.">
|
||||
<i class="bi bi-question-circle"></i>
|
||||
</a>
|
||||
</div>
|
||||
<input asp-for="CoverageSqFtPerLb" type="number" step="0.01" min="0" value="30" class="form-control" id="field-coverage" placeholder="30" />
|
||||
<input asp-for="CoverageSqFtPerLb" type="number" step="0.01" min="0" value="30" class="form-control" id="field-coverage" placeholder="e.g., 78" />
|
||||
<span asp-validation-for="CoverageSqFtPerLb" class="text-danger"></span>
|
||||
<small class="form-text text-muted">Surface area coverage per unit of weight (default: 30)</small>
|
||||
<small class="form-text text-muted">Theoretical coverage from the TDS, usually expressed in sq ft/lb</small>
|
||||
</div>
|
||||
<div class="col-md-6" id="wrap-transfer">
|
||||
<div class="col-md-4" id="wrap-specificgravity">
|
||||
<div class="d-flex align-items-center gap-1 mb-1">
|
||||
<label asp-for="SpecificGravity" class="form-label mb-0">Specific Gravity</label>
|
||||
<a tabindex="0" class="help-icon" role="button"
|
||||
data-bs-toggle="popover" data-bs-placement="right" data-bs-trigger="focus"
|
||||
data-bs-title="Specific Gravity"
|
||||
data-bs-content="Specific gravity from the powder's technical data sheet. This is useful reference data on its own and can also be used to derive theoretical coverage when the TDS omits a direct coverage number.">
|
||||
<i class="bi bi-question-circle"></i>
|
||||
</a>
|
||||
</div>
|
||||
<input asp-for="SpecificGravity" type="number" step="0.01" min="0" class="form-control" id="field-specificgravity" placeholder="e.g., 1.65" />
|
||||
<span asp-validation-for="SpecificGravity" class="text-danger"></span>
|
||||
<small class="form-text text-muted">Store the TDS specific gravity for future reference and calculations</small>
|
||||
</div>
|
||||
<div class="col-md-4" id="wrap-transfer">
|
||||
<div class="d-flex align-items-center gap-1 mb-1">
|
||||
<label asp-for="TransferEfficiency" class="form-label mb-0">Transfer Efficiency (%)</label>
|
||||
<a tabindex="0" class="help-icon" role="button"
|
||||
|
||||
@@ -161,21 +161,35 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6" id="wrap-coverage">
|
||||
<div class="col-md-4" id="wrap-coverage">
|
||||
<div class="d-flex align-items-center gap-1 mb-1">
|
||||
<label asp-for="CoverageSqFtPerLb" class="form-label mb-0">Coverage (@ViewBag.CoverageUnit)</label>
|
||||
<a tabindex="0" class="help-icon" role="button"
|
||||
data-bs-toggle="popover" data-bs-placement="right" data-bs-trigger="focus"
|
||||
data-bs-title="Coverage"
|
||||
data-bs-content="How many square feet one pound covers at a standard film thickness. Industry average is about 30 sq ft/lb — check the manufacturer's tech data sheet for the exact figure. Used together with Transfer Efficiency to calculate powder to order for each job.">
|
||||
data-bs-content="Manufacturer theoretical coverage for this powder, typically based on about 1.5 mil film thickness. Many powders land around 70 to 120 sq ft/lb. Used together with Transfer Efficiency to calculate powder to order for each job.">
|
||||
<i class="bi bi-question-circle"></i>
|
||||
</a>
|
||||
</div>
|
||||
<input asp-for="CoverageSqFtPerLb" type="number" step="0.01" min="0" class="form-control" id="field-coverage" placeholder="30" />
|
||||
<input asp-for="CoverageSqFtPerLb" type="number" step="0.01" min="0" class="form-control" id="field-coverage" placeholder="e.g., 78" />
|
||||
<span asp-validation-for="CoverageSqFtPerLb" class="text-danger"></span>
|
||||
<small class="form-text text-muted">Surface area coverage per unit of weight (default: 30)</small>
|
||||
<small class="form-text text-muted">Theoretical coverage from the TDS, usually expressed in sq ft/lb</small>
|
||||
</div>
|
||||
<div class="col-md-6" id="wrap-transfer">
|
||||
<div class="col-md-4" id="wrap-specificgravity">
|
||||
<div class="d-flex align-items-center gap-1 mb-1">
|
||||
<label asp-for="SpecificGravity" class="form-label mb-0">Specific Gravity</label>
|
||||
<a tabindex="0" class="help-icon" role="button"
|
||||
data-bs-toggle="popover" data-bs-placement="right" data-bs-trigger="focus"
|
||||
data-bs-title="Specific Gravity"
|
||||
data-bs-content="Specific gravity from the powder's technical data sheet. This is useful reference data on its own and can also be used to derive theoretical coverage when the TDS omits a direct coverage number.">
|
||||
<i class="bi bi-question-circle"></i>
|
||||
</a>
|
||||
</div>
|
||||
<input asp-for="SpecificGravity" type="number" step="0.01" min="0" class="form-control" id="field-specificgravity" placeholder="e.g., 1.65" />
|
||||
<span asp-validation-for="SpecificGravity" class="text-danger"></span>
|
||||
<small class="form-text text-muted">Store the TDS specific gravity for future reference and calculations</small>
|
||||
</div>
|
||||
<div class="col-md-4" id="wrap-transfer">
|
||||
<div class="d-flex align-items-center gap-1 mb-1">
|
||||
<label asp-for="TransferEfficiency" class="form-label mb-0">Transfer Efficiency (%)</label>
|
||||
<a tabindex="0" class="help-icon" role="button"
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
return catId && coatingMap[String(catId)] === true;
|
||||
}
|
||||
|
||||
const coatingOnlyFields = ['wrap-colorname', 'wrap-colorcode', 'wrap-finish', 'wrap-coverage', 'wrap-transfer'];
|
||||
const coatingOnlyFields = ['wrap-colorname', 'wrap-colorcode', 'wrap-finish', 'wrap-coverage', 'wrap-specificgravity', 'wrap-transfer'];
|
||||
const colorNameLabel = document.querySelector('#wrap-colorname label');
|
||||
|
||||
function updateCoatingVisibility(catId) {
|
||||
@@ -403,6 +403,7 @@
|
||||
// Product details
|
||||
fillIf('field-finish', data.finish, 'Finish');
|
||||
fillIf('field-coverage', data.coverageSqFtPerLb, 'Coverage');
|
||||
fillIf('field-specificgravity', data.specificGravity, 'Specific Gravity');
|
||||
fillIf('field-transfer', data.transferEfficiency, 'Transfer Efficiency');
|
||||
|
||||
// Coating specs
|
||||
|
||||
@@ -84,6 +84,11 @@
|
||||
<input asp-for="CoverageSqFtPerLb" class="form-control" id="field-coverage" />
|
||||
<span asp-validation-for="CoverageSqFtPerLb" class="text-danger small"></span>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label asp-for="SpecificGravity" class="form-label fw-medium"></label>
|
||||
<input asp-for="SpecificGravity" class="form-control" id="field-specificgravity" />
|
||||
<span asp-validation-for="SpecificGravity" class="text-danger small"></span>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label asp-for="TransferEfficiency" class="form-label fw-medium"></label>
|
||||
<input asp-for="TransferEfficiency" class="form-control" id="field-transfer" />
|
||||
|
||||
Reference in New Issue
Block a user