diff --git a/ipi-survey-platform/src/components/overview/DetailedOverview.jsx b/ipi-survey-platform/src/components/overview/DetailedOverview.jsx index 284b670..e984d81 100644 --- a/ipi-survey-platform/src/components/overview/DetailedOverview.jsx +++ b/ipi-survey-platform/src/components/overview/DetailedOverview.jsx @@ -75,12 +75,18 @@ export const DetailedOverview = ({ submission, onBack }) => { try { setIsLoading(true); setError(null); - const response = await fetchSubmissionDetail(submission.id); + const response = await fetchSubmissionDetail(submission.id); + console.log('Submission Detail API Response:', response); // Add this line if (response && response.data) { setSubmissionData(response.data); setQuarterPeriods(response.quarter_periods); // Log the products array to verify it's being set correctly + // Store quarter_window.end_date in localStorage + if (response.quarter_window?.end_date) { + localStorage.setItem('quarterWindowEndDate', response.quarter_window.end_date); + console.log('Stored quarter_window.end_date in localStorage'); + } if (response.data.products) { } } else { diff --git a/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx b/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx index 8b519c5..72c2604 100644 --- a/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx +++ b/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx @@ -7,6 +7,7 @@ const getSafeEstablishmentId = () => { }; import { useNavigate, useLocation } from 'react-router-dom'; import { getEstablishmentProducts } from '../../../services/submissions/submissionService'; +import { getEmirates } from '../../../services/masters/masterService'; import Table from '@/components/common/Table'; const caretDownSrc = '/assets/images/CaretDown.svg'; @@ -78,10 +79,8 @@ const defaultEmployeeInfo = { totalEmployees: '', totalEmirati: '', }; - - - - + + const getCurrentQuarterAndYear = () => { const now = new Date(); @@ -111,11 +110,42 @@ const EstablishmentInfo = ({ const [products, setProducts] = React.useState([]); const [loadingProducts, setLoadingProducts] = React.useState(false); const [productsError, setProductsError] = React.useState(''); + const [emirates, setEmirates] = React.useState([]); + const [emirateName, setEmirateName] = React.useState(''); const navigate = useNavigate(); const location = useLocation(); // Use a ref to persist the survey data across re-renders const surveyDataRef = React.useRef(null); + // Fetch emirates on component mount + React.useEffect(() => { + const fetchEmiratesData = async () => { + try { + const response = await getEmirates(); + if (response?.data) { + setEmirates(response.data); + } + } catch (error) { + console.error('Error fetching emirates:', error); + } + }; + + fetchEmiratesData(); + }, []); + + // Update emirate name when emirate ID or emirates list changes + React.useEffect(() => { + if (data?.emirate && emirates.length > 0) { + const emirate = emirates.find(e => e.id === parseInt(data.emirate)); + setEmirateName(emirate?.name || data.emirate); + } else if (data?.emirate) { + // If we have an emirate ID but no emirates list yet, keep the ID as fallback + setEmirateName(data.emirate); + } else { + setEmirateName(''); + } + }, [data?.emirate, emirates]); + // Fetch establishment products React.useEffect(() => { const fetchProducts = async () => { @@ -140,9 +170,9 @@ const EstablishmentInfo = ({ fetchProducts(); }, []); - -const remarksresubmit = JSON.parse(localStorage.getItem('resubmissionData'))?.product?.remarks || ''; -localStorage.setItem('surveyRemarks', remarksresubmit) + + const remarksresubmit = JSON.parse(localStorage.getItem('resubmissionData'))?.product?.remarks || ''; + localStorage.setItem('surveyRemarks', remarksresubmit) const [surveyData, setSurveyData] = React.useState(() => { // For resubmission, use the quarter/year from the submission data @@ -257,7 +287,7 @@ localStorage.setItem('surveyRemarks', remarksresubmit) try { // Get existing resubmission data if it exists const existingData = JSON.parse(localStorage.getItem('resubmissionData') || '{}'); - + console.log("existingData",existingData) // Update with establishment data const updatedData = { ...existingData, @@ -276,6 +306,8 @@ localStorage.setItem('surveyRemarks', remarksresubmit) quarter: data.quarter || surveyData.quarter, year: data.year || surveyData.year }; + console.log("updatedData",updatedData) + // Save back to localStorage localStorage.setItem('resubmissionData', JSON.stringify(updatedData)); @@ -294,7 +326,7 @@ localStorage.setItem('surveyRemarks', remarksresubmit) industryCode: data.industryCode || '', licenseNumber: data.licenseNumber || '', isicCode: data.isicCode || '', - emirate: data.emirate || '', + emirate: emirateName || '', establishment_contact_email: data.establishment_contact_email || '', employeeInfo: { ...defaultEmployeeInfo, @@ -302,7 +334,7 @@ localStorage.setItem('surveyRemarks', remarksresubmit) }, ...data, }), - [data, surveyData.quarter, surveyData.year] + [data, surveyData.quarter, surveyData.year, emirateName] ); const handleFieldChange = (field) => (event) => { @@ -312,32 +344,19 @@ localStorage.setItem('surveyRemarks', remarksresubmit) }); }; -// const handleEditProfile = (e) => { -// e.preventDefault(); - -// const establishmentId = sessionStorage.getItem('establishment_id'); -// if (!establishmentId) { -// alert('No establishment ID found in session'); -// return; -// } - -// localStorage.setItem('returnTo', window.location.pathname); -// sessionStorage.setItem('edit_profile_from', 'EstablishmentUser'); -// // navigate(`/profile/edit/${establishmentId}`); -// }; const handleEditProfile = (e) => { - e.preventDefault(); + e.preventDefault(); - const establishmentId = localStorage.getItem('establishment_id'); - if (!establishmentId) { - alert('No establishment ID found in session'); - return; - } + const establishmentId = localStorage.getItem('establishment_id'); + if (!establishmentId) { + alert('No establishment ID found in session'); + return; + } - localStorage.setItem('returnTo', window.location.pathname); - localStorage.setItem('edit_profile_from', 'EstablishmentUser'); - navigate(`/edit-profile/${establishmentId}`); -}; + localStorage.setItem('returnTo', window.location.pathname); + localStorage.setItem('edit_profile_from', 'EstablishmentUser'); + navigate(`/edit-profile/${establishmentId}`); + }; const handleEmployeeChange = (field) => (event) => { onChange({ @@ -405,8 +424,19 @@ localStorage.setItem('surveyRemarks', remarksresubmit) day: 'numeric' }) ) : ( - Mar 31, 2026 - )} + (() => { + const endDate = localStorage.getItem('quarterWindowEndDate'); + return endDate ? ( + new Date(endDate).toLocaleDateString('en-US', { + year: 'numeric', + month: 'short', + day: 'numeric' + }) + ) : ( + - + ); + })() +)}