77 lines
4.4 KiB
Plaintext
77 lines
4.4 KiB
Plaintext
@using PowderCoating.Application.DTOs.Wizard
|
|
@model WizardStep4Dto
|
|
@{
|
|
ViewData["Title"] = "Setup Wizard — Payment Terms";
|
|
var progress = ViewBag.Progress as WizardProgressDto ?? new WizardProgressDto();
|
|
int step = ViewBag.Step as int? ?? 7;
|
|
}
|
|
@section Styles { @await Html.PartialAsync("_WizardStyles") }
|
|
|
|
<div class="wizard-layout">
|
|
@await Html.PartialAsync("_WizardProgress", progress)
|
|
|
|
<div class="wizard-content">
|
|
<div class="wizard-step-header">
|
|
<span class="wizard-step-badge">Step @step of @WizardProgressDto.TotalSteps</span>
|
|
<h2><i class="bi bi-file-earmark-text me-2"></i>Payment Terms & Quote Defaults</h2>
|
|
<p class="text-secondary">Set the default terms that appear on your quotes and invoices. These can always be overridden per document.</p>
|
|
</div>
|
|
|
|
<form asp-action="PostStep7" method="post">
|
|
@Html.AntiForgeryToken()
|
|
|
|
<div class="wizard-card">
|
|
<h5 class="wizard-card-title">Payment & Turnaround Defaults</h5>
|
|
<div class="row g-3">
|
|
<div class="col-md-4">
|
|
<label asp-for="DefaultPaymentTerms" class="form-label fw-semibold"></label>
|
|
<input asp-for="DefaultPaymentTerms" class="form-control" placeholder="Net 30" />
|
|
<div class="form-text">Appears on quotes and invoices (e.g. Net 30, Due on Receipt).</div>
|
|
<span asp-validation-for="DefaultPaymentTerms" class="text-danger small"></span>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label asp-for="DefaultQuoteValidityDays" class="form-label fw-semibold"></label>
|
|
<div class="input-group">
|
|
<input asp-for="DefaultQuoteValidityDays" class="form-control" type="number" min="1" max="365" />
|
|
<span class="input-group-text">days</span>
|
|
</div>
|
|
<div class="form-text">How long a quote remains valid before it expires.</div>
|
|
<span asp-validation-for="DefaultQuoteValidityDays" class="text-danger small"></span>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label asp-for="DefaultTurnaroundDays" class="form-label fw-semibold"></label>
|
|
<div class="input-group">
|
|
<input asp-for="DefaultTurnaroundDays" class="form-control" type="number" min="1" max="365" />
|
|
<span class="input-group-text">days</span>
|
|
</div>
|
|
<div class="form-text">Default expected completion time for new jobs.</div>
|
|
<span asp-validation-for="DefaultTurnaroundDays" class="text-danger small"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wizard-card">
|
|
<h5 class="wizard-card-title">Quote Document Defaults</h5>
|
|
<div class="row g-3">
|
|
<div class="col-12">
|
|
<label asp-for="QtDefaultTerms" class="form-label fw-semibold"></label>
|
|
<textarea asp-for="QtDefaultTerms" class="form-control" rows="5"
|
|
placeholder="e.g. Payment is due upon completion. Prices valid for 30 days. Customer responsible for prep work unless otherwise noted."></textarea>
|
|
<div class="form-text">These terms print in the Terms & Conditions section of every quote PDF.</div>
|
|
<span asp-validation-for="QtDefaultTerms" class="text-danger small"></span>
|
|
</div>
|
|
<div class="col-12">
|
|
<label asp-for="QtFooterNote" class="form-label fw-semibold"></label>
|
|
<input asp-for="QtFooterNote" class="form-control"
|
|
placeholder="e.g. Thank you for your business! Questions? Call us at (555) 123-4567." />
|
|
<div class="form-text">A short note that appears at the bottom of quote PDFs.</div>
|
|
<span asp-validation-for="QtFooterNote" class="text-danger small"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@await Html.PartialAsync("_WizardFooter", step)
|
|
</form>
|
|
</div>
|
|
</div>
|