funciones reservaciones
This commit is contained in:
parent
ac2f644334
commit
0a7cc3c1db
|
@ -41,6 +41,7 @@ const Reservations = () => {
|
||||||
const dt = useRef(null);
|
const dt = useRef(null);
|
||||||
const [cookies, setCookies] = useCookies()
|
const [cookies, setCookies] = useCookies()
|
||||||
const [areas, setAreas] = useState([]);
|
const [areas, setAreas] = useState([]);
|
||||||
|
const [area, setArea] = useState();
|
||||||
const [areaId, setAreaId] = useState();
|
const [areaId, setAreaId] = useState();
|
||||||
const [tenants, setTenants] = useState([]);
|
const [tenants, setTenants] = useState([]);
|
||||||
const [tenantId, setTenantId] = useState();
|
const [tenantId, setTenantId] = useState();
|
||||||
|
@ -271,11 +272,13 @@ const Reservations = () => {
|
||||||
_reservation[`${name}`] = val;
|
_reservation[`${name}`] = val;
|
||||||
|
|
||||||
setReservation(_reservation);
|
setReservation(_reservation);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleAreas = (e) => {
|
const handleAreas = (e) => {
|
||||||
const getAreaId = e.target.value;
|
const getAreaId = e.target.value;
|
||||||
setAreaId(getAreaId);
|
setAreaId(getAreaId);
|
||||||
|
let area = areas.find(item => item._id == getAreaId);
|
||||||
|
setArea(area)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleTenants = (e) => {
|
const handleTenants = (e) => {
|
||||||
|
@ -293,6 +296,35 @@ const Reservations = () => {
|
||||||
value: item._id,
|
value: item._id,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
function convertToISO(timeString) {
|
||||||
|
const [hour12, ampm] = timeString.split(/(?=[ap]m$)/i)
|
||||||
|
const hour = hour12 % 12 + (ampm.toLowerCase() === 'pm' ? 12 : 0)
|
||||||
|
const date = new Date()
|
||||||
|
// Set time, adjusted for time zone
|
||||||
|
date.setHours(hour, -date.getTimezoneOffset(), 0, 0)
|
||||||
|
return date.toISOString()
|
||||||
|
}
|
||||||
|
|
||||||
|
function validateTime(timeStart, timeFinish) {
|
||||||
|
if ((timeFinish - timeStart) == 1) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<small className="p-invalid">La hora de inicio debe ser la hora .</small>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function convertToTime(timeString) {
|
||||||
|
const [hour, minute] = timeString.split(':');
|
||||||
|
const date = new Date()
|
||||||
|
date.setHours(hour);
|
||||||
|
date.setMinutes(minute);
|
||||||
|
console.log(date.toTimeString());
|
||||||
|
return date.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="grid">
|
<div className="grid">
|
||||||
<div className="col-12">
|
<div className="col-12">
|
||||||
|
@ -390,52 +422,6 @@ const Reservations = () => {
|
||||||
<div className="card">
|
<div className="card">
|
||||||
<h5>Reservar Área para Inquilino</h5>
|
<h5>Reservar Área para Inquilino</h5>
|
||||||
<div className="p-fluid formgrid grid">
|
<div className="p-fluid formgrid grid">
|
||||||
<div className="field col-12 md:col-12">
|
|
||||||
<label htmlFor="name">Nombre</label>
|
|
||||||
<div className="p-0 col-12 md:col-12">
|
|
||||||
<div className="p-inputgroup">
|
|
||||||
<span className="p-inputgroup-addon p-button p-icon-input-khaki">
|
|
||||||
<i className="pi pi-home"></i>
|
|
||||||
</span>
|
|
||||||
<InputText
|
|
||||||
id="name"
|
|
||||||
value={reservation.name}
|
|
||||||
onChange={(e) => onInputChange(e, 'name')}
|
|
||||||
required
|
|
||||||
autoFocus
|
|
||||||
className={classNames({
|
|
||||||
'p-invalid': submitted && reservation.start_time === '',
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
{submitted && reservation.start_time === '' && (
|
|
||||||
<small className="p-invalid">Nombre es requirido.</small>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="field col-6 md:col-6">
|
|
||||||
<label htmlFor="common_area_id">Inquilino: </label>
|
|
||||||
<div className="p-0 col-12 md:col-12">
|
|
||||||
<div className="p-inputgroup">
|
|
||||||
<span className="p-inputgroup-addon p-button p-icon-input-khaki">
|
|
||||||
<i className="pi pi-home"></i>
|
|
||||||
</span>
|
|
||||||
<Dropdown
|
|
||||||
placeholder="--Seleccione el Inquilino a Reservar--"
|
|
||||||
id="common_area_id"
|
|
||||||
value={tenantId}
|
|
||||||
options={tList}
|
|
||||||
onChange={handleTenants}
|
|
||||||
required autoFocus
|
|
||||||
className={
|
|
||||||
classNames({ 'p-invalid': submitted && !tenantId })}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
{submitted
|
|
||||||
&& !tenantId
|
|
||||||
&& <small className="p-invalid">Inquilino es requerido.</small>}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="field col-6 md:col-6">
|
<div className="field col-6 md:col-6">
|
||||||
<label htmlFor="common_area_id">Área Común: </label>
|
<label htmlFor="common_area_id">Área Común: </label>
|
||||||
<div className="p-0 col-12 md:col-12">
|
<div className="p-0 col-12 md:col-12">
|
||||||
|
@ -459,6 +445,86 @@ const Reservations = () => {
|
||||||
&& <small className="p-invalid">Área Común es requerida.</small>}
|
&& <small className="p-invalid">Área Común es requerida.</small>}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{area &&
|
||||||
|
<>
|
||||||
|
<div className="field col-3 md:col-3">
|
||||||
|
<label htmlFor="name">Fecha Inicio</label>
|
||||||
|
<div className="p-0 col-12 md:col-12">
|
||||||
|
<div className="p-inputgroup">
|
||||||
|
<span className="p-inputgroup-addon p-button p-icon-input-khaki">
|
||||||
|
<i className="pi pi-home"></i>
|
||||||
|
</span>
|
||||||
|
<InputText
|
||||||
|
id="start_time"
|
||||||
|
onChange={(e) => onInputChange(e, 'start_time')}
|
||||||
|
required
|
||||||
|
autoFocus
|
||||||
|
min={area.hourMin}
|
||||||
|
max={area.hourMax}
|
||||||
|
type="time"
|
||||||
|
lang='es'
|
||||||
|
value={reservation.start_time}
|
||||||
|
className={classNames({
|
||||||
|
'p-invalid': submitted && reservation.start_time === '',
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{submitted && reservation.start_time === '' && (
|
||||||
|
<small className="p-invalid">Nombre es requirido.</small>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="field col-3 md:col-3">
|
||||||
|
<label htmlFor="name">Nombre</label>
|
||||||
|
<div className="p-0 col-12 md:col-12">
|
||||||
|
<div className="p-inputgroup">
|
||||||
|
<span className="p-inputgroup-addon p-button p-icon-input-khaki">
|
||||||
|
<i className="pi pi-home"></i>
|
||||||
|
</span>
|
||||||
|
<InputText
|
||||||
|
id="finish_time"
|
||||||
|
value={reservation.finish_time}
|
||||||
|
onChange={(e) => onInputChange(e, 'finish_time')}
|
||||||
|
required
|
||||||
|
autoFocus
|
||||||
|
type="time"
|
||||||
|
className={classNames({
|
||||||
|
'p-invalid': submitted && reservation.finish_time === '',
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{submitted && reservation.finish_time === '' && (
|
||||||
|
<small className="p-invalid">Nombre es requirido.</small>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
}
|
||||||
|
<div className="field col-6 md:col-6">
|
||||||
|
<label htmlFor="common_area_id">Inquilino: </label>
|
||||||
|
<div className="p-0 col-12 md:col-12">
|
||||||
|
<div className="p-inputgroup">
|
||||||
|
<span className="p-inputgroup-addon p-button p-icon-input-khaki">
|
||||||
|
<i className="pi pi-home"></i>
|
||||||
|
</span>
|
||||||
|
<Dropdown
|
||||||
|
placeholder="--Seleccione el Inquilino a Reservar--"
|
||||||
|
id="common_area_id"
|
||||||
|
value={tenantId}
|
||||||
|
options={tList}
|
||||||
|
onChange={handleTenants}
|
||||||
|
required autoFocus
|
||||||
|
className={
|
||||||
|
classNames({ 'p-invalid': submitted && !tenantId })}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{submitted
|
||||||
|
&& !tenantId
|
||||||
|
&& <small className="p-invalid">Inquilino es requerido.</small>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div style={{
|
<div style={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
justifyContent: "center",
|
justifyContent: "center",
|
||||||
|
|
Loading…
Reference in New Issue