diff --git a/system1-factory/web/pages/attendance/annual-overview.html b/system1-factory/web/pages/attendance/annual-overview.html index c82a08a..2bb428c 100644 --- a/system1-factory/web/pages/attendance/annual-overview.html +++ b/system1-factory/web/pages/attendance/annual-overview.html @@ -354,6 +354,12 @@ }, 50); })(); + // 숫자 포맷: 정수면 소수점 없이, 소수면 2자리 + function fmtNum(v) { + const n = parseFloat(v) || 0; + return n % 1 === 0 ? n.toString() : n.toFixed(2); + } + // 전역 변수 let workers = []; let currentYear = new Date().getFullYear(); @@ -488,24 +494,24 @@ ${w.worker_name} + onblur="var n=parseFloat(this.value||0);this.value=n%1===0?n.toString():n.toFixed(2)"> + onblur="var n=parseFloat(this.value||0);this.value=n%1===0?n.toString():n.toFixed(2)"> + onblur="var n=parseFloat(this.value||0);this.value=n%1===0?n.toString():n.toFixed(2)"> - ${totalGenerated.toFixed(2)} - ${totalUsed.toFixed(2)} - ${remaining.toFixed(2)} + ${fmtNum(totalGenerated)} + ${fmtNum(totalUsed)} + ${fmtNum(remaining)} `; }).join(''); @@ -555,9 +561,9 @@ const remaining = totalGenerated - totalUsed; const cells = row.querySelectorAll('td'); - cells[6].textContent = totalGenerated.toFixed(2); - cells[7].textContent = totalUsed.toFixed(2); - cells[8].textContent = remaining.toFixed(2); + cells[6].textContent = fmtNum(totalGenerated); + cells[7].textContent = fmtNum(totalUsed); + cells[8].textContent = fmtNum(remaining); cells[8].className = `remaining ${remaining > 0 ? 'positive' : remaining < 0 ? 'negative' : 'zero'}`; } @@ -595,9 +601,9 @@ `).join('')} - + onblur="var n=parseFloat(this.value||0);this.value=n%1===0?n.toString():n.toFixed(2)">