[d76b7ee] | 1 | import React,{useState,useEffect} from 'react'
|
---|
| 2 | import {DatePicker, Form, Input, Modal, notification, Radio, Select} from "antd";
|
---|
| 3 | import axios from "axios";
|
---|
| 4 | import env from "../env";
|
---|
| 5 |
|
---|
| 6 | const AddNewReservation = ({ setModalSaveLoading, setModalVisible, fetchData}) => {
|
---|
| 7 |
|
---|
| 8 | const saveNewReservation = (data) => {
|
---|
| 9 | setModalSaveLoading(true)
|
---|
| 10 | const sendObj = {...data,startDate: data.startDate.format('YYYY-MM-DDThh:mm:ss')+'Z', persons: parseInt(data.persons)}
|
---|
| 11 | console.log(sendObj)
|
---|
| 12 | axios.post(env.api+"Reservations",sendObj).then(el => {
|
---|
| 13 | setModalSaveLoading(false)
|
---|
| 14 | setModalVisible(false)
|
---|
| 15 | if(fetchData) fetchData()
|
---|
| 16 | Modal.success({title:'Испратено', content:'Вашата резервација е испратена.'})
|
---|
| 17 | }).catch(er=>{
|
---|
| 18 | setModalSaveLoading(false)
|
---|
| 19 | notification['error']({
|
---|
| 20 | message: 'Се случи проблем при додавање резервација. Ве молиме пробајте повторно подоцна',
|
---|
| 21 | });
|
---|
| 22 |
|
---|
| 23 | console.log(er);
|
---|
| 24 | });
|
---|
| 25 | }
|
---|
| 26 |
|
---|
| 27 |
|
---|
| 28 | return(
|
---|
| 29 | <div>
|
---|
| 30 | <Form onFinish={saveNewReservation}
|
---|
| 31 | id={'newResForm'}
|
---|
| 32 | onFinishFailed={()=>
|
---|
| 33 | notification['error']({
|
---|
| 34 | message: 'Ве молиме поправете ги сите грешки пред зачувување!',
|
---|
| 35 | })}>
|
---|
| 36 | <i style={{color:'gray'}}>Датум и време за вашата резервација</i>
|
---|
| 37 | <Form.Item
|
---|
| 38 | label="Почеток"
|
---|
| 39 | name="startDate"
|
---|
| 40 | rules={[
|
---|
| 41 | {
|
---|
| 42 | required: true,
|
---|
| 43 | message: 'Ве молиме внесете датум и време!',
|
---|
| 44 | },
|
---|
| 45 | ]}
|
---|
| 46 | >
|
---|
| 47 | <DatePicker showTime showNow={false} format={'DD.MM HH:mm'} placeholder={'Избери датум и време'} style={{width:'100%'}}/>
|
---|
| 48 | </Form.Item>
|
---|
| 49 | <i style={{color:'gray'}}>Внесете број на гости за резервацијата</i>
|
---|
| 50 | <Form.Item
|
---|
| 51 | label="Број на гости"
|
---|
| 52 | name="persons"
|
---|
| 53 | rules={[
|
---|
| 54 | {
|
---|
| 55 | required: true,
|
---|
| 56 | message: 'Ве молиме внесете број на гости!',
|
---|
| 57 | },
|
---|
| 58 | ]}
|
---|
| 59 | >
|
---|
| 60 | <Input placeholder={'Внесете број'} type={'number'}/>
|
---|
| 61 | </Form.Item>
|
---|
| 62 | <i style={{color:'gray'}}>Изберете место и тип на резервација</i>
|
---|
| 63 | <Form.Item
|
---|
| 64 | label="Место"
|
---|
| 65 | name="reservationPlace"
|
---|
| 66 | rules={[
|
---|
| 67 | {
|
---|
| 68 | required: true,
|
---|
| 69 | message: 'Ве молиме изберете место!',
|
---|
| 70 | },
|
---|
| 71 | ]}
|
---|
| 72 | >
|
---|
| 73 | <Select>
|
---|
| 74 | <Select.Option value={0}>Внатре</Select.Option>
|
---|
| 75 | <Select.Option value={1}>Надвор</Select.Option>
|
---|
| 76 | </Select>
|
---|
| 77 | </Form.Item>
|
---|
| 78 | <Form.Item
|
---|
| 79 | label="Тип"
|
---|
| 80 | name="reservationType"
|
---|
| 81 | rules={[
|
---|
| 82 | {
|
---|
| 83 | required: true,
|
---|
| 84 | message: 'Ве молиме изберете тип!',
|
---|
| 85 | },
|
---|
| 86 | ]}
|
---|
| 87 | >
|
---|
| 88 | <Select>
|
---|
| 89 | <Select.Option value={0}>Кратко</Select.Option>
|
---|
| 90 | <Select.Option value={1}>Долго</Select.Option>
|
---|
| 91 | <Select.Option value={2}>Настан</Select.Option>
|
---|
| 92 | </Select>
|
---|
| 93 | </Form.Item>
|
---|
| 94 | <i style={{color:'gray'}}>Контакт информации</i>
|
---|
| 95 | <Form.Item
|
---|
| 96 | label="Име"
|
---|
| 97 | name="contactName"
|
---|
| 98 | rules={[
|
---|
| 99 | {
|
---|
| 100 | required: true,
|
---|
| 101 | message: 'Ве молиме внесете име!',
|
---|
| 102 | },
|
---|
| 103 | ]}
|
---|
| 104 | >
|
---|
| 105 | <Input/>
|
---|
| 106 | </Form.Item>
|
---|
| 107 | <Form.Item
|
---|
| 108 | label="Телефонски број"
|
---|
| 109 | name="contactNumber"
|
---|
| 110 | rules={[
|
---|
| 111 | {
|
---|
| 112 | required: true,
|
---|
| 113 | message: 'Ве молиме внесете број за контакт!',
|
---|
| 114 | },
|
---|
| 115 | ]}
|
---|
| 116 | >
|
---|
| 117 | <Input placeholder={'пр. 070123456'}/>
|
---|
| 118 | </Form.Item>
|
---|
| 119 |
|
---|
| 120 | </Form>
|
---|
| 121 | </div>
|
---|
| 122 | )
|
---|
| 123 | }
|
---|
| 124 |
|
---|
| 125 | export default AddNewReservation; |
---|