fix(tkfb): TBM 팀 구성 모달 기본 정보 바인딩 버그 수정

날짜/입력자/프로젝트/공정 필드가 모두 빈 값으로 표시되던 4건 수정:
- sessionDateDisplay.textContent로 날짜 표시
- leaderName .value → .textContent (div 요소)
- 프로젝트/공정 드롭다운 옵션 채우기 + 기존 값 선택

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-16 15:20:20 +09:00
parent ec59efcdb6
commit 5cc3191871
2 changed files with 31 additions and 5 deletions

View File

@@ -2005,17 +2005,43 @@ async function openTeamCompositionModal(sessionId) {
// 모달 열기
document.getElementById('modalTitle').textContent = '팀 구성 수정';
document.getElementById('sessionId').value = sessionId;
document.getElementById('sessionDate').value = session.session_date;
// 입력자 표시
// 1. TBM 날짜 표시
const dateStr = formatDate(session.session_date);
document.getElementById('sessionDate').value = dateStr;
const [year, month, day] = dateStr.split('-');
const dayNames = ['일', '월', '화', '수', '목', '금', '토'];
const dayName = dayNames[new Date(dateStr).getDay()];
const sessionDateDisplay = document.getElementById('sessionDateDisplay');
if (sessionDateDisplay) {
sessionDateDisplay.textContent = `${year}${parseInt(month)}${parseInt(day)}일 (${dayName})`;
}
// 2. 입력자 표시 (.textContent 사용)
if (session.leader_name) {
document.getElementById('leaderName').value = `${session.leader_name} (${session.leader_job_type || ''})`;
document.getElementById('leaderName').textContent = `${session.leader_name} (${session.leader_job_type || ''})`;
document.getElementById('leaderId').value = session.leader_user_id;
} else if (session.created_by_name) {
document.getElementById('leaderName').value = `${session.created_by_name} (관리자)`;
document.getElementById('leaderName').textContent = `${session.created_by_name} (관리자)`;
document.getElementById('leaderId').value = '';
}
// 3. 프로젝트 드롭다운 채우기 + 기존 값 선택
const projSelect = document.getElementById('newTbmProjectId');
if (projSelect) {
projSelect.innerHTML = '<option value="">선택 안함</option>' +
allProjects.map(p => `<option value="${p.project_id}">${escapeHtml(p.project_name)} (${escapeHtml(p.job_no || '')})</option>`).join('');
if (session.project_id) projSelect.value = session.project_id;
}
// 4. 공정 드롭다운 채우기 + 기존 값 선택
const wtSelect = document.getElementById('newTbmWorkTypeId');
if (wtSelect) {
wtSelect.innerHTML = '<option value="">공정 선택...</option>' +
allWorkTypes.map(wt => `<option value="${wt.id}">${escapeHtml(wt.name)}</option>`).join('');
if (session.work_type_id) wtSelect.value = session.work_type_id;
}
// 생성 모드 섹션 숨기고 편집 모드 섹션 표시
const createSection = document.getElementById('newTbmWorkerGrid')?.closest('.tbm-form-section');
const editSection = document.getElementById('workerTaskListSection');

View File

@@ -580,7 +580,7 @@
<script src="/js/tbm/state.js?v=2026031602"></script>
<script src="/js/tbm/utils.js?v=2026031602"></script>
<script src="/js/tbm/api.js?v=2026031602"></script>
<script defer src="/js/tbm.js?v=2026031602"></script>
<script defer src="/js/tbm.js?v=2026031603"></script>
<script>initAuth();</script>
</body>
</html>