From b8e31f7ba38099cf42c30f1bd8c349bbefa78199 Mon Sep 17 00:00:00 2001 From: Malini Date: Wed, 28 Jan 2026 19:17:38 +0530 Subject: [PATCH] fixed --- .../survey/ReviewSubmit/ReviewSubmit.jsx | 25 +++++++++++++++++-- .../src/pages/Survey/Survey.jsx | 4 +++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx b/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx index 9e09458..ef8970a 100644 --- a/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx +++ b/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx @@ -1,7 +1,7 @@ import React, { useState, useEffect } from 'react'; import Table from '@/components/common/Table'; import { getQuarterPeriods } from '@/services/submissions/submissionService'; -import { getEmirates } from '@/services/masters/masterService'; +import { getEmirates, fetchVariationReasons, fetchZeroTargetReasons } from '@/services/masters/masterService'; const caretUpSrc = '/assets/images/caret-up.svg'; const caretDownSrc = '/assets/images/CaretDown-black.svg'; const establishmentIconSrc = '/assets/images/Establishment.svg'; @@ -358,6 +358,8 @@ const ReviewSubmit = ({ const [confirm, setConfirm] = React.useState(false); const [emirates, setEmirates] = useState([]); const [emirateName, setEmirateName] = useState(''); + const [variationReasons, setVariationReasons] = useState([]); + const [zeroTargetReasons, setZeroTargetReasons] = useState([]); useEffect(() => { const fetchEmiratesData = async () => { @@ -417,6 +419,22 @@ const ReviewSubmit = ({ }; fetchQuarterPeriods(); + + // Fetch variation and zero target reasons + const fetchReasons = async () => { + try { + const [variationReasonsData, zeroTargetReasonsData] = await Promise.all([ + fetchVariationReasons(), + fetchZeroTargetReasons() + ]); + setVariationReasons(variationReasonsData || []); + setZeroTargetReasons(zeroTargetReasonsData || []); + } catch (error) { + console.error('Error fetching reason options:', error); + } + }; + + fetchReasons(); }, []); const [remarks, setRemarks] = React.useState(() => { if (typeof window !== 'undefined') { @@ -446,7 +464,10 @@ const ReviewSubmit = ({ }; const establishmentDetails = React.useMemo(() => buildEstablishmentDetails(establishment, emirateName), [establishment, emirateName]); const employmentDetails = React.useMemo(() => buildEmploymentDetails(establishment), [establishment]); - const productRows = React.useMemo(() => buildProductRows(products), [products]); + const productRows = React.useMemo( + () => buildProductRows(products, { variationReasons, zeroTargetReasons }), + [products, variationReasons, zeroTargetReasons] + ); const infoBadgeClass = 'inline-flex items-center rounded-[10px] border border-[#E5D7AA] bg-[#FDF9EB] px-3 py-1 text-sm font-medium text-[#92722A]'; diff --git a/ipi-survey-platform/src/pages/Survey/Survey.jsx b/ipi-survey-platform/src/pages/Survey/Survey.jsx index 372f972..7fcb870 100644 --- a/ipi-survey-platform/src/pages/Survey/Survey.jsx +++ b/ipi-survey-platform/src/pages/Survey/Survey.jsx @@ -746,6 +746,8 @@ const Survey = () => { localStorage.removeItem('currentSurvey'); // Remove currentSurveyPeriod from localStorage localStorage.removeItem('currentSurveyPeriod'); + localStorage.removeItem('currentQuarter'); + localStorage.removeItem('currentYear'); } catch (error) { console.error('Failed to submit survey', error); const message = error?.response?.data?.message || error?.message || 'Failed to submit survey.'; @@ -785,6 +787,8 @@ const Survey = () => { localStorage.removeItem('surveyRemarks'); // Clear the stored survey data after successful resubmission localStorage.removeItem('currentSurvey'); + localStorage.removeItem('currentQuarter'); + localStorage.removeItem('currentYear'); } catch (error) { console.error('Resubmission failed:', error); const message = error?.response?.data?.message || error?.message || 'Failed to resubmit survey. Please try again.';