Rebase current admin changes on top of origin/main and exclude local artifacts from tracking to reduce push payload. Made-with: Cursor
80 lines
4.7 KiB
PHP
80 lines
4.7 KiB
PHP
<?= view('components/print_header', ['printTitle' => '무료용 대상자 관리']) ?>
|
|
<section class="border-b border-gray-300 p-2 shrink-0 bg-control-panel">
|
|
<div class="flex flex-wrap items-center justify-between gap-y-2">
|
|
<span class="text-sm font-bold text-gray-700">무료용 대상자 관리</span>
|
|
<div class="flex items-center gap-2">
|
|
<button onclick="window.print()" class="no-print border border-btn-print-border text-gray-600 px-3 py-1 rounded-sm text-sm hover:bg-gray-50 transition">인쇄</button>
|
|
<a href="<?= base_url('admin/free-recipients/create') ?>" class="bg-btn-search text-white px-4 py-1.5 rounded-sm flex items-center gap-1 text-sm shadow hover:opacity-90 transition border border-transparent">대상자 등록</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="no-print border border-gray-300 bg-white p-2 mt-2">
|
|
<form method="POST" action="<?= mgmt_url('free-recipients') ?>" class="flex flex-wrap items-end gap-2" autocomplete="off">
|
|
<?= csrf_field() ?>
|
|
<div class="flex flex-col gap-0.5">
|
|
<label class="text-xs text-gray-500">조회 기준</label>
|
|
<select name="search_field" class="border border-gray-300 rounded px-2 py-1.5 text-sm min-w-[10rem]">
|
|
<option value="fr_idx" <?= ($search_field ?? 'fr_name') === 'fr_idx' ? 'selected' : '' ?>>번호</option>
|
|
<option value="fr_type_code" <?= ($search_field ?? 'fr_name') === 'fr_type_code' ? 'selected' : '' ?>>구분</option>
|
|
<option value="fr_name" <?= ($search_field ?? 'fr_name') === 'fr_name' ? 'selected' : '' ?>>대상자명</option>
|
|
<option value="fr_phone" <?= ($search_field ?? 'fr_name') === 'fr_phone' ? 'selected' : '' ?>>연락처</option>
|
|
<option value="fr_addr" <?= ($search_field ?? 'fr_name') === 'fr_addr' ? 'selected' : '' ?>>주소</option>
|
|
<option value="fr_dong_code" <?= ($search_field ?? 'fr_name') === 'fr_dong_code' ? 'selected' : '' ?>>동</option>
|
|
<option value="fr_note" <?= ($search_field ?? 'fr_name') === 'fr_note' ? 'selected' : '' ?>>비고</option>
|
|
</select>
|
|
</div>
|
|
<div class="flex flex-col gap-0.5">
|
|
<label class="text-xs text-gray-500">조회어</label>
|
|
<input type="text" name="search_query" value="<?= esc($search_query ?? '') ?>" class="border border-gray-300 rounded px-2 py-1.5 text-sm min-w-[18rem]" placeholder="조회어 입력">
|
|
</div>
|
|
<div class="flex items-center gap-2 pb-0.5">
|
|
<button type="submit" class="bg-btn-search text-white px-4 py-1.5 rounded-sm text-sm">조회</button>
|
|
<a href="<?= mgmt_url('free-recipients') ?>" class="text-sm text-gray-500 hover:underline">초기화</a>
|
|
</div>
|
|
</form>
|
|
</section>
|
|
<div class="border border-gray-300 overflow-auto mt-2">
|
|
<table class="w-full data-table">
|
|
<thead>
|
|
<tr>
|
|
<th class="w-16">번호</th>
|
|
<th>구분</th>
|
|
<th>대상자명</th>
|
|
<th>연락처</th>
|
|
<th>주소</th>
|
|
<th>동</th>
|
|
<th>비고</th>
|
|
<th>종료일</th>
|
|
<th class="w-20">상태</th>
|
|
<th class="w-36">작업</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($list as $row): ?>
|
|
<tr>
|
|
<td class="text-center"><?= esc($row->fr_idx) ?></td>
|
|
<td class="text-center"><?= esc($type_code_map[(string) ($row->fr_type_code ?? '')] ?? ($row->fr_type_code ?? '')) ?></td>
|
|
<td class="text-left pl-2"><?= esc($row->fr_name) ?></td>
|
|
<td class="text-center"><?= esc($row->fr_phone) ?></td>
|
|
<td class="text-left pl-2"><?= esc($row->fr_addr) ?></td>
|
|
<td class="text-center"><?= esc($dong_code_map[(string) ($row->fr_dong_code ?? '')] ?? ($row->fr_dong_code ?? '')) ?></td>
|
|
<td class="text-left pl-2"><?= esc($row->fr_note) ?></td>
|
|
<td class="text-center"><?= esc($row->fr_end_date) ?></td>
|
|
<td class="text-center"><?= (int) $row->fr_state === 1 ? '사용' : '미사용' ?></td>
|
|
<td class="text-center">
|
|
<a href="<?= base_url('admin/free-recipients/edit/' . (int) $row->fr_idx) ?>" class="text-blue-600 hover:underline text-sm mr-1">수정</a>
|
|
<form action="<?= base_url('admin/free-recipients/delete/' . (int) $row->fr_idx) ?>" method="POST" class="inline" onsubmit="return confirm('삭제하시겠습니까?');">
|
|
<?= csrf_field() ?>
|
|
<button type="submit" class="text-red-600 hover:underline text-sm">삭제</button>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
<?php if (empty($list)): ?>
|
|
<tr><td colspan="10" class="text-center text-gray-400 py-4">등록된 데이터가 없습니다.</td></tr>
|
|
<?php endif; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<?php if (isset($pager)): ?><div class="mt-3"><?= $pager->links() ?></div><?php endif; ?>
|