Codes
Codes
function renderStaff() {
staffTableBody.innerHTML = '';
staffDB.forEach(s => {
row.innerHTML = `<td>${s.id}</td><td>${s.name}</td><td>${s.position}</td>`;
staffTableBody.appendChild(row);
opt.value = s.id;
selectStaff.appendChild(opt);
});
localStorage.setItem('aflinkStaff', JSON.stringify(staffDB));
function renderPayrollSummary() {
payrollSummaryBody.innerHTML = '';
payrollLog.forEach(entry => {
const row = document.createElement('tr');
row.innerHTML = `<td>${entry.id}</td><td>${entry.name}</td><td>${entry.position}</td><td>$
{entry.netPay.toLocaleString()}</td><td>${entry.date}</td>`;
payrollSummaryBody.appendChild(row);
});
staffForm.addEventListener('submit', e => {
e.preventDefault();
const id = document.getElementById('staffId').value.trim();
renderStaff();
staffForm.reset();
});
payrollForm.addEventListener('submit', e => {
e.preventDefault();
payslipDiv.style.display = 'block';
payslipDiv.innerHTML = `
<h3>e-Pay Slip</h3>
<p><strong>Position:</strong> ${staff.position}</p>
<p><em>Date:</em> ${today}</p>
`;
payrollLog.push({
id: staff.id,
name: staff.name,
position: staff.position,
netPay: netPay,
date: today
});
localStorage.setItem('aflinkPayroll', JSON.stringify(payrollLog));
renderPayrollSummary();
});
renderStaff();
renderPayrollSummary();
</script>