bug fixed

This commit is contained in:
Malini 2025-11-26 18:16:53 +05:30
parent 398652e213
commit 49b14861aa
2 changed files with 23 additions and 22 deletions

View File

@ -36,7 +36,12 @@ const SubmissionTable = ({ selectedQuarter, selectedYear }) => {
const response = await apiClient.get(`/admin_dashboard?${params.toString()}`); const response = await apiClient.get(`/admin_dashboard?${params.toString()}`);
const result = response?.data; const result = response?.data;
if (result?.status === 'success') { if (result?.status === 'success') {
setData(result.recent_submissions || []); // Map the data to include the updated_at as reviewerOn
const mappedData = (result.recent_submissions || []).map(item => ({
...item,
reviewerOn: item.updated_at || null
}));
setData(mappedData);
} else { } else {
console.error('Error: Invalid response', result); console.error('Error: Invalid response', result);
} }
@ -177,7 +182,6 @@ const handleApproveConfirm = async () => {
toast.success('Submission approved successfully'); toast.success('Submission approved successfully');
const currentUser = JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin'; const currentUser = JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin';
const currentTime = new Date().toISOString();
const updatedAt = response?.data?.updated_at || new Date().toISOString(); const updatedAt = response?.data?.updated_at || new Date().toISOString();
// Update the status of the current item in the data array // Update the status of the current item in the data array
@ -188,7 +192,8 @@ const handleApproveConfirm = async () => {
...item, ...item,
status: 'Approved', status: 'Approved',
reviewer_name: currentUser, reviewer_name: currentUser,
reviewerOn: updatedAt reviewerOn: updatedAt,
updated_at: updatedAt
} }
: item : item
) )
@ -231,7 +236,6 @@ const handleRejectConfirm = async () => {
toast.error('Submission has been rejected'); toast.error('Submission has been rejected');
const currentUser = JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin'; const currentUser = JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin';
const currentTime = new Date().toISOString();
const updatedAt = response?.data?.updated_at || new Date().toISOString(); const updatedAt = response?.data?.updated_at || new Date().toISOString();
// Update the status of the current item in the data array // Update the status of the current item in the data array
@ -242,7 +246,8 @@ const handleRejectConfirm = async () => {
...item, ...item,
status: 'Rejected', status: 'Rejected',
reviewer_name: currentUser, reviewer_name: currentUser,
reviewerOn: updatedAt reviewerOn: updatedAt,
updated_at: updatedAt
} }
: item : item
) )
@ -306,9 +311,9 @@ const tableRows = filtered.map((item) => [
item?.status?.toLowerCase() === 'approved' || item?.status?.toLowerCase() === 'rejected' item?.status?.toLowerCase() === 'approved' || item?.status?.toLowerCase() === 'rejected'
? (item?.reviewer_name || JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin') ? (item?.reviewer_name || JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin')
: '-', : '-',
// Reviewed On - show reviewerOn after approval/rejection, otherwise show '-' // Reviewed On - show updated_at after approval/rejection, otherwise show '-'
item?.status?.toLowerCase() === 'approved' || item?.status?.toLowerCase() === 'rejected' item?.status?.toLowerCase() === 'approved' || item?.status?.toLowerCase() === 'rejected'
? <span className="whitespace-nowrap">{formatDate(item?.reviewerOn)}</span> ? <span className="whitespace-nowrap">{formatDate(item?.updated_at || item?.reviewerOn)}</span>
: '-', : '-',
item, item,
]); ]);

View File

