/* tkpurchase-workreport.js - Work report monitoring */ let reportPage = 1; const reportLimit = 20; async function loadCompaniesForFilter() { try { const r = await api('/partners?limit=100'); const list = r.data || []; const sel = document.getElementById('filterCompany'); list.forEach(c => { const opt = document.createElement('option'); opt.value = c.id; opt.textContent = c.company_name; sel.appendChild(opt); }); } catch(e) { console.warn('Load companies error:', e); } } async function loadReports() { const companyId = document.getElementById('filterCompany').value; const dateFrom = document.getElementById('filterDateFrom').value; const dateTo = document.getElementById('filterDateTo').value; const confirmed = document.getElementById('filterConfirmed').value; let query = `?page=${reportPage}&limit=${reportLimit}`; if (companyId) query += '&company_id=' + companyId; if (dateFrom) query += '&date_from=' + dateFrom; if (dateTo) query += '&date_to=' + dateTo; if (confirmed) query += '&confirmed=' + confirmed; try { const r = await api('/work-reports' + query); renderReportTable(r.data || [], r.total || 0); } catch(e) { console.warn('Report load error:', e); document.getElementById('reportTableBody').innerHTML = '
| 작업자 | 직위 | 투입시간 |
|---|---|---|
| ${escapeHtml(w.worker_name)} | ${escapeHtml(w.position || '')} | ${w.hours_worked || 0}h |
| 합계 (${d.workers.length}명) | ${totalHours}h | |