addChantier / selectMachine / machineSummary : presque fini

This commit is contained in:
Rochas
2025-12-13 15:35:01 +01:00
parent 1407d3b20f
commit e8e30d541d
4 changed files with 145 additions and 46 deletions

View File

@@ -20,6 +20,10 @@ import Constants from 'expo-constants'; //pour connaître la taille de la barre
import SelectChafChantier from '@/components/selectChefChantier';
import SelectMachine from '@/components/selectMachine';
type RessourcesQte = [Ressources, number];
//Uniquement accessible par le RESPONSSABLE du chantier
//Pour créer ou modifier un chantier
export default function AddChantier() {
@@ -37,8 +41,8 @@ export default function AddChantier() {
const [adresse, setAdresse] = useState('');
const [duree, setDuree] = useState('');
const [contact, setContact] = useState('');
const [engins, setEngins] = useState<Ressources[]>(); //de type enfin /!\
const [materiels, setMateriels] = useState<Ressources>(); //de type material (outils) /!\
const [machine, setMachines] = useState<RessourcesQte[]>(); //de type enfin /!\
const [materiels, setMateriels] = useState<RessourcesQte[][]>(); //de type material (outils) /!\
const [showDateSelect,setSowDateSelect] = useState(false);
const [openConfirmation,setOpenConfirmation] = useState(false);
@@ -46,6 +50,9 @@ export default function AddChantier() {
const [userSelect, setUserSelect] = useState<string[]>([]);
const [ressourcesSelect, setRessourcesSelect] = useState<string[]>([]);
async function handleAddChantier() {
setLoading(true);
setOpenConfirmation(true);
@@ -59,23 +66,23 @@ export default function AddChantier() {
}
};
async function onConfirm(): Promise<void> {
//TODO
//await changeChantierStatus(chantier.id,tempStatus)
//Il faut changer le UX
//setChantier({...chantier,etat: tempStatus})
if(isValidChantier()){
setOpenConfirmation(false);
}
}
async function onConfirm(): Promise<void> {
//TODO
//await changeChantierStatus(chantier.id,tempStatus)
//Il faut changer le UX
//setChantier({...chantier,etat: tempStatus})
if(isValidChantier()){
setOpenConfirmation(false);
}
}
function onCancel(): void {
setOpenConfirmation(false);
}
function onCancel(): void {
setOpenConfirmation(false);
}
function isValidChantier(): boolean {
return objet!=="" && duree!=='' && adresse!=='' && contact!=='' && chefChantier!==undefined; //TODO
}
function isValidChantier(): boolean {
return objet!=="" && duree!=='' && adresse!=='' && contact!=='' && chefChantier!==undefined; //TODO
}
const renderValidationScreen = () => {
return(
@@ -165,17 +172,21 @@ export default function AddChantier() {
{//renderInut("Date de départ","TOTO : JOUR + Demi journé",date,setDate)
}
{renderInutDate("Date de départ")}
{renderInut("Estimation de la durée (en demi-journées)","14",duree,setDuree,false)}
{renderInut("Estimation de la durée (en demi-journées)","14",duree,setDuree,true)}
{renderInut("Adresse","1 Rue de la Coutellerie, Paris",adresse,setAdresse,false)}
{renderInut("Contact client","07 01 02 03 04 05",contact,setContact,true)}
<View style = {styles.inputLine}>
<ThemedText style = {styles.inputName}>Engins:</ThemedText>
<SelectMachine style = {styles.input} sendMachines={setEngins}/>
</View>
<View style = {styles.inputLine}>
<ThemedText style = {styles.inputName}>Chef de chantier:</ThemedText>
<SelectChafChantier style = {styles.input} sendChefChantier={setChefChantier}/>
</View>
<View style = {styles.inputLine}>
<ThemedText style = {styles.inputName}>Vehicules et machines:</ThemedText>
<SelectMachine style = {styles.input} sendMachines={setMachines}/>
</View>
<View style = {styles.inputLine}>
<ThemedText style = {styles.inputName}>TODO pareil que vehicule mais pour ouvrier:</ThemedText>
<SelectMachine style = {styles.input} sendMachines={setMachines}/>
</View>