- Timestamp:
- 09/04/26 19:08:08 (3 weeks ago)
- Branches:
- master
- Children:
- cdcff72
- Parents:
- e1f74f6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
frontend/src/pages/medical-records/MedicalRecordDetail.js
re1f74f6 r9af201e 1 import React, { useState, useEffect } from 'react';1 import React, { useState, useEffect, useCallback } from 'react'; 2 2 import { useParams, useNavigate } from 'react-router-dom'; 3 3 import { medicalRecordService } from '../../services/medicalRecordService'; … … 77 77 const [procedureResults, setProcedureResults] = useState([]); 78 78 79 useEffect(() => { 80 fetchRecord(); 81 fetchDoctors(); 82 fetchDropdownOptions(); 83 }, [id]); 84 85 const fetchDropdownOptions = async () => { 86 try { 87 console.log('Fetching dropdown options...'); 88 const diagnosesRes = await apiClient.get('/medical-records/dropdown/diagnoses'); 89 console.log('Diagnoses:', diagnosesRes.data); 90 91 const symptomsRes = await apiClient.get('/medical-records/dropdown/symptoms'); 92 console.log('Symptoms:', symptomsRes.data); 93 94 const allergiesRes = await apiClient.get('/medical-records/dropdown/allergies'); 95 console.log('Allergies:', allergiesRes.data); 96 97 const prescriptionsRes = await apiClient.get('/medical-records/dropdown/prescriptions'); 98 console.log('Prescriptions:', prescriptionsRes.data); 99 100 const testsRes = await labService.getAllLabTests(); 101 console.log('Lab Tests:', testsRes.data); 102 103 const proceduresRes = await procedureService.getAllProcedures(); 104 console.log('Procedures:', proceduresRes.data); 105 106 setDiagnoses(diagnosesRes.data || []); 107 setSymptoms(symptomsRes.data || []); 108 setAllergies(allergiesRes.data || []); 109 setPrescriptions(prescriptionsRes.data || []); 110 setLabTests(testsRes.data || []); 111 setProcedures(proceduresRes.data || []); 112 console.log('Dropdown options set successfully'); 113 } catch (err) { 114 console.error('Error fetching dropdown options:', err); 115 setError('Failed to load dropdown options: ' + (err.response?.data?.error || err.message)); 116 } 117 }; 118 119 const fetchRecord = async () => { 79 const fetchRecord = useCallback(async () => { 120 80 try { 121 81 setLoading(true); … … 146 106 setLoading(false); 147 107 } 148 }; 149 150 const fetchDoctors = async () => { 151 try { 152 if (!isDoctor) { 153 const response = await doctorService.getAllDoctors(); 154 setDoctors(response.data); 155 if (response.data.length > 0 && !selectedDoctorId) { 156 setSelectedDoctorId(response.data[0].doctorId); 108 }, [id]); 109 110 useEffect(() => { 111 const fetchDoctors = async () => { 112 try { 113 if (!isDoctor) { 114 const response = await doctorService.getAllDoctors(); 115 setDoctors(response.data); 116 if (response.data.length > 0 && !selectedDoctorId) { 117 setSelectedDoctorId(response.data[0].doctorId); 118 } 157 119 } 158 } 159 } catch (err) { 160 console.error('Failed to fetch doctors', err); 161 } 162 }; 120 } catch (err) { 121 console.error('Failed to fetch doctors', err); 122 } 123 }; 124 125 const fetchDropdownOptions = async () => { 126 try { 127 console.log('Fetching dropdown options...'); 128 const diagnosesRes = await apiClient.get('/medical-records/dropdown/diagnoses'); 129 console.log('Diagnoses:', diagnosesRes.data); 130 131 const symptomsRes = await apiClient.get('/medical-records/dropdown/symptoms'); 132 console.log('Symptoms:', symptomsRes.data); 133 134 const allergiesRes = await apiClient.get('/medical-records/dropdown/allergies'); 135 console.log('Allergies:', allergiesRes.data); 136 137 const prescriptionsRes = await apiClient.get('/medical-records/dropdown/prescriptions'); 138 console.log('Prescriptions:', prescriptionsRes.data); 139 140 const testsRes = await labService.getAllLabTests(); 141 console.log('Lab Tests:', testsRes.data); 142 143 const proceduresRes = await procedureService.getAllProcedures(); 144 console.log('Procedures:', proceduresRes.data); 145 146 setDiagnoses(diagnosesRes.data || []); 147 setSymptoms(symptomsRes.data || []); 148 setAllergies(allergiesRes.data || []); 149 setPrescriptions(prescriptionsRes.data || []); 150 setLabTests(testsRes.data || []); 151 setProcedures(proceduresRes.data || []); 152 console.log('Dropdown options set successfully'); 153 } catch (err) { 154 console.error('Error fetching dropdown options:', err); 155 setError('Failed to load dropdown options: ' + (err.response?.data?.error || err.message)); 156 } 157 }; 158 159 fetchRecord(); 160 fetchDoctors(); 161 fetchDropdownOptions(); 162 }, [id, isDoctor, fetchRecord, selectedDoctorId]); 163 163 164 164 const handleAddDiagnosis = async (e) => { … … 857 857 try { 858 858 setLoading(true); 859 const doctorId = localStorage.getItem('doctorId')|| 1;859 const doctorId = user.doctorId || 1; 860 860 861 861 const request = { … … 964 964 try { 965 965 setLoading(true); 966 const doctorId = localStorage.getItem('doctorId')|| 1;966 const doctorId = user.doctorId || 1; 967 967 968 968 const request = {
Note:
See TracChangeset
for help on using the changeset viewer.
