bug fixed
This commit is contained in:
parent
398652e213
commit
49b14861aa
@ -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,
|
||||||
]);
|
]);
|
||||||
|
|||||||
@ -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),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user