diff --git a/frontend/issues-management.html b/frontend/issues-management.html index ae48593..a4c4a6a 100644 --- a/frontend/issues-management.html +++ b/frontend/issues-management.html @@ -181,6 +181,36 @@ max-height: 0; } + /* 진행 중 카드 스타일 */ + .issue-card { + transition: all 0.2s ease; + } + + .issue-card:hover { + transform: translateY(-2px); + } + + .issue-card label { + font-weight: 500; + } + + .issue-card input:focus, + .issue-card select:focus, + .issue-card textarea:focus { + transform: scale(1.01); + transition: transform 0.1s ease; + } + + .issue-card .bg-gray-50 { + border-left: 4px solid #e5e7eb; + } + + /* 카드 내 아이콘 스타일 */ + .issue-card i { + width: 16px; + text-align: center; + } + .badge-new { background: #dbeafe; color: #1e40af; } .badge-processing { background: #fef3c7; color: #92400e; } .badge-pending { background: #ede9fe; color: #7c3aed; } @@ -605,18 +635,25 @@
-
- - - - ${createTableHeader()} - - - - ${issues.map(issue => createIssueRow(issue)).join('')} - -
-
+ ${currentTab === 'in_progress' ? + // 진행 중: 카드 형식 + `
+ ${issues.map(issue => createIssueRow(issue)).join('')} +
` : + // 완료됨: 테이블 형식 + `
+ + + + ${createTableHeader()} + + + + ${issues.map(issue => createIssueRow(issue)).join('')} + +
+
` + }
`; @@ -640,40 +677,105 @@ } } - // 진행 중 행 생성 + // 진행 중 카드 생성 function createInProgressRow(issue, project) { return ` - - ${issue.project_sequence_no || '-'} - ${project ? project.project_name : '-'} - ${issue.final_description || issue.description} - ${getCategoryText(issue.final_category || issue.category)} - - ${createEditableField('solution', issue.solution || '', 'textarea', issue.id, true)} - - - ${createEditableField('responsible_department', issue.responsible_department || '', 'select', issue.id, true, getDepartmentOptions())} - - - ${createEditableField('responsible_person', issue.responsible_person || '', 'text', issue.id, true)} - - - ${createEditableField('expected_completion_date', issue.expected_completion_date ? issue.expected_completion_date.split('T')[0] : '', 'date', issue.id, true)} - - - - - -
- ${issue.photo_path ? `업로드 사진 1` : ''} - ${issue.photo_path2 ? `업로드 사진 2` : ''} - ${!issue.photo_path && !issue.photo_path2 ? '-' : ''} +
+ +
+
+ No.${issue.project_sequence_no || '-'} +

${project ? project.project_name : '프로젝트 미지정'}

- - - - - +
+ + +
+
+ + +
+ +
+
+ +
+ ${issue.final_description || issue.description} +
+
+ +
+ +
+ + ${getCategoryText(issue.final_category || issue.category)} + +
+
+ +
+ +
+ ${issue.photo_path ? `업로드 사진 1` : '
사진 없음
'} + ${issue.photo_path2 ? `업로드 사진 2` : '
사진 없음
'} +
+
+
+ + +
+
+ + +
+ +
+
+ + +
+ +
+ + +
+
+ +
+ + +
+ + +
+
+ + 진행 중 + + + 신고일: ${new Date(issue.report_date).toLocaleDateString('ko-KR')} + +
+
+
+
+
`; } @@ -951,6 +1053,9 @@ let value = element.value.trim(); if (value === '' || value === '선택하세요') { value = null; + } else if (field === 'expected_completion_date' && value) { + // 날짜 필드는 ISO datetime 형식으로 변환 + value = value + 'T00:00:00'; } updates[field] = value; }