diff --git a/web-app/src/Api/lensesApi.js b/web-app/src/Api/lensesApi.js
index 4555e49..374a9a9 100644
--- a/web-app/src/Api/lensesApi.js
+++ b/web-app/src/Api/lensesApi.js
@@ -19,6 +19,11 @@ export const lensesApi = createApi({
providesTags: ['Lens'],
refetchOnMountOrArgChange: 5
}),
+ getNotIssuedLenses: builder.query({
+ query: () => '/lenses/not_issued/',
+ providesTags: ['Lens'],
+ refetchOnMountOrArgChange: 5
+ }),
addLens: builder.mutation({
query: (lens) => ({
url: '/lenses/',
@@ -47,6 +52,7 @@ export const lensesApi = createApi({
export const {
useGetLensesQuery,
+ useGetNotIssuedLensesQuery,
useAddLensMutation,
useUpdateLensMutation,
useDeleteLensMutation,
diff --git a/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/LensIssueFormModal.jsx b/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/LensIssueFormModal.jsx
index fbb54ba..9a7b3f7 100644
--- a/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/LensIssueFormModal.jsx
+++ b/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/LensIssueFormModal.jsx
@@ -4,6 +4,7 @@ import {
import PropTypes from "prop-types";
import useLensIssueFormModal from "./useLensIssueFormModal.js";
import useLensIssueFormModalUI from "./useLensIssueFormModalUI.js";
+import {useMemo} from "react";
const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
const lensIssueFormModalData = useLensIssueFormModal();
@@ -37,7 +38,7 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
,
}));
- const SelectPatientStep = () => {
+ const SelectPatientStep = useMemo(() => {
return lensIssueFormModalUI.selectedPatient ? (
@@ -73,9 +74,9 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
>
);
- };
+ }, [lensIssueFormModalUI, patientsItems]);
- const SelectLensStep = () => {
+ const SelectLensStep = useMemo(() => {
return lensIssueFormModalUI.selectedLens ? (
@@ -97,7 +98,9 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
>
Выбрать другую линзу
-
) : (<>
+
+ ) : (
+ <>
{
>
);
- };
+ }, [lensIssueFormModalUI.blockStepStyle, lensIssueFormModalUI.chooseContainerStyle, lensIssueFormModalUI.handleSetSearchLensString, lensIssueFormModalUI.resetLens, lensIssueFormModalUI.searchInputStyle, lensIssueFormModalUI.searchLensString, lensIssueFormModalUI.selectedLens, lensesItems]);
const ConfirmStep = () => {
return (
@@ -135,8 +138,8 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
lensIssueFormModalUI.setIssueDate(date)}
- format="DD.MM.YYYY"
+ onChange={lensIssueFormModalUI.handleSetIssueDate}
+ format={"DD.MM.YYYY"}
style={lensIssueFormModalUI.datePickerStyle}
/>
@@ -175,9 +178,9 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
};
const steps = [{
- title: 'Выбор пациента', content: ,
+ title: 'Выбор пациента', content: SelectPatientStep,
}, {
- title: 'Выбор линзы', content: ,
+ title: 'Выбор линзы', content: SelectLensStep,
}, {
title: 'Подтверждение', content: ,
}];
@@ -203,7 +206,7 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
)}
- {lensIssueFormModalUI.screenXS && (
+ {!lensIssueFormModalUI.screenXS && (
{
const {data: patients = [], isLoading: isLoadingPatients, isError: isErrorPatients} = useGetPatientsQuery(undefined);
- const {data: lenses = [], isLoading: isLoadingLenses, isError: isErrorLenses} = useGetLensesQuery(undefined);
+ const {data: lenses = [], isLoading: isLoadingLenses, isError: isErrorLenses} = useGetNotIssuedLensesQuery(undefined);
return {
patients,
diff --git a/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/useLensIssueFormModalUI.js b/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/useLensIssueFormModalUI.js
index b89a158..255112d 100644
--- a/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/useLensIssueFormModalUI.js
+++ b/web-app/src/Components/Pages/IssuesPage/Components/LensIssueFormModal/useLensIssueFormModalUI.js
@@ -47,7 +47,7 @@ const useLensIssueFormModalUI = (visible, onCancel, onSubmit, patients, lenses)
const resetLens = () => setSelectedLens(null);
const screenXS = useMemo(() => screens.xs, [screens]);
- const direction = useMemo(() => screenXS ? "horizontal" : "vertical", [screenXS]);
+ const direction = useMemo(() => !screenXS ? "horizontal" : "vertical", [screenXS]);
const modalWidth = useMemo(() => screenXS ? 700 : "90%", [screenXS]);
const nextButtonText = useMemo(() => {
@@ -60,6 +60,7 @@ const useLensIssueFormModalUI = (visible, onCancel, onSubmit, patients, lenses)
const handleSetSearchPatientString = (e) => setSearchPatientString(e.target.value);
const handleSetSearchLensString = (e) => setSearchLensString(e.target.value);
+ const handleSetIssueDate = (date) => setIssueDate(date);
const handleOk = async () => {
try {
@@ -154,17 +155,13 @@ const useLensIssueFormModalUI = (visible, onCancel, onSubmit, patients, lenses)
filteredPatients,
filteredLenses,
searchPatientString,
- setSearchPatientString,
searchLensString,
- setSearchLensString,
issueDate,
- setIssueDate,
selectedPatient,
setSelectedPatient,
selectedLens,
setSelectedLens,
currentStep,
- setCurrentStep,
disableBackButton,
disableNextButton,
nextButtonText,
@@ -191,6 +188,7 @@ const useLensIssueFormModalUI = (visible, onCancel, onSubmit, patients, lenses)
getDateString,
handleSetSearchPatientString,
handleSetSearchLensString,
+ handleSetIssueDate,
getSelectedPatientBirthdayString,
};
};