+
+
@@ -2225,10 +2227,11 @@ const PurchaseMaterialQueue = ({ needs, onEditMaterial }: { needs: SupplyPurchas
const PurchaseServiceQueue = ({ needs, onEditMaterial }: { needs: SupplyPurchaseNeed[]; onEditMaterial: (need: SupplyPurchaseNeed) => void }) => (
<>
{getNeedDisplayName(need)}
@@ -2202,15 +2194,25 @@ const PurchaseMaterialQueue = ({ needs, onEditMaterial }: { needs: SupplyPurchasImpacto
{products.length} {products.length === 1 ? 'SKU' : 'SKUs'} dependem
{formatNumber(sumNeedProducts(need, 'suggestedQuantity'))} un. planejadas
+
+
+
+
-
- Serviço e impacto
+
+ Serviço
Volume a programar
- Próximo passo
+ Impacto
+ Ações
@@ -2238,7 +2241,7 @@ const PurchaseServiceQueue = ({ needs, onEditMaterial }: { needs: SupplyPurchase
return (
-
+
+
@@ -2293,6 +2306,12 @@ const getMaterialRegistrationSku = (material: string) => {
return /^[A-Z0-9_-]{2,}$/i.test(candidate) ? candidate : '';
};
+const getMaterialRegistrationPath = (material: string) => buildSkuEditPath({
+ sku: getMaterialRegistrationSku(material),
+ name: material,
+ type: 'raw_material',
+});
+
const MaterialDetailsModal = ({
need,
onClose,
@@ -2309,11 +2328,7 @@ const MaterialDetailsModal = ({
});
const [isSaving, setIsSaving] = useState(false);
const [error, setError] = useState('');
- const registrationPath = buildSkuEditPath({
- sku: getMaterialRegistrationSku(need.material),
- name: need.material,
- type: 'raw_material',
- });
+ const registrationPath = getMaterialRegistrationPath(need.material);
const submit = async (event: FormEvent) => {
event.preventDefault();
{getNeedDisplayName(need)}
@@ -2268,15 +2271,25 @@ const PurchaseServiceQueue = ({ needs, onEditMaterial }: { needs: SupplyPurchaseImpacto
{products.length} {products.length === 1 ? 'SKU' : 'SKUs'} dependem
{formatNumber(sumNeedProducts(need, 'suggestedQuantity'))} un. planejadas
+
+
+
+