- EmploymentCertService: 사원 정보 조회, DOCX 생성, 파일 레코드 생성
- API 엔드포인트: cert-info/{userId}, generate-cert-docx
- _certificate-form: 인적사항/재직사항/발급정보 입력 폼
- _certificate-show: 재직증명서 읽기전용 표시 파셜
- create/edit/show에 employment_cert 양식 분기 처리
- phpoffice/phpword 패키지 추가
102 lines
4.8 KiB
PHP
102 lines
4.8 KiB
PHP
{{--
|
|
재직증명서 읽기전용 렌더링
|
|
Props:
|
|
$content (array) - approvals.content JSON
|
|
--}}
|
|
<div class="space-y-4">
|
|
{{-- 인적사항 --}}
|
|
<div class="border border-gray-200 rounded-lg overflow-hidden">
|
|
<div class="bg-gray-50 px-4 py-2 border-b border-gray-200">
|
|
<h3 class="text-sm font-semibold text-gray-700">1. 인적사항</h3>
|
|
</div>
|
|
<div class="p-4">
|
|
<div class="grid gap-3" style="grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));">
|
|
<div>
|
|
<span class="text-xs text-gray-500">성명</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['name'] ?? '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<span class="text-xs text-gray-500">주민등록번호</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['resident_number'] ?? '-' }}</div>
|
|
</div>
|
|
<div style="grid-column: 1 / -1;">
|
|
<span class="text-xs text-gray-500">주소</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['address'] ?? '-' }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- 재직사항 --}}
|
|
<div class="border border-gray-200 rounded-lg overflow-hidden">
|
|
<div class="bg-gray-50 px-4 py-2 border-b border-gray-200">
|
|
<h3 class="text-sm font-semibold text-gray-700">2. 재직사항</h3>
|
|
</div>
|
|
<div class="p-4">
|
|
<div class="grid gap-3" style="grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));">
|
|
<div>
|
|
<span class="text-xs text-gray-500">회사명</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['company_name'] ?? '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<span class="text-xs text-gray-500">사업자번호</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['business_num'] ?? '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<span class="text-xs text-gray-500">근무부서</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['department'] ?? '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<span class="text-xs text-gray-500">직급</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['position'] ?? '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<span class="text-xs text-gray-500">재직기간</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['hire_date'] ?? '-' }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- 발급정보 --}}
|
|
<div class="border border-gray-200 rounded-lg overflow-hidden">
|
|
<div class="bg-gray-50 px-4 py-2 border-b border-gray-200">
|
|
<h3 class="text-sm font-semibold text-gray-700">3. 발급정보</h3>
|
|
</div>
|
|
<div class="p-4">
|
|
<div class="grid gap-3" style="grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));">
|
|
<div>
|
|
<span class="text-xs text-gray-500">사용용도</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['purpose'] ?? '-' }}</div>
|
|
</div>
|
|
<div>
|
|
<span class="text-xs text-gray-500">발급일</span>
|
|
<div class="text-sm font-medium mt-0.5">{{ $content['issue_date'] ?? '-' }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- 첨부파일 --}}
|
|
@if(!empty($approval->attachments))
|
|
<div>
|
|
<span class="text-xs text-gray-500">첨부파일</span>
|
|
<div class="mt-1 space-y-1">
|
|
@foreach($approval->attachments as $file)
|
|
<div class="flex items-center gap-2 text-sm">
|
|
<svg class="w-4 h-4 text-gray-400 shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"/>
|
|
</svg>
|
|
<a href="{{ route('api.admin.approvals.download-file', $file['id']) }}" class="text-blue-600 hover:underline" target="_blank">
|
|
{{ $file['name'] ?? '파일' }}
|
|
</a>
|
|
<span class="text-xs text-gray-400">
|
|
{{ isset($file['size']) ? number_format($file['size'] / 1024, 1) . 'KB' : '' }}
|
|
</span>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|