57 lines
1.0 KiB
TypeScript
57 lines
1.0 KiB
TypeScript
/**
|
|
* Types pour les phases de chantiers
|
|
*/
|
|
|
|
export interface PhaseChantier {
|
|
id: string;
|
|
nom: string;
|
|
description?: string;
|
|
statut: StatutPhase;
|
|
dateDebutPrevue: string;
|
|
dateFinPrevue: string;
|
|
dateDebutReelle?: string;
|
|
dateFinReelle?: string;
|
|
pourcentageAvancement: number;
|
|
budgetPrevu?: number;
|
|
coutReel?: number;
|
|
critique: boolean;
|
|
responsable?: {
|
|
id: string;
|
|
nom: string;
|
|
prenom: string;
|
|
};
|
|
phaseParent?: {
|
|
id: string;
|
|
nom: string;
|
|
};
|
|
}
|
|
|
|
export type StatutPhase =
|
|
| 'PLANIFIEE'
|
|
| 'EN_ATTENTE'
|
|
| 'EN_COURS'
|
|
| 'EN_PAUSE'
|
|
| 'TERMINEE'
|
|
| 'ANNULEE'
|
|
| 'EN_RETARD';
|
|
|
|
export interface PhaseFormData {
|
|
nom: string;
|
|
description?: string;
|
|
dateDebutPrevue: string;
|
|
dateFinPrevue: string;
|
|
budgetPrevu?: number;
|
|
critique: boolean;
|
|
responsableId?: string;
|
|
phaseParentId?: string;
|
|
chantierId: string;
|
|
}
|
|
|
|
export interface PhaseStats {
|
|
total: number;
|
|
planifiees: number;
|
|
enCours: number;
|
|
terminees: number;
|
|
enRetard: number;
|
|
avancementMoyen: number;
|
|
} |