diff --git a/web-app/src/Components/Pages/AppointmentsPage/AppointmentsPage.jsx b/web-app/src/Components/Pages/AppointmentsPage/AppointmentsPage.jsx
index 4c7541e..14fb209 100644
--- a/web-app/src/Components/Pages/AppointmentsPage/AppointmentsPage.jsx
+++ b/web-app/src/Components/Pages/AppointmentsPage/AppointmentsPage.jsx
@@ -1,31 +1,37 @@
-import {Button, FloatButton, Result, Tabs, Typography} from "antd";
-import {Splitter} from "antd";
-import {CalendarOutlined, TableOutlined, MenuFoldOutlined, MenuUnfoldOutlined, PlusOutlined} from "@ant-design/icons";
+import { Button, FloatButton, Result, Tabs, Typography } from "antd";
+import { Splitter } from "antd";
+import { CalendarOutlined, TableOutlined, MenuFoldOutlined, MenuUnfoldOutlined, PlusOutlined } from "@ant-design/icons";
import AppointmentsCalendarTab from "./Components/AppointmentCalendarTab/AppointmentsCalendarTab.jsx";
import AppointmentsTableTab from "./Components/AppointmentTableTab/AppointmentsTableTab.jsx";
import useAppointmentsUI from "./useAppointmentsUI.js";
import useAppointments from "./useAppointments.js";
import dayjs from 'dayjs';
import LoadingIndicator from "../../Widgets/LoadingIndicator.jsx";
-import AppointmentFormModal
- from "./Components/AppointmentCalendarTab/Components/AppointmentFormModal/AppointmentFormModal.jsx";
+import AppointmentFormModal from "./Components/AppointmentCalendarTab/Components/AppointmentFormModal/AppointmentFormModal.jsx";
+import { useDispatch } from "react-redux";
+import { closeModal, openModal } from "../../../Redux/Slices/appointmentsSlice.js";
const AppointmentsPage = () => {
const appointmentsData = useAppointments();
const appointmentsPageUI = useAppointmentsUI(appointmentsData.appointments, appointmentsData.scheduledAppointments);
+ const dispatch = useDispatch();
+
+ const handleCancelModal = () => {
+ dispatch(closeModal());
+ };
const items = [
{
key: "1",
label: "Календарь приемов",
- children: ,
- icon: ,
+ children: ,
+ icon: ,
},
{
key: "2",
label: "Таблица приемов",
- children: ,
- icon: ,
+ children: ,
+ icon: ,
},
];
@@ -40,7 +46,7 @@ const AppointmentsPage = () => {
return (
<>
{appointmentsData.isLoading ? (
-
+
) : (
<>
{
min="25%"
max="90%"
>
-
+
{appointmentsPageUI.showSplitterPanel && (
@@ -94,34 +100,33 @@ const AppointmentsPage = () => {
: }
+ icon={appointmentsPageUI.collapsed ? : }
style={appointmentsPageUI.siderButtonStyle}
>
{appointmentsPageUI.siderButtonText}
}
- tooltip={"Создать"}
+ icon={}
+ tooltip="Создать"
>
}
- onClick={appointmentsPageUI.openCreateAppointmentModal}
- tooltip={"Прием"}
+ icon={}
+ onClick={() => dispatch(openModal())}
+ tooltip="Прием"
/>
}
+ icon={}
onClick={appointmentsPageUI.openCreateScheduledAppointmentModal}
- tooltip={"Запланированный прием"}
+ tooltip="Запланированный прием"
/>
>
)}
diff --git a/web-app/src/Components/Pages/AppointmentsPage/Components/AppointmentCalendarTab/Components/AppointmentFormModal/AppointmentFormModal.jsx b/web-app/src/Components/Pages/AppointmentsPage/Components/AppointmentCalendarTab/Components/AppointmentFormModal/AppointmentFormModal.jsx
index da6bc83..39c525b 100644
--- a/web-app/src/Components/Pages/AppointmentsPage/Components/AppointmentCalendarTab/Components/AppointmentFormModal/AppointmentFormModal.jsx
+++ b/web-app/src/Components/Pages/AppointmentsPage/Components/AppointmentCalendarTab/Components/AppointmentFormModal/AppointmentFormModal.jsx
@@ -1,16 +1,26 @@
import ReactQuill from 'react-quill';
import 'react-quill/dist/quill.snow.css';
import dayjs from "dayjs";
-import {Button, DatePicker, Form, InputNumber, Modal, Result, Select} from "antd";
+import utc from "dayjs/plugin/utc";
+import timezone from "dayjs/plugin/timezone";
+import { Button, DatePicker, Form, InputNumber, Modal, Result, Select } from "antd";
import useAppointmentFormModal from "./useAppointmentFormModal.js";
import useAppointmentFormModalUI from "./useAppointmentFormModalUI.js";
import LoadingIndicator from "../../../../../../Widgets/LoadingIndicator.jsx";
-import {DefaultModalPropType} from "../../../../../../../Types/defaultModalPropType.js";
+import { DefaultModalPropType } from "../../../../../../../Types/defaultModalPropType.js";
+dayjs.extend(utc);
+dayjs.extend(timezone);
+dayjs.tz.setDefault('Europe/Moscow');
-const AppointmentFormModal = ({visible, onCancel, onSubmit}) => {
+const AppointmentFormModal = ({ visible, onCancel }) => {
const appointmentFormModalData = useAppointmentFormModal();
- const appointmentFormModalUI = useAppointmentFormModalUI(visible, onCancel, onSubmit);
+ const appointmentFormModalUI = useAppointmentFormModalUI(
+ visible,
+ onCancel,
+ appointmentFormModalData.createAppointment,
+ appointmentFormModalData.updateAppointment
+ );
if (appointmentFormModalData.isError) {
return (
@@ -25,23 +35,23 @@ const AppointmentFormModal = ({visible, onCancel, onSubmit}) => {
return (
<>
{appointmentFormModalData.isLoading ? (
-
+
) : (