- /bag/code-kinds, /bag/code-details/{ck_idx} 조회 (LoginAuthFilter, Roles::canManageCodeMaster)
- admin에서는 종류·세부 목록 제거, 등록·수정·삭제만 유지 후 bag으로 리다이렉트
- 사이트 메뉴·기본코드 링크 SQL, CSV 동기화 스크립트·README 보강
- 관리자 대시보드: 발주·판매 테이블 미존재 시 통계 비활성화
- 회원 로그인 잠금(mb_login_fail_count, mb_locked_until) 및 관리자 잠금 해제
Made-with: Cursor
63 lines
3.0 KiB
PHP
63 lines
3.0 KiB
PHP
<?php
|
|
/** @var list<object> $codeKinds */
|
|
/** @var array<int,int> $countMap */
|
|
/** @var bool $canManage */
|
|
$canManage = ! empty($canManage);
|
|
$colCount = $canManage ? 7 : 6;
|
|
?>
|
|
<div class="space-y-4">
|
|
<section>
|
|
<div class="flex flex-wrap items-center justify-between gap-2 mb-2 border-b pb-1">
|
|
<h3 class="text-base font-bold text-gray-700">기본코드 종류</h3>
|
|
<div class="flex flex-wrap items-center gap-2 text-xs sm:text-sm">
|
|
<?php if ($canManage): ?>
|
|
<a href="<?= base_url('admin/code-kinds/create') ?>" class="inline-flex items-center rounded bg-[#1c4e80] px-3 py-1.5 text-white shadow hover:opacity-90">코드 종류 등록</a>
|
|
<?php else: ?>
|
|
<span class="text-gray-500">세부코드는 행의 링크에서 조회할 수 있습니다.</span>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
<table class="data-table">
|
|
<thead><tr>
|
|
<th class="w-14"><?= $canManage ? 'PK' : '번호' ?></th>
|
|
<th class="w-24">코드</th>
|
|
<th>코드명</th>
|
|
<th class="w-28">세부코드</th>
|
|
<th class="w-20">상태</th>
|
|
<th class="w-40">등록일</th>
|
|
<?php if ($canManage): ?>
|
|
<th class="w-44">작업</th>
|
|
<?php endif; ?>
|
|
</tr></thead>
|
|
<tbody>
|
|
<?php if (! empty($codeKinds)): ?>
|
|
<?php $i = 0; foreach ($codeKinds as $row): $i++; ?>
|
|
<tr>
|
|
<td class="text-center"><?= $canManage ? esc((string) $row->ck_idx) : (string) $i ?></td>
|
|
<td class="text-center font-mono"><?= esc($row->ck_code) ?></td>
|
|
<td><?= esc($row->ck_name) ?></td>
|
|
<td class="text-center">
|
|
<a href="<?= base_url('bag/code-details/' . (int) $row->ck_idx) ?>" class="text-blue-600 hover:underline"><?= (int) ($countMap[$row->ck_idx] ?? 0) ?>개 보기</a>
|
|
</td>
|
|
<td class="text-center"><?= (int) ($row->ck_state ?? 0) === 1 ? '사용' : '미사용' ?></td>
|
|
<td class="text-left"><?= esc($row->ck_regdate ?? '') ?></td>
|
|
<?php if ($canManage): ?>
|
|
<td class="text-center text-sm">
|
|
<a href="<?= base_url('bag/code-details/' . (int) $row->ck_idx) ?>" class="text-green-600 hover:underline mr-1">세부코드</a>
|
|
<a href="<?= base_url('admin/code-kinds/edit/' . (int) $row->ck_idx) ?>" class="text-blue-600 hover:underline mr-1">수정</a>
|
|
<form action="<?= base_url('admin/code-kinds/delete/' . (int) $row->ck_idx) ?>" method="POST" class="inline" onsubmit="return confirm('이 코드 종류를 삭제하시겠습니까?');">
|
|
<?= csrf_field() ?>
|
|
<button type="submit" class="text-red-600 hover:underline">삭제</button>
|
|
</form>
|
|
</td>
|
|
<?php endif; ?>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
<?php else: ?>
|
|
<tr><td colspan="<?= (string) $colCount ?>" class="text-center text-gray-400 py-4">등록된 코드 종류가 없습니다.</td></tr>
|
|
<?php endif; ?>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
</div>
|