admin dashoard & submission table empty column data added

This commit is contained in:
Senthamilselvi 2025-11-03 10:46:20 +05:30
parent 9d473ecaa8
commit aca131ae33
2 changed files with 44 additions and 35 deletions

View File

@ -74,7 +74,7 @@ const SubmissionTable = ({ selectedQuarter, selectedYear }) => {
'Submission Date & Time',
'Status',
'Reviewer',
'Reviewer On',
'Reviewed On',
'Actions',
];
@ -107,44 +107,50 @@ const SubmissionTable = ({ selectedQuarter, selectedYear }) => {
}
};
const userProfile = JSON.parse(sessionStorage.getItem("user_profile"));
const tableRows = filtered.map((item) => [
item?.establishment?.factory_name || '-',
item?.establishment?.establishment_emirate?.name || '-',
item?.year || '-',
item?.quarter || '-',
item?.product_count || '-',
item?.created_by || '-',
// item?.created_by || '-',
userProfile?.name || '-',
<span className="whitespace-nowrap">{formatDate(item?.created_at)}</span>,
renderStatusBadge(item?.status),
item?.updated_by || '-',
<span className="whitespace-nowrap">{formatDate(item?.updated_at)}</span>,
<div className="flex items-center justify-center gap-[10px]">
<div className="relative group">
<CheckCircle2 size={22} className="text-green-600 cursor-pointer hover:scale-110 transition-transform" />
<span className="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-black text-white text-xs px-2 py-[2px] rounded opacity-0 group-hover:opacity-100 transition">
Approve
</span>
</div>
<div className="relative group">
<XCircle size={22} className="text-red-600 cursor-pointer hover:scale-110 transition-transform" />
<span className="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-black text-white text-xs px-2 py-[2px] rounded opacity-0 group-hover:opacity-100 transition">
Reject
</span>
</div>
<div className="relative group">
<Eye
size={22}
className={`cursor-pointer hover:scale-110 transition-transform ${
item.status?.toLowerCase() === 'pending' ? 'text-[#9E792B]' : 'text-gray-500'
}`}
onClick={() => navigate(`/admin/validations/${item.id}`)}
/>
<span className="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-black text-white text-xs px-2 py-[2px] rounded opacity-0 group-hover:opacity-100 transition">
View
</span>
</div>
</div>,
// item?.updated_by || '-',
userProfile?.name || '-',
// <span className="whitespace-nowrap">{formatDate(item?.updated_at)}</span>,
<span className="whitespace-nowrap">{formatDate(item?.created_at)}</span>,
<div className="flex items-center justify-center gap-[10px]">
<div className="relative group">
<CheckCircle2 size={22} className="text-green-600 cursor-pointer hover:scale-110 transition-transform" />
<span className="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-black text-white text-xs px-2 py-[2px] rounded opacity-0 group-hover:opacity-100 transition">
Approve
</span>
</div>
<div className="relative group">
<XCircle size={22} className="text-red-600 cursor-pointer hover:scale-110 transition-transform" />
<span className="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-black text-white text-xs px-2 py-[2px] rounded opacity-0 group-hover:opacity-100 transition">
Reject
</span>
</div>
<div className="relative group">
<Eye
size={22}
className={`cursor-pointer hover:scale-110 transition-transform ${
item.status?.toLowerCase() === 'pending' ? 'text-[#9E792B]' : 'text-gray-500'
}`}
onClick={() => navigate(`/admin/validations/${item.id}`)}
/>
<span className="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-black text-white text-xs px-2 py-[2px] rounded opacity-0 group-hover:opacity-100 transition">
View
</span>
</div>
</div>,
]);
const columnWidths = [240, 120, 100, 100, 130, 150, 180, 150, 150, 180, 120];

View File

@ -107,7 +107,7 @@ const ManageSubmissions = () => {
try {
const result = await getSubmissions();
const data = result?.status === 'success' ? result.data : result;
const userProfile = JSON.parse(sessionStorage.getItem("user_profile"));
const mapped = (data || []).map((item) => ({
id: item.id,
establishment: item?.establishment?.factory_name || '-',
@ -115,11 +115,14 @@ const ManageSubmissions = () => {
year: String(item.year ?? '-'),
quarter: item.quarter ?? '-',
products: item?.product_count || '-',
submittedBy: item.created_by ?? '-',
// submittedBy: item.created_by ?? '-',
submittedBy: userProfile?.name || '-',
submittedAt: formatDateTime(item.created_at),
status: item.status ?? '-',
reviewer: item?.updated_by || '-',
reviewerOn: formatDateTime(item?.updated_at),
// reviewer: item?.updated_by || '-',
reviewer: userProfile?.name || '-',
// reviewerOn: formatDateTime(item?.updated_at),
reviewerOn: formatDateTime(item.created_at),
}));
setSubmissions(mapped);
@ -190,7 +193,7 @@ const ManageSubmissions = () => {
item,
]);
const columnWidths = [302, 105, 83, 91, 100, 152, 208, 120, 104, 140, 130];
const columnWidths = [302, 105, 83, 91, 100, 152, 208, 120, 120, 208, 130];
const toolbar = (
<div className="px-6 pt-6 pb-5 space-y-4">