From c320437b00a1c073e403250e73c22079f8187dec Mon Sep 17 00:00:00 2001 From: andrei Date: Sun, 6 Apr 2025 08:21:01 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B2=D0=B2=D0=BE=D0=B4=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BF=D0=B0=D1=86=D0=B8=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=B8=20=D0=BB=D0=B8=D0=BD=D0=B7=20=D0=B2?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=BE=D0=BA=D0=BD=D0=B5=20=D0=BF=D0=BE=20=D0=B2=D1=8B=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B5=20=D0=BB=D0=B8=D0=BD=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-app/src/Api/lensesApi.js | 6 +++++ .../LensIssueFormModal/LensIssueFormModal.jsx | 23 +++++++++++-------- .../useLensIssueFormModal.js | 4 ++-- .../useLensIssueFormModalUI.js | 8 +++---- 4 files changed, 24 insertions(+), 17 deletions(-) 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, }; };