diff --git a/web-app/src/components/lens_issues/LensIssueFormModal.jsx b/web-app/src/components/lens_issues/LensIssueFormModal.jsx index 4205539..fd827aa 100644 --- a/web-app/src/components/lens_issues/LensIssueFormModal.jsx +++ b/web-app/src/components/lens_issues/LensIssueFormModal.jsx @@ -1,25 +1,25 @@ import {useEffect, useState} from "react"; -import {Modal, Form, Input, Select, Collapse, Button, notification, List} from "antd"; +import {Modal, Form, Input, Select, Button, notification, Typography, Collapse, Steps} from "antd"; import PropTypes from "prop-types"; import getAllPatients from "../../api/patients/GetAllPatients.jsx"; import getAllLenses from "../../api/lenses/GetAllLenses.jsx"; import {useAuth} from "../../AuthContext.jsx"; const {Option} = Select; -const {Panel} = Collapse; const LensIssueFormModal = ({visible, onCancel, onSubmit}) => { const {user} = useAuth(); - - const [form] = Form.useForm(); const [patients, setPatients] = useState([]); const [lenses, setLenses] = useState([]); - const [selectedPatient, setSelectedPatient] = useState(null); - const [selectedLens, setSelectedLens] = useState(null); const [searchPatientString, setSearchPatientString] = useState(""); const [searchLensString, setSearchLensString] = useState(""); + const [selectedPatient, setSelectedPatient] = useState(null); + const [selectedLens, setSelectedLens] = useState(null); + + const [currentStep, setCurrentStep] = useState(0); + useEffect(() => { if (visible) { fetchPatients(); @@ -55,17 +55,15 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => { const handleOk = async () => { try { - const values = await form.validateFields(); - onSubmit({...values, patient: selectedPatient, lens: selectedLens}); - form.resetFields(); + // const values = await form.validateFields(); + onSubmit({...values, patient: selectedPatient}); setSelectedPatient(null); - setSelectedLens(null); } catch (errorInfo) { console.log("Validation Failed:", errorInfo); } }; - const flteredPatients = patients + const filteredPatients = patients .filter((patient) => { const searchLower = searchPatientString.toLowerCase(); @@ -74,13 +72,7 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => { .some(value => value.toLowerCase().includes(searchLower)); }); - const filteredLenses = lenses - .filter((lens) => { - const searchLower = searchLensString.toLowerCase(); - return lens.side.toLowerCase().includes(searchLower); - }); - - const items = flteredPatients.map((patient) => ( + const patientsItems = filteredPatients.map((patient) => ( { key: patient.id, label: `${patient.last_name} ${patient.first_name} (${new Date(patient.birthday).toLocaleDateString("ru-RU")})`, @@ -91,16 +83,151 @@ const LensIssueFormModal = ({visible, onCancel, onSubmit}) => {
Диагноз: {patient.diagnosis}
Email: {patient.email}
Телефон: {patient.phone}
+ , } )); + const filteredLenses = lenses.filter((lens) => { + const searchLower = searchLensString.toLowerCase(); + + return Object.values(lens) + .filter(value => typeof value === "string") + .some(value => value.toLowerCase().includes(searchLower)); + }) + + const lensesItems = filteredLenses.map((lens) => ( + { + key: lens.id, + label: `Линза ${lens.side} ${lens.diameter} мм`, + children: +Диаметр: {lens.diameter}
+Тор: {lens.tor}
+Пресетная рефракция: {lens.preset_refraction}
+Диаметр: {lens.diameter}
+FVC: {lens.fvc}
+Острота зрения (Trial): {lens.trial}
+Периферийная торичность: {lens.periphery_toricity}
+Сторона: {lens.side}
+Esa: {lens.esa}
+ +Дата рождения: {new Date(selectedPatient.birthday).toLocaleDateString("ru-RU")}
+Email: {selectedPatient.email}
+Телефон: {selectedPatient.phone}
+ +Диаметр: {selectedLens.diameter}
+Тор: {selectedLens.tor}
+Пресетная рефракция: {selectedLens.preset_refraction}
+Диаметр: {selectedLens.diameter}
+FVC: {selectedLens.fvc}
+Острота зрения (Trial): {selectedLens.trial}
+Периферийная торичность: {selectedLens.periphery_toricity}
+Сторона: {selectedLens.side}
+Esa: {selectedLens.esa}
+ +Дата рождения: {new Date(selectedPatient.birthday).toLocaleDateString("ru-RU")}
+Email: {selectedPatient.email}
+Телефон: {selectedPatient.phone}
+Линза: {selectedLens.diameter} {selectedLens.tor} {selectedLens.preset_refraction}
+