Files
jongryangje/app/Views/components/print_header.php
javamon1174 704141a1f0 CT-01/02/03 공통 컴포넌트 구현 — 페이지네이션/엑셀/인쇄
CT-01: 페이지네이션
- 커스텀 Tailwind 페이저 뷰 (components/pager.php)
- 18개 admin 컨트롤러 findAll() → paginate(20) 전환
- Bag 컨트롤러 7개 리스트도 paginate 적용
- 19개 admin index 뷰에 페이저 링크 추가

CT-02: 엑셀 저장
- export_helper.php (UTF-8 BOM CSV)
- 발주/판매/지정판매소/재고 4개 엑셀 내보내기 라우트+메서드
- 해당 뷰에 "엑셀저장" 버튼 추가

CT-03: 인쇄
- print_header.php (지자체명/제목/결재란 컴포넌트)
- admin/bag 레이아웃에 @media print CSS 추가
- 23개 뷰에 인쇄 버튼 + print_header 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 16:40:49 +09:00

56 lines
2.3 KiB
PHP

<?php
/**
* 인쇄용 문서 헤더 컴포넌트
*
* 사용 변수:
* $printTitle - 문서 제목 (필수)
* $printLgName - 지자체명 (선택, 미지정 시 세션에서 조회)
* $printDate - 날짜 (선택, 기본 오늘)
*/
if (! isset($printLgName)) {
helper('admin');
$lgIdx = admin_effective_lg_idx();
$printLgName = '';
if ($lgIdx) {
$lgRow = model(\App\Models\LocalGovernmentModel::class)->find($lgIdx);
$printLgName = $lgRow ? $lgRow->lg_name : '';
}
}
$printDate = $printDate ?? date('Y-m-d');
$printTitle = $printTitle ?? '';
?>
<div class="print-header" style="display:none;">
<table style="width:100%; border-collapse:collapse; margin-bottom:10px;">
<tr>
<td style="width:60%; vertical-align:bottom;">
<div style="font-size:12px; color:#666; margin-bottom:4px;"><?= esc($printLgName) ?></div>
<div style="font-size:20px; font-weight:bold; letter-spacing:2px;"><?= esc($printTitle) ?></div>
<div style="font-size:11px; color:#888; margin-top:4px;">출력일: <?= esc($printDate) ?></div>
</td>
<td style="width:40%; vertical-align:top;">
<table style="border-collapse:collapse; float:right; font-size:11px;">
<tr>
<th style="border:1px solid #333; padding:4px 12px; background:#f0f0f0; text-align:center;">담당</th>
<th style="border:1px solid #333; padding:4px 12px; background:#f0f0f0; text-align:center;">팀장</th>
<th style="border:1px solid #333; padding:4px 12px; background:#f0f0f0; text-align:center;">과장</th>
</tr>
<tr>
<td style="border:1px solid #333; padding:8px 12px; height:40px; min-width:60px;">&nbsp;</td>
<td style="border:1px solid #333; padding:8px 12px; height:40px; min-width:60px;">&nbsp;</td>
<td style="border:1px solid #333; padding:8px 12px; height:40px; min-width:60px;">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
<hr style="border:1px solid #333; margin-bottom:10px;"/>
</div>
<style>
@media print {
.print-header { display: block !important; }
}
</style>