You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

194 lines
6.0 KiB

import React, { useEffect, useState } from 'react'
import { useParams, Link } from 'react-router-dom'
import classe from '../assets/AllStyleComponents.module.css'
import classeHome from '../assets/Home.module.css'
import Paper from '@mui/material/Paper'
import { Button, Modal, Box } from '@mui/material'
import { IoMdReturnRight } from 'react-icons/io'
import AjoutTranche from './AjoutTranche'
import { Tooltip } from 'react-tooltip'
import { FaPenToSquare } from 'react-icons/fa6'
import { FaTrash } from 'react-icons/fa'
import UpdateTranche from './UpdateTranche'
import DeleteTranche from './DeleteTranche'
const TrancheEcolage = () => {
const { id } = useParams()
const [tranche, setTranche] = useState([])
const [etudiant, setEtudiant] = useState({})
useEffect(() => {
window.etudiants.getTranche({ id }).then((response) => {
setTranche(response)
})
window.etudiants.getSingle({ id }).then((response) => {
setEtudiant(response)
})
}, [])
const [openAdd, setOpenAdd] = useState(false)
const onCloseAdd = () => setOpenAdd(false)
const openAddFunction = () => {
setOpenAdd(true)
}
const [isSubmited, setIsSubmited] = useState(false)
const handleFormSubmit = (status) => {
setIsSubmited(status)
}
const [openUpdate, setOpenUpdate] = useState(false)
const onCloseUpdate = () => setOpenUpdate(false)
const [idToSend, setIdToSend] = useState(null)
const [idToSend2, setIdToSend2] = useState(null)
const openUpdateFunction = (id) => {
setOpenUpdate(true)
setIdToSend(id)
}
const [openDelete, setOpenDelete] = useState(false)
const onCloseDelete = () => setOpenDelete(false)
const openDeleteFunction = (id) => {
setOpenDelete(true)
setIdToSend2(id)
}
useEffect(() => {
if (isSubmited) {
window.etudiants.getTranche({ id }).then((response) => {
setTranche(response)
})
setIsSubmited(false)
}
}, [isSubmited])
return (
<div className={classe.mainHome}>
<AjoutTranche
id={id}
onClose={onCloseAdd}
onSubmitSuccess={handleFormSubmit}
open={openAdd}
/>
<UpdateTranche
onClose={onCloseUpdate}
onSubmitSuccess={handleFormSubmit}
open={openUpdate}
id={idToSend}
/>
<DeleteTranche
id={idToSend2}
onClose={onCloseDelete}
onSubmitSuccess={handleFormSubmit}
open={openDelete}
/>
<div className={classeHome.header}>
<div className={classe.h1style}>
<div className={classeHome.blockTitle}>
<h1>Tranche d'Ecolage</h1>
<div style={{ display: 'flex', gap: '10px' }}>
<Link to={'#'} onClick={openAddFunction}>
<Button color="warning" variant="contained">
Ajouter
</Button>
</Link>
<Link to={'#'} onClick={() => window.history.back()}>
<Button color="warning" variant="contained">
<IoMdReturnRight style={{ fontSize: '20px' }} />
</Button>
</Link>
</div>
</div>
</div>
</div>
<div className={classeHome.boxEtudiantsCard}>
<Paper
sx={{
height: 'auto', // Auto height to make the grid responsive
width: '100%',
// minHeight: 500, // Ensures a minimum height
display: 'flex',
padding: '2%'
}}
>
<table className="table table-bordered table-striped text-center shadow-sm" id="myTable2">
<thead className="table-secondary">
<tr>
<td colSpan={4} className="py-3">
<h6>
Evolution d'écolage de {etudiant.nom} {etudiant.prenom}
</h6>
</td>
</tr>
<tr>
<th>Tranche N°</th>
<th>Désignation</th>
<th>Montant</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{tranche.map((tranch, index) => (
<tr key={tranch.id}>
<td>{index + 1}</td>
<td>{tranch.tranchename}</td>
<td>{Number(tranch.montant).toLocaleString(0, 3)}</td>
<td
className="fw-bold"
style={{
display: 'flex',
gap: '10px',
alignItems: 'center',
justifyContent: 'center'
}}
>
<Button
variant="contained"
color="warning"
onClick={() => openUpdateFunction(tranch.id)}
>
<FaPenToSquare
style={{ fontSize: '20px', color: 'white' }}
className={`update${tranch.id}`}
/>
<Tooltip
anchorSelect={`.update${tranch.id}`}
className="custom-tooltip"
place="top"
>
Modifier
</Tooltip>
</Button>
<Button
variant="contained"
color="error"
onClick={() => openDeleteFunction(tranch.id)}
>
<FaTrash
style={{ fontSize: '20px', color: 'white' }}
className={`delete${tranch.id}`}
/>
<Tooltip
anchorSelect={`.delete${tranch.id}`}
className="custom-tooltip"
place="top"
>
Supprimer
</Tooltip>
</Button>
</td>
</tr>
))}
</tbody>
</table>
</Paper>
</div>
</div>
)
}
export default TrancheEcolage