backfill from projects

This commit is contained in:
2026-03-18 11:54:22 -05:00
parent c18de77640
commit f12744f05d
15 changed files with 281 additions and 9 deletions

View File

@@ -173,6 +173,9 @@ export function SalesDetailPage({ entity }: { entity: SalesDocumentEntity }) {
status: "DRAFT",
notes: `Generated from sales order ${activeDocument.documentNumber} demand planning.`,
});
if (activeDocument.linkedProjectId) {
params.set("projectId", activeDocument.linkedProjectId);
}
return `/manufacturing/work-orders/new?${params.toString()}`;
}
@@ -186,6 +189,15 @@ export function SalesDetailPage({ entity }: { entity: SalesDocumentEntity }) {
if (vendorId) {
params.set("vendorId", vendorId);
}
if (activeDocument.linkedProjectId) {
params.set("projectId", activeDocument.linkedProjectId);
}
if (activeDocument.linkedProjectNumber) {
params.set("projectNumber", activeDocument.linkedProjectNumber);
}
if (activeDocument.linkedProjectName) {
params.set("projectName", activeDocument.linkedProjectName);
}
return `/purchasing/orders/new?${params.toString()}`;
}
@@ -521,7 +533,18 @@ export function SalesDetailPage({ entity }: { entity: SalesDocumentEntity }) {
</dl>
</article>
<article className="rounded-[20px] border border-line/70 bg-surface/90 p-4 shadow-panel 2xl:p-5">
<p className="text-xs font-semibold uppercase tracking-[0.24em] text-muted">Notes</p>
<p className="text-xs font-semibold uppercase tracking-[0.24em] text-muted">Project Link</p>
{activeDocument.linkedProjectId ? (
<div className="mt-3 space-y-2">
<Link to={`/projects/${activeDocument.linkedProjectId}`} className="inline-flex items-center rounded-2xl border border-line/70 px-3 py-2 text-sm font-semibold text-text hover:bg-page/70">
{activeDocument.linkedProjectNumber} / {activeDocument.linkedProjectName}
</Link>
<p className="text-sm text-muted">This {entity === "quote" ? "quote" : "sales order"} is already linked to a project, and downstream WO/PO launches will carry that project context.</p>
</div>
) : (
<p className="mt-3 text-sm text-muted">No linked project is currently attached to this {entity === "quote" ? "quote" : "sales order"}.</p>
)}
<p className="mt-5 text-xs font-semibold uppercase tracking-[0.24em] text-muted">Notes</p>
<p className="mt-3 whitespace-pre-line text-sm leading-6 text-text">{activeDocument.notes || "No notes recorded for this document."}</p>
</article>
</div>