@ -153,11 +153,11 @@ const ManageSubmissions = () => {
year: String(item.year ?? '-'), year: String(item.year ?? '-'),
quarter: item.quarter ?? '-', quarter: item.quarter ?? '-',
products: item?.product_count || '-', products: item?.product_count || '-',
submittedBy: userProfile?.name || '-', submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at), submittedAt: formatDateTime(item.created_at),
status: item.status ?? '-', status: item.status ?? '-',
reviewer: userProfile?.name || '-', reviewer: item.reviewer_name || '-',
reviewerOn: formatDateTime(item.updated_at || item.created_at), reviewerOn: formatDateTime(item.updated_at ),
})); }));
setSubmissions(mapped); setSubmissions(mapped);
} else { } else {
@ -198,7 +198,6 @@ const ManageSubmissions = () => {
showToast('error', 'Submission has been rejected'); showToast('error', 'Submission has been rejected');
// Refresh the submissions list // Refresh the submissions list
const data = await fetchDashboardData(selectedQuarter, selectedYear); const data = await fetchDashboardData(selectedQuarter, selectedYear);
const userProfile = JSON.parse(sessionStorage.getItem("user_profile"));
const mapped = (data || []).map((item) => ({ const mapped = (data || []).map((item) => ({
id: item.id, id: item.id,
establishment: item?.establishment?.factory_name || '-', establishment: item?.establishment?.factory_name || '-',
@ -206,11 +205,11 @@ const ManageSubmissions = () => {
year: String(item.year ?? '-'), year: String(item.year ?? '-'),
quarter: item.quarter ?? '-', quarter: item.quarter ?? '-',
products: item?.product_count || '-', products: item?.product_count || '-',
submittedBy: userProfile?.name || '-', submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at), submittedAt: formatDateTime(item.created_at),
status: item.status ?? '-', status: item.status ?? '-',
reviewer: userProfile?.name || '-', reviewer: item.reviewer_name || '-',
reviewerOn: formatDateTime(item.created_at), reviewerOn: formatDateTime(item.updated_at),
})); }));
setSubmissions(mapped); setSubmissions(mapped);
setRejectReason(''); setRejectReason('');
@ -241,7 +240,6 @@ React.useEffect(() => {
try { try {
setLoading(true); setLoading(true);
const data = await fetchDashboardData(selectedQuarter, selectedYear); const data = await fetchDashboardData(selectedQuarter, selectedYear);
const userProfile = JSON.parse(sessionStorage.getItem("user_profile"));
const mapped = (data || []).map((item) => ({ const mapped = (data || []).map((item) => ({
id: item.id, id: item.id,
establishment: item?.establishment?.factory_name || '-', establishment: item?.establishment?.factory_name || '-',
@ -249,10 +247,10 @@ React.useEffect(() => {
year: String(item.year ?? '-'), year: String(item.year ?? '-'),
quarter: item.quarter ?? '-', quarter: item.quarter ?? '-',
products: item?.product_count || '-', products: item?.product_count || '-',
submittedBy: userProfile?.name || '-', submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at), submittedAt: formatDateTime(item.created_at),
status: item.status ?? '-', status: item.status || 'Pending',
reviewer: userProfile?.name || '-', reviewer: item.reviewer_name || '-',
reviewerOn: formatDateTime(item.updated_at || item.created_at), reviewerOn: formatDateTime(item.updated_at || item.created_at),
})); }));
@ -320,8 +318,6 @@ React.useEffect(() => {
// Then fetch the submissions with the current quarter and year // Then fetch the submissions with the current quarter and year
const data = await fetchDashboardData(currentQuarter, currentYear); const data = await fetchDashboardData(currentQuarter, currentYear);
const userProfile = JSON.parse(sessionStorage.getItem("user_profile") || '{}');
const mapped = (data || []).map((item) => ({ const mapped = (data || []).map((item) => ({
id: item.id, id: item.id,
establishment: item?.establishment?.factory_name || '-', establishment: item?.establishment?.factory_name || '-',
@ -329,10 +325,10 @@ React.useEffect(() => {
year: String(item.year ?? '-'), year: String(item.year ?? '-'),
quarter: item.quarter ?? '-', quarter: item.quarter ?? '-',
products: item?.product_count || '-', products: item?.product_count || '-',
submittedBy: userProfile?.name || '-', submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at), submittedAt: formatDateTime(item.created_at),
status: item.status || 'Pending', status: item.status || 'Pending',
reviewer: userProfile?.name || '-', reviewer: item.reviewer_name || '-',
reviewerOn: formatDateTime(item.updated_at || item.created_at), reviewerOn: formatDateTime(item.updated_at || item.created_at),
})); }));