2026-03-30 15:07:09 +09:00
< ? php
/** @var list<object> $codeKinds */
/** @var array<int,int> $countMap */
2026-04-08 00:20:09 +09:00
/** @var bool $canManageKinds */
2026-04-14 14:49:15 +09:00
/** @var bool $canManageDetails */
/** @var object|null $selectedKind */
/** @var list<object> $detailList */
/** @var array<int,bool> $rowCanEdit */
$canManageKinds = ! empty ( $canManageKinds );
$canManageDetails = ! empty ( $canManageDetails );
$showKindActions = $canManageKinds ;
$selectedKindId = ( int ) ( $selectedKind -> ck_idx ? ? 0 );
$colCount = 6 + ( $showKindActions ? 1 : 0 );
$detailColCount = 7 + ( $canManageDetails ? 1 : 0 );
2026-03-30 15:07:09 +09:00
?>
2026-04-14 14:49:15 +09:00
< div class = " grid grid-cols-1 xl:grid-cols-2 gap-4 " >
2026-03-30 15:07:09 +09:00
< 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 " >
2026-04-08 00:20:09 +09:00
< ? php if ( $canManageKinds ) : ?>
2026-03-30 15:07:09 +09:00
< 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 >
2026-04-14 14:49:15 +09:00
< ? php else : ?>
< span class = " text-gray-500 " > 코드 종류 등록·수정은 super admin·본부 관리자만 가능합니다 .</ span >
2026-03-30 15:07:09 +09:00
< ? php endif ; ?>
</ div >
</ div >
2026-04-14 14:49:15 +09:00
< div class = " border border-gray-300 overflow-auto " >
< table class = " data-table w-full " >
< thead >< tr >
< th class = " w-14 " >< ? = $showKindActions ? 'PK' : '번호' ?> </th>
< th class = " w-24 " > 코드 </ th >
< th > 코드명 </ th >
< th class = " w-24 " > 세부건수 </ th >
< th class = " w-20 " > 상태 </ th >
< th class = " w-40 " > 등록일 </ th >
2026-04-08 00:20:09 +09:00
< ? php if ( $showKindActions ) : ?>
2026-04-14 14:49:15 +09:00
< th class = " w-36 " > 작업 </ th >
2026-03-30 15:07:09 +09:00
< ? php endif ; ?>
2026-04-14 14:49:15 +09:00
</ tr ></ thead >
< tbody >
< ? php if ( ! empty ( $codeKinds )) : ?>
< ? php $i = 0 ; foreach ( $codeKinds as $row ) : $i ++ ; ?>
< ? php
$isSelected = ( int ) $row -> ck_idx === $selectedKindId ;
$detailUrl = base_url ( 'bag/code-kinds?ck_idx=' . ( int ) $row -> ck_idx );
?>
< tr class = " <?= $isSelected ? 'bg-blue-50' : '' ?> cursor-pointer hover:bg-blue-50 "
onclick = " window.location.href='<?= esc( $detailUrl , 'attr') ?>' " >
< td class = " text-center " >< ? = $showKindActions ? 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 " >< ? = ( int ) ( $countMap [ $row -> ck_idx ] ? ? 0 ) ?> 개</td>
< td class = " text-center " >< ? = ( int ) ( $row -> ck_state ? ? 0 ) === 1 ? '사용' : '미사용' ?> </td>
< td class = " text-left " >< ? = esc ( $row -> ck_regdate ? ? '' ) ?> </td>
< ? php if ( $showKindActions ) : ?>
< td class = " text-center text-sm " onclick = " event.stopPropagation() " >
< 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 >
</ div >
</ section >
< 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 " >
세부코드
< ? php if ( $selectedKind !== null ) : ?>
— < ? = esc ( $selectedKind -> ck_name ) ?> (<?= esc($selectedKind->ck_code) ?>)
< ? php endif ; ?>
</ h3 >
< ? php if ( $canManageDetails && $selectedKind !== null ) : ?>
< a href = " <?= base_url('admin/code-details/' . (int) $selectedKind->ck_idx . '/create') ?> " class = " inline-flex items-center rounded bg-[#1c4e80] px-3 py-1.5 text-white shadow hover:opacity-90 text-sm " > 세부코드 등록 </ a >
2026-03-30 15:07:09 +09:00
< ? php endif ; ?>
2026-04-14 14:49:15 +09:00
</ div >
< ? php if ( $selectedKind === null ) : ?>
< div class = " border border-gray-300 rounded p-6 text-center text-gray-500 " > 왼쪽에서 코드 종류를 선택해 주세요 .</ div >
< ? php else : ?>
< div class = " border border-gray-300 overflow-auto " >
< table class = " data-table w-full " >
< thead >
< tr >
< th class = " w-16 " > 번호 </ th >
< th class = " w-24 " > 코드 </ th >
< th > 코드명 </ th >
< th class = " w-24 " > 범위 </ th >
< th class = " w-20 " > 정렬 </ th >
< th class = " w-20 " > 상태 </ th >
< th class = " w-40 " > 등록일 </ th >
< ? php if ( $canManageDetails ) : ?>
< th class = " w-28 " > 작업 </ th >
< ? php endif ; ?>
</ tr >
</ thead >
< tbody >
< ? php if ( ! empty ( $detailList )) : ?>
< ? php foreach ( $detailList as $row ) : ?>
< ? php
$isPlatform = (( $row -> cd_source ? ? 'platform' ) === 'platform' && ( int ) ( $row -> cd_lg_idx ? ? 0 ) === 0 );
$scopeLabel = $isPlatform ? '공통' : '지자체' ;
?>
< tr >
< td class = " text-center " >< ? = esc (( string ) $row -> cd_idx ) ?> </td>
< td class = " text-center font-mono " >< ? = esc ( $row -> cd_code ) ?> </td>
< td >< ? = esc ( $row -> cd_name ) ?> </td>
< td class = " text-center text-xs " >< ? = esc ( $scopeLabel ) ?> </td>
< td class = " text-center " >< ? = ( int ) ( $row -> cd_sort ? ? 0 ) ?> </td>
< td class = " text-center " >< ? = ( int ) ( $row -> cd_state ? ? 0 ) === 1 ? '사용' : '미사용' ?> </td>
< td class = " text-left " >< ? = esc ( $row -> cd_regdate ? ? '' ) ?> </td>
< ? php if ( $canManageDetails ) : ?>
< td class = " text-center text-sm " >
< ? php if ( ! empty ( $rowCanEdit [ $row -> cd_idx ])) : ?>
< a href = " <?= base_url('admin/code-details/edit/' . (int) $row->cd_idx ) ?> " class = " text-blue-600 hover:underline " > 수정 </ a >
< form action = " <?= base_url('admin/code-details/delete/' . (int) $row->cd_idx ) ?> " method = " POST " class = " ml-1 inline " onsubmit = " return confirm('이 세부코드를 삭제하시겠습니까?'); " >
< ? = csrf_field () ?>
< button type = " submit " class = " text-red-600 hover:underline " > 삭제 </ button >
</ form >
< ? php else : ?>
< span class = " text-gray-400 " > — </ span >
< ? php endif ; ?>
</ td >
< ? php endif ; ?>
</ tr >
< ? php endforeach ; ?>
< ? php else : ?>
< tr >< td colspan = " <?= (string) $detailColCount ?> " class = " text-center text-gray-400 py-4 " > 등록된 세부코드가 없습니다 .</ td ></ tr >
< ? php endif ; ?>
</ tbody >
</ table >
</ div >
< ? php endif ; ?>
2026-03-30 15:07:09 +09:00
</ section >
</ div >