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

@@ -19,6 +19,7 @@ import { Divider } from 'primereact/divider';
import { factureService, clientService } from '../../../../services/api';
import { formatDate, formatCurrency } from '../../../../utils/formatters';
import type { Facture } from '../../../../types/btp';
import { StatutFacture, TypeFacture } from '../../../../types/btp';
const FacturesAvoirsPage = () => {
const [avoirs, setAvoirs] = useState<Facture[]>([]);
@@ -29,23 +30,24 @@ const FacturesAvoirsPage = () => {
const [avoirDialog, setAvoirDialog] = useState(false);
const [selectedAvoir, setSelectedAvoir] = useState<Facture | null>(null);
const [isCreating, setIsCreating] = useState(false);
const [avoir, setAvoir] = useState<Facture>({
const [avoir, setAvoir] = useState<Partial<Facture>>({
id: '',
numero: '',
dateEmission: new Date(),
dateEcheance: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
dateEmission: new Date().toISOString(),
dateEcheance: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
datePaiement: null,
objet: '',
description: '',
montantHT: 0,
montantTTC: 0,
tauxTVA: 20,
statut: 'EMISE',
type: 'AVOIR',
statut: StatutFacture.ENVOYEE,
typeFacture: TypeFacture.AVOIR,
actif: true,
client: null,
chantier: null,
devis: null
devis: null,
lignes: []
});
const [submitted, setSubmitted] = useState(false);
const toast = useRef<Toast>(null);
@@ -70,7 +72,7 @@ const FacturesAvoirsPage = () => {
setLoading(true);
const data = await factureService.getAll();
// Filtrer les avoirs
const avoirsList = data.filter(facture => facture.type === 'AVOIR');
const avoirsList = data.filter(facture => facture.typeFacture === TypeFacture.AVOIR);
setAvoirs(avoirsList);
} catch (error) {
console.error('Erreur lors du chargement des avoirs:', error);
@@ -133,20 +135,21 @@ const FacturesAvoirsPage = () => {
setAvoir({
id: '',
numero: '',
dateEmission: new Date(),
dateEcheance: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
dateEmission: new Date().toISOString(),
dateEcheance: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
datePaiement: null,
objet: '',
description: '',
montantHT: 0,
montantTTC: 0,
tauxTVA: 20,
statut: 'EMISE',
type: 'AVOIR',
statut: StatutFacture.ENVOYEE,
typeFacture: TypeFacture.AVOIR,
actif: true,
client: null,
chantier: null,
devis: null
devis: null,
lignes: []
});
setSubmitted(false);
setIsCreating(true);
@@ -182,7 +185,7 @@ const FacturesAvoirsPage = () => {
console.log('Création d\'avoir:', avoirToSave);
// Simulation
setAvoirs(prev => [...prev, { ...avoirToSave, id: Date.now().toString() }]);
setAvoirs(prev => [...prev, { ...avoirToSave, id: Date.now().toString() } as unknown as Facture]);
setAvoirDialog(false);
@@ -428,7 +431,7 @@ RECOMMANDATIONS:
<Button
icon="pi pi-send"
rounded
severity="secondary"
severity={"secondary" as any}
size="small"
tooltip="Envoyer au client"
onClick={() => {
@@ -448,8 +451,8 @@ RECOMMANDATIONS:
return (
<div className="flex align-items-center gap-2">
<Tag value="Avoir" severity="info" />
<Tag
value={rowData.statut === 'EMISE' ? 'Émis' : rowData.statut}
<Tag
value={rowData.statut === StatutFacture.ENVOYEE ? 'Émis' : rowData.statut}
severity="success"
/>
</div>
@@ -510,6 +513,7 @@ RECOMMANDATIONS:
value={avoirs}
selection={selectedAvoirs}
onSelectionChange={(e) => setSelectedAvoirs(e.value)}
selectionMode="multiple"
dataKey="id"
paginator
rows={10}
@@ -625,12 +629,12 @@ RECOMMANDATIONS:
<div className="field col-12">
<label htmlFor="dateEmission">Date d'émission</label>
<Calendar
id="dateEmission"
value={avoir.dateEmission}
onChange={(e) => setAvoir(prev => ({ ...prev, dateEmission: e.value || new Date() }))}
dateFormat="dd/mm/yy"
showIcon
<Calendar
id="dateEmission"
value={avoir.dateEmission ? new Date(avoir.dateEmission) : null}
onChange={(e) => setAvoir(prev => ({ ...prev, dateEmission: (e.value as Date)?.toISOString() || new Date().toISOString() }))}
dateFormat="dd/mm/yy"
showIcon
/>
</div>
</div>
@@ -680,7 +684,7 @@ RECOMMANDATIONS:
<Button
label="Envoyer"
icon="pi pi-send"
severity="secondary"
severity={"secondary" as any}
size="small"
onClick={() => {
toast.current?.show({
@@ -702,4 +706,6 @@ RECOMMANDATIONS:
);
};
export default FacturesAvoirsPage;
export default FacturesAvoirsPage;