feat:성적서 인쇄뷰 + 문서 편집 버그 수정

- 성적서 인쇄뷰(print.blade.php) 추가: 동적 검사 테이블 렌더링
- DocumentController: print() 메서드, create/edit HTMX HX-Redirect 추가
- 기본필드 field_key: Str::slug→bf_{id} (한글 빈문자열 버그 수정)
- show.blade.php: 성적서 버튼 추가
- 양식 편집 UI 개선 + 복제 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-01 20:37:01 +09:00
parent 5ddea44bef
commit 5e193e9f8e
7 changed files with 722 additions and 133 deletions

View File

@@ -37,8 +37,12 @@ public function index(Request $request): View|Response
/**
* 문서 생성 페이지
*/
public function create(Request $request): View
public function create(Request $request): View|Response
{
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('documents.create', $request->query()));
}
$tenantId = session('selected_tenant_id');
$templateId = $request->query('template_id');
@@ -65,8 +69,12 @@ public function create(Request $request): View
/**
* 문서 수정 페이지
*/
public function edit(int $id): View
public function edit(int $id): View|Response
{
if (request()->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('documents.edit', $id));
}
$tenantId = session('selected_tenant_id');
$document = Document::with([
@@ -95,6 +103,28 @@ public function edit(int $id): View
]);
}
/**
* 문서 인쇄용 화면 (성적서 양식)
*/
public function print(int $id): View
{
$tenantId = session('selected_tenant_id');
$document = Document::with([
'template.approvalLines',
'template.basicFields',
'template.sections.items',
'template.columns',
'approvals.user',
'data',
'creator',
])->where('tenant_id', $tenantId)->findOrFail($id);
return view('documents.print', [
'document' => $document,
]);
}
/**
* 문서 상세 페이지 (읽기 전용)
*/