mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-21 22:18:17 +02:00
Merge pull request #513 from R0m1k3/1.1
Adjust invoice validation and tab navigation
This commit is contained in:
1 file changed
+1
-53
@@ -99,53 +99,7 @@ export default function BLReconciliation() {
|
|||||||
[variables.deliveryId]: result
|
[variables.deliveryId]: result
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Toast de confirmation avec détails de la vérification
|
// Pas de toast - affichage silencieux des coches vertes/rouges
|
||||||
if (result.exists) {
|
|
||||||
// Facture trouvée - afficher les détails
|
|
||||||
// Formater la date d'échéance si présente
|
|
||||||
let dueDateText = '';
|
|
||||||
if (result.dueDate) {
|
|
||||||
try {
|
|
||||||
const date = new Date(result.dueDate);
|
|
||||||
dueDateText = date.toLocaleDateString('fr-FR', {
|
|
||||||
day: 'numeric',
|
|
||||||
month: 'long',
|
|
||||||
year: 'numeric'
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
dueDateText = result.dueDate; // Afficher tel quel si le format n'est pas reconnu
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formater le montant avec garde contre NaN
|
|
||||||
const amountText = result.invoiceAmount ?
|
|
||||||
(() => {
|
|
||||||
const amount = parseFloat(result.invoiceAmount);
|
|
||||||
return isNaN(amount) ? 'Format invalide' : `${amount.toFixed(2)}€`;
|
|
||||||
})() :
|
|
||||||
'Non disponible';
|
|
||||||
|
|
||||||
toast({
|
|
||||||
title: "✅ Facture vérifiée avec succès",
|
|
||||||
description: (
|
|
||||||
<div className="space-y-1 text-sm">
|
|
||||||
<div><strong>Référence :</strong> {result.invoiceReference || 'Non disponible'}</div>
|
|
||||||
<div><strong>Montant :</strong> {amountText}</div>
|
|
||||||
{result.dueDate ? (
|
|
||||||
<div className="text-green-600 font-medium">
|
|
||||||
<strong>📅 Échéance :</strong> {dueDateText}
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<div className="text-orange-600 font-medium">
|
|
||||||
⚠️ Aucune date d'échéance trouvée
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
),
|
|
||||||
duration: 5000,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// Pas de toast si facture non trouvée - affichage silencieux de la croix rouge
|
|
||||||
|
|
||||||
// Auto-remplissage si facture trouvée (référence facture OU numéro BL)
|
// Auto-remplissage si facture trouvée (référence facture OU numéro BL)
|
||||||
if (result.exists) {
|
if (result.exists) {
|
||||||
@@ -681,9 +635,6 @@ export default function BLReconciliation() {
|
|||||||
// Force refetch pour synchroniser avec le serveur
|
// Force refetch pour synchroniser avec le serveur
|
||||||
queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
||||||
queryClient.refetchQueries({ queryKey: ['/api/deliveries'] });
|
queryClient.refetchQueries({ queryKey: ['/api/deliveries'] });
|
||||||
|
|
||||||
// Passer automatiquement à l'onglet "Validées" après validation
|
|
||||||
setActiveTab("validated");
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// En cas d'erreur, refetch pour annuler la mise à jour optimiste
|
// En cas d'erreur, refetch pour annuler la mise à jour optimiste
|
||||||
queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
||||||
@@ -723,9 +674,6 @@ export default function BLReconciliation() {
|
|||||||
// Force refetch immédiat pour déplacer la facture dans l'onglet manuel
|
// Force refetch immédiat pour déplacer la facture dans l'onglet manuel
|
||||||
await queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
await queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
||||||
await queryClient.refetchQueries({ queryKey: ['/api/deliveries'] });
|
await queryClient.refetchQueries({ queryKey: ['/api/deliveries'] });
|
||||||
|
|
||||||
// Passer automatiquement à l'onglet "Manuel" après dévalidation
|
|
||||||
setActiveTab("manual");
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
toast({
|
toast({
|
||||||
title: "Erreur",
|
title: "Erreur",
|
||||||
|
|||||||
Reference in new issue
Block a user