mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-12 01:37:40 +02:00
Adjust invoice validation and tab navigation
Remove success toast for verified invoices and update tab switching logic after validation/invalidation. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 711f132b-0305-4599-b521-607de6b4a3da Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/lCj0xbO
This commit is contained in:
1 parent
76d113f538
commit
351b22186e
1 file changed
+1
-53
@@ -99,53 +99,7 @@ export default function BLReconciliation() {
|
||||
[variables.deliveryId]: result
|
||||
}));
|
||||
|
||||
// Toast de confirmation avec détails de la vérification
|
||||
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
|
||||
// Pas de toast - affichage silencieux des coches vertes/rouges
|
||||
|
||||
// Auto-remplissage si facture trouvée (référence facture OU numéro BL)
|
||||
if (result.exists) {
|
||||
@@ -681,9 +635,6 @@ export default function BLReconciliation() {
|
||||
// Force refetch pour synchroniser avec le serveur
|
||||
queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
||||
queryClient.refetchQueries({ queryKey: ['/api/deliveries'] });
|
||||
|
||||
// Passer automatiquement à l'onglet "Validées" après validation
|
||||
setActiveTab("validated");
|
||||
} catch (error) {
|
||||
// En cas d'erreur, refetch pour annuler la mise à jour optimiste
|
||||
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
|
||||
await queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] });
|
||||
await queryClient.refetchQueries({ queryKey: ['/api/deliveries'] });
|
||||
|
||||
// Passer automatiquement à l'onglet "Manuel" après dévalidation
|
||||
setActiveTab("manual");
|
||||
} catch (error) {
|
||||
toast({
|
||||
title: "Erreur",
|
||||
|
||||
Reference in new issue
Block a user