Files
sam-manage/resources/views/approvals/partials/_seal-usage-form.blade.php
김보곤 20c4e9d879 fix: [approvals] 사용인감계 create 폼/미리보기 인감비교 형식 반영
- create.blade.php: buildSealUsagePreviewHtml 인감비교 레이아웃 적용
- create.blade.php: saveApproval formContent에서 seal_type/remarks 제거, attachment_desc 추가
- _seal-usage-form.blade.php: 인감비교 2열 레이아웃 + 용도/제출처/첨부서류 필드
- _seal-usage-show.blade.php: 읽기전용 인감비교 레이아웃
2026-03-06 21:09:42 +09:00

149 lines
9.4 KiB
PHP

{{--
사용인감계 전용
Props:
$tenantInfo (array) - 테넌트(회사) 정보
--}}
@php
$tenantInfo = $tenantInfo ?? [];
@endphp
<div id="seal-usage-form-container" style="display: none;" class="mb-4">
<input type="hidden" id="su-company-name" value="{{ $tenantInfo['company_name'] ?? '' }}">
<input type="hidden" id="su-business-num" value="{{ $tenantInfo['business_num'] ?? '' }}">
<input type="hidden" id="su-ceo-name" value="{{ $tenantInfo['ceo_name'] ?? '' }}">
<input type="hidden" id="su-company-address" value="{{ $tenantInfo['address'] ?? '' }}">
<div class="space-y-4">
{{-- 1. 인감 날인 비교란 --}}
<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="flex gap-6" style="justify-content: center;">
{{-- 법인인감 --}}
<div style="width: 200px; text-align: center;">
<div class="text-sm font-semibold text-gray-700 mb-2">법인인감</div>
<div style="width: 160px; height: 160px; border: 2px solid #d1d5db; border-radius: 8px; margin: 0 auto; display: flex; align-items: center; justify-content: center; background: #fafafa;">
<span class="text-xs text-gray-400">인감 날인 영역</span>
</div>
<p class="text-xs text-gray-400 mt-2">인쇄 날인</p>
</div>
{{-- 사용인감 --}}
<div style="width: 200px; text-align: center;">
<div class="text-sm font-semibold text-gray-700 mb-2">사용인감</div>
<div style="width: 160px; height: 160px; border: 2px solid #d1d5db; border-radius: 8px; margin: 0 auto; display: flex; align-items: center; justify-content: center; background: #fafafa;">
<span class="text-xs text-gray-400">인감 날인 영역</span>
</div>
<p class="text-xs text-gray-400 mt-2">인쇄 날인</p>
</div>
</div>
</div>
</div>
{{-- 2. 사용 정보 --}}
<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 space-y-3">
<div>
<label class="block text-xs font-medium text-gray-500 mb-1">용도 <span class="text-red-500">*</span></label>
<input type="text" id="su-purpose" placeholder="예: 법인휴대폰 개통 관련 계약에 사용"
class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500">
</div>
<div>
<label class="block text-xs font-medium text-gray-500 mb-1">제출처 <span class="text-red-500">*</span></label>
<input type="text" id="su-submit-to" placeholder="예: 이동통신사, 은행명 등"
class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500">
</div>
<div>
<label class="block text-xs font-medium text-gray-500 mb-1">첨부서류</label>
<input type="text" id="su-attachment-desc" placeholder="예: 법인인감증명서 1부"
class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500">
</div>
<div style="max-width: 250px;">
<label class="block text-xs font-medium text-gray-500 mb-1">일자</label>
<input type="date" id="su-usage-date" value="{{ now()->format('Y-m-d') }}"
class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500">
</div>
</div>
</div>
{{-- 3. 회사 정보 (읽기 전용) --}}
<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 space-y-3">
<div class="flex gap-4 flex-wrap">
<div style="flex: 1 1 250px;">
<label class="block text-xs font-medium text-gray-500 mb-1">상호</label>
<input type="text" id="su-company-display" readonly value="{{ $tenantInfo['company_name'] ?? '' }}"
class="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm bg-gray-50 text-gray-700">
</div>
<div style="flex: 1 1 200px; max-width: 250px;">
<label class="block text-xs font-medium text-gray-500 mb-1">사업자등록번호</label>
<input type="text" id="su-business-display" readonly value="{{ $tenantInfo['business_num'] ?? '' }}"
class="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm bg-gray-50 text-gray-700">
</div>
</div>
<div>
<label class="block text-xs font-medium text-gray-500 mb-1">주소</label>
<input type="text" id="su-address-display" readonly value="{{ $tenantInfo['address'] ?? '' }}"
class="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm bg-gray-50 text-gray-700">
</div>
<div style="max-width: 250px;">
<label class="block text-xs font-medium text-gray-500 mb-1">대표이사</label>
<input type="text" id="su-ceo-display" readonly value="{{ $tenantInfo['ceo_name'] ?? '' }}"
class="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm bg-gray-50 text-gray-700">
</div>
</div>
</div>
{{-- 미리보기 버튼 --}}
<div class="flex justify-end">
<button type="button" onclick="openSealUsagePreview()"
class="px-3 py-2 bg-indigo-50 text-indigo-600 hover:bg-indigo-100 border border-indigo-200 rounded-lg text-sm font-medium transition inline-flex items-center gap-1">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"/>
</svg>
미리보기
</button>
</div>
</div>
</div>
{{-- 사용인감계 미리보기 모달 --}}
<div id="seal-usage-preview-modal" style="display: none;" class="fixed inset-0 z-50">
<div class="absolute inset-0 bg-black/50" onclick="closeSealUsagePreview()"></div>
<div class="relative flex items-center justify-center min-h-full p-4">
<div class="bg-white rounded-xl shadow-2xl w-full overflow-hidden relative" style="max-width: 700px;">
<div class="flex items-center justify-between px-5 py-3 border-b border-gray-200 bg-gray-50">
<h3 class="text-base font-semibold text-gray-800">사용인감계 미리보기</h3>
<div class="flex items-center gap-2">
<button type="button" onclick="printSealUsagePreview()"
class="px-3 py-1.5 bg-white border border-gray-300 hover:bg-gray-50 rounded-lg text-xs font-medium transition inline-flex items-center gap-1">
<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"/>
</svg>
인쇄
</button>
<button type="button" onclick="closeSealUsagePreview()"
class="p-1 text-gray-400 hover:text-gray-600 transition">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
</svg>
</button>
</div>
</div>
<div class="overflow-y-auto" style="max-height: 80vh;">
<div id="seal-usage-preview-content" style="padding: 48px 56px; font-family: 'Pretendard', 'Malgun Gothic', sans-serif;">
{{-- JS에서 동적으로 채움 --}}
</div>
</div>
</div>
</div>
</div>