diff --git a/src/pages/Cutting.tsx b/src/pages/Cutting.tsx index 2a10f57..7316ec6 100644 --- a/src/pages/Cutting.tsx +++ b/src/pages/Cutting.tsx @@ -688,17 +688,25 @@ const Cutting = () => { {!!issueSummaries.length && ( -
-
+
+
-

Pendências para fechar o Corte

-

- Estes pontos substituem as correções manuais que antes ficavam espalhadas no Excel. -

+

Pendências do plano

+

Itens que ainda precisam de regra, cor, tamanho ou rendimento.

+
+
+ + {formatNumber(cutPlan.summary.rowsWithIssues)} SKUs + +
- - {formatNumber(cutPlan.summary.rowsWithIssues)} SKUs -
{issueSummaries.map(summary => ( @@ -714,13 +722,13 @@ const Cutting = () => { setCurrentPage(1); setCorrectionPage(1); }} - className="rounded-xl border border-dark-border bg-dark-card p-3 text-left transition-colors hover:border-amber-400/50 cursor-pointer" + className="rounded-xl border border-dark-border bg-dark-input/60 p-3 text-left transition-colors hover:border-amber-400/50 cursor-pointer" >
{issueLabels[summary.issue]} {formatNumber(summary.count)}
-

{issueHelp[summary.issue]}

+

{issueHelp[summary.issue]}

))}
@@ -728,24 +736,42 @@ const Cutting = () => { )} {!!cutPlan.familySummaries.length && ( -
- {cutPlan.familySummaries.map(summary => ( -
-
-
- - {summary.family.materialLabel} - -

{summary.family.label}

-
- -
-

{formatNumber(summary.suggestedCutQuantity)} un.

-

- {formatNumber(summary.skuCount)} SKUs · {formatNumber(summary.colorCount)} cores · {summary.estimatedRolls === null ? 'sem rendimento' : `${formatNumber(summary.estimatedRolls)} rolos`} -

+
+
+
+

Corte por família

+

Volume agrupado para orientar compra e corte.

- ))} + +
+
+ {cutPlan.familySummaries.map(summary => ( + + ))} +
)} @@ -820,79 +846,76 @@ const Cutting = () => { ) : (
- +
- - - - - - + + - + + + - - + + - - - - - - - - - - - - + + + + + + + + + + {paginatedRows.map(row => ( - - + - - - + - - - - - - +
ID ProdutoDescriçãoFamíliaCorTamanhoDemanda proj.EstoqueDisponívelNecessidadeRolosPendênciasAçõesID ProdutoDescriçãoFamíliaVariaçãoDemandaEstoqueNecessidadeRolosPendênciasAções
#{row.id} + #{row.id}
{row.name}
Média: {formatNumber(row.dailySales, 2)} un./dia · Cobertura: {formatDays(row.daysOfCover)}
+ {row.family.materialLabel} - - - {row.color || '-'} - + +
+ + + {row.color || '-'} + + + + {row.size || '-'} + +
- - - {row.size || '-'} - + {formatNumber(row.projectedDemand, 1)} un. +
{formatNumber(row.stock)} un.
+ {!!row.openProductionQuantity && ( +
Disp. {formatNumber(row.availableQuantity)} un.
+ )}
{formatNumber(row.projectedDemand, 1)} un.{formatNumber(row.stock)} un. - {formatNumber(row.availableQuantity)} un. - {!!row.openProductionQuantity && incl. OP} - + 0 ? 'font-bold text-red-300' : 'font-bold text-emerald-300'}> {formatNumber(row.suggestedCutQuantity)} un. + {row.estimatedRolls === null ? '-' : formatNumber(row.estimatedRolls)} {renderIssueBadge(row)}{renderIssueBadge(row)}