기본코드관리 2분할 조회와 무료용 목록 컬럼 정리

기본코드관리에서 코드종류 선택 시 같은 화면 우측에 세부코드가 즉시 보이도록 2분할 UI로 전환하고, 무료용 대상자 목록의 불필요한 구분 컬럼을 숨겨 화면 구성을 단순화했다.

Made-with: Cursor
This commit is contained in:
taekyoungc
2026-04-14 14:49:15 +09:00
parent 40db578e85
commit 0b4c622b99
3 changed files with 162 additions and 47 deletions

View File

@@ -351,6 +351,9 @@ class Bag extends BaseController
$detailModel = model(CodeDetailModel::class);
$kinds = [];
$countMap = [];
$selectedKind = null;
$detailList = [];
$rowCanEdit = [];
$lgIdx = $this->lgIdx();
try {
$kinds = $kindModel->orderBy('ck_code', 'ASC')->findAll();
@@ -373,11 +376,43 @@ class Bag extends BaseController
}
$level = (int) session()->get('mb_level');
$canManageDetails = Roles::canManageCodeMaster($level);
if ($kinds !== []) {
$selectedCkIdx = (int) ($this->request->getGet('ck_idx') ?? 0);
foreach ($kinds as $row) {
if ((int) $row->ck_idx === $selectedCkIdx) {
$selectedKind = $row;
break;
}
}
if ($selectedKind === null) {
$selectedKind = $kinds[0];
}
}
if ($selectedKind !== null) {
$detailList = $detailModel->where('cd_ck_idx', (int) $selectedKind->ck_idx)
->filterByTenantScope($lgIdx)
->orderBy('cd_sort', 'ASC')
->orderBy('cd_idx', 'ASC')
->findAll();
helper('admin');
$adminLg = admin_effective_lg_idx();
foreach ($detailList as $row) {
$rowCanEdit[$row->cd_idx] = Roles::canEditCodeDetailRow($level, $row, $adminLg);
}
}
return $this->render('기본코드관리', 'bag/code_kinds', [
'codeKinds' => $kinds,
'countMap' => $countMap,
'canManageKinds' => Roles::canManageCodeKindMaster($level),
'canManageDetails' => $canManageDetails,
'selectedKind' => $selectedKind,
'detailList' => $detailList,
'rowCanEdit' => $rowCanEdit,
]);
}