fix: Update PrimeReact to v10.8.3 and fix all compilation errors

This commit is contained in:
dahoud
2025-10-13 03:01:36 +00:00
parent 2a2e54c0e3
commit 30cad6220b
85 changed files with 928 additions and 2020 deletions

View File

@@ -36,20 +36,20 @@ const DevisPage = () => {
const [devisDialog, setDevisDialog] = useState(false);
const [deleteDevisDialog, setDeleteDevisDialog] = useState(false);
const [deleteDevisssDialog, setDeleteDevisssDialog] = useState(false);
const [devisItem, setDevisItem] = useState<Devis>({
const [devisItem, setDevisItem] = useState<Partial<Devis>>({
id: '',
numero: '',
dateEmission: new Date(),
dateValidite: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
dateEmission: new Date().toISOString(),
dateValidite: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
objet: '',
description: '',
montantHT: 0,
montantTTC: 0,
tauxTVA: 20,
statut: 'BROUILLON',
statut: 'BROUILLON' as any,
actif: true,
client: null,
chantier: null
client: undefined,
chantier: undefined
});
const [submitted, setSubmitted] = useState(false);
const toast = useRef<Toast>(null);
@@ -99,17 +99,17 @@ const DevisPage = () => {
setDevisItem({
id: '',
numero: '',
dateEmission: new Date(),
dateValidite: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
dateEmission: new Date().toISOString(),
dateValidite: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
objet: '',
description: '',
montantHT: 0,
montantTTC: 0,
tauxTVA: 20,
statut: 'BROUILLON',
statut: 'BROUILLON' as any,
actif: true,
client: null,
chantier: null
client: undefined,
chantier: undefined
});
setSubmitted(false);
setDevisDialog(true);
@@ -154,7 +154,7 @@ const DevisPage = () => {
validationErrors.push("Le taux de TVA doit être entre 0 et 100%");
}
if (!devisItem.dateValidite || devisItem.dateValidite <= new Date()) {
if (!devisItem.dateValidite || new Date(devisItem.dateValidite) <= new Date()) {
validationErrors.push("La date de validité doit être dans le futur");
}
@@ -173,9 +173,8 @@ const DevisPage = () => {
let updatedDevis = [...devis];
const devisToSave = {
...devisItem,
client: devisItem.client ? { id: devisItem.client } : null, // Envoyer seulement l'ID du client
montantTTC: devisItem.montantHT * (1 + devisItem.tauxTVA / 100)
};
montantTTC: (devisItem.montantHT || 0) * (1 + (devisItem.tauxTVA || 0) / 100)
} as any;
if (devisItem.id) {
// Mise à jour du devis existant
@@ -193,17 +192,17 @@ const DevisPage = () => {
setDevisItem({
id: '',
numero: '',
dateEmission: new Date(),
dateValidite: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
dateEmission: new Date().toISOString(),
dateValidite: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
objet: '',
description: '',
montantHT: 0,
montantTTC: 0,
tauxTVA: 20,
statut: 'BROUILLON',
statut: 'BROUILLON' as any,
actif: true,
client: null,
chantier: null
client: undefined,
chantier: undefined
});
} catch (error) {
ErrorHandler.handleApiError(error, 'sauvegarde du devis');
@@ -214,7 +213,7 @@ const DevisPage = () => {
const editDevis = (devis: Devis) => {
setDevisItem({
...devis,
client: devis.client?.id || null
client: devis.client || undefined
});
setDevisDialog(true);
};
@@ -367,9 +366,9 @@ const DevisPage = () => {
};
return (
<Tag
value={getLabel(rowData.statut)}
severity={getSeverity(rowData.statut)}
<Tag
value={getLabel(rowData.statut)}
severity={getSeverity(rowData.statut) as any}
/>
);
};
@@ -437,6 +436,7 @@ const DevisPage = () => {
value={devis}
selection={selectedDevis}
onSelectionChange={(e) => setSelectedDevis(e.value)}
selectionMode="multiple"
dataKey="id"
paginator
rows={10}
@@ -523,24 +523,24 @@ const DevisPage = () => {
<div className="field col-12 md:col-6">
<label htmlFor="dateEmission">Date d'émission</label>
<Calendar
id="dateEmission"
value={devisItem.dateEmission}
onChange={(e) => onDateChange(e, 'dateEmission')}
dateFormat="dd/mm/yy"
showIcon
<Calendar
id="dateEmission"
value={devisItem.dateEmission ? new Date(devisItem.dateEmission) : null}
onChange={(e) => onDateChange(e, 'dateEmission')}
dateFormat="dd/mm/yy"
showIcon
/>
</div>
<div className="field col-12 md:col-6">
<label htmlFor="dateValidite">Date de validité</label>
<Calendar
id="dateValidite"
value={devisItem.dateValidite}
onChange={(e) => onDateChange(e, 'dateValidite')}
dateFormat="dd/mm/yy"
showIcon
minDate={devisItem.dateEmission}
<Calendar
id="dateValidite"
value={devisItem.dateValidite ? new Date(devisItem.dateValidite) : null}
onChange={(e) => onDateChange(e, 'dateValidite')}
dateFormat="dd/mm/yy"
showIcon
minDate={devisItem.dateEmission ? new Date(devisItem.dateEmission) : undefined}
/>
</div>