import React, {useEffect, useState} from 'react' import {Button, Modal, DatePicker, List, notification, Input} from "antd"; import AddNewReservation from "./AddNewReservation"; import moment from 'moment' import axios from "axios"; import env from '../env' const {RangePicker} = DatePicker const Reservations = ({}) => { const [newReservationModal, setNewReservationModal] = useState(false); const [saveModalLoading, setSaveModalLoading] = useState(false); const [date, setDate] = useState([moment().startOf('day'), moment().add(24,'hours')]); const [reservations, setReservations] = useState([]) const [newReservations, setNewReservations] = useState([]) const [loadingReservations, setLoadingReservations] = useState(true) useEffect(()=> { getReservations() },[]) const getReservations = () =>{ setLoadingReservations(true) setDate(date => { axios.get(env.api + 'Reservations', { params: { from: date[0].format('YYYY-MM-DDThh:mm:ss') + 'Z', to: date[1].format('YYYY-MM-DDThh:mm:ss') + 'Z' }, headers: {Authorization: localStorage.getItem('Auth')} }).then(res => { axios.get(env.api + 'Reservations/new', { headers: {Authorization: localStorage.getItem('Auth')} }).then(newres=>{ setNewReservations(newres.data); setReservations(res.data); setLoadingReservations(false) }) }).catch(er => { setLoadingReservations(false) notification['error']({ message: 'Се случи проблем при додавање резервација. Ве молиме пробајте повторно подоцна', }); console.log(er); }); return date; }) } const dateChanged = (cng) => { setDate(cng) getReservations() } const changeReservationStatus = (id, newStatus) => { console.log(id) axios.put(env.api + 'Reservations/'+id+'/status',{}, { params: { status: newStatus }, headers: {Authorization: localStorage.getItem('Auth')} }).then(res => { getReservations() }).catch(er => { notification['error']({ message: 'Се случи проблем при менување резервација. Ве молиме пробајте повторно подоцна', }); console.log(er); }) } const changeTable = (ev, item) => { axios.put(env.api + 'Reservations/'+item.id+'/table',{}, { params: { tableId: ev.target.value == '' ? 0 : ev.target.value }, headers: {Authorization: localStorage.getItem('Auth')} }).then(res => { console.log("success"); }).catch(er => { notification['error']({ message: 'Се случи проблем при менување резервација. Ве молиме пробајте повторно подоцна', }); console.log(er); }) setNewReservations(old =>{ const newRes = old.indexOf(item); if(newRes == -1) return old; const copy = [...old]; copy[newRes].table = ev.target.value; return copy; }) setReservations(old =>{ const newRes = old.indexOf(item); if(newRes == -1) return old; const copy = [...old]; copy[newRes].table = ev.target.value; return copy; }) } const ReservationType = [ 'Кратко', 'Долго', 'Настан' ]; const ReservationPlace = [ 'Внатре', 'Надвор' ]; const ReservationStatus = [ 'New', 'Confirmed', 'Cancelled' ]; return(

Резервации

Нови резервации

( changeReservationStatus(item.id,ReservationStatus[1])}>Прифати, changeReservationStatus(item.id,ReservationStatus[2])}>Отфрли] : item.reservationStatus == 1 ? [Прифатено] : [Отфрлено]}>
Име: {item.contactName}
Број: {item.contactNumber}
Маса: changeTable(ev,item)}/>
Луѓе: {item.persons}
{ReservationPlace[item.reservationPlace]}, {ReservationType[item.reservationType]}
{moment(item.startDate).format('hh:mm DD/MM/YY')}
)}/>

Сите резервации

( changeReservationStatus(item.id,ReservationStatus[1])}>Прифати, changeReservationStatus(item.id,ReservationStatus[2])}>Отфрли] : item.reservationStatus == 1 ? [Прифатено] : [Отфрлено]}>
Име: {item.contactName}
Број: {item.contactNumber}
Маса: changeTable(ev,item)}/>
Луѓе: {item.persons}
{ReservationPlace[item.reservationPlace]}, {ReservationType[item.reservationType]}
{moment(item.startDate).format('hh:mm DD/MM/YY')}
)}/>
Прати ]} onCancel={()=>setNewReservationModal(false)} visible={newReservationModal}>
) } export default Reservations;