This commit is contained in:
Malini 2026-01-28 19:17:38 +05:30
parent 67fe4e288b
commit b8e31f7ba3
2 changed files with 27 additions and 2 deletions

View File

@ -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]';

View File

@ -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.';