diff --git a/app/Controllers/Bag.php b/app/Controllers/Bag.php index 9f7486b..de0c54b 100644 --- a/app/Controllers/Bag.php +++ b/app/Controllers/Bag.php @@ -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, ]); } diff --git a/app/Views/admin/free_recipient/index.php b/app/Views/admin/free_recipient/index.php index 281549d..f3f6d55 100644 --- a/app/Views/admin/free_recipient/index.php +++ b/app/Views/admin/free_recipient/index.php @@ -13,7 +13,6 @@ 번호 - 구분 대상자명 연락처 주소 @@ -28,7 +27,6 @@ fr_idx) ?> - fr_type_code) ?> fr_name) ?> fr_phone) ?> fr_addr) ?> @@ -47,7 +45,7 @@ - +

등록된 데이터가 없습니다.

다른 지자체를 선택 중이면 해당 지자체 기준으로만 조회됩니다. Super Admin 은 상단에서 작업 지자체를 바꿔 보세요.

diff --git a/app/Views/bag/code_kinds.php b/app/Views/bag/code_kinds.php index b7c0740..1001878 100644 --- a/app/Views/bag/code_kinds.php +++ b/app/Views/bag/code_kinds.php @@ -2,62 +2,144 @@ /** @var list $codeKinds */ /** @var array $countMap */ /** @var bool $canManageKinds */ -$canManageKinds = ! empty($canManageKinds); -$showKindActions = $canManageKinds; -$colCount = 6 + ($showKindActions ? 1 : 0); +/** @var bool $canManageDetails */ +/** @var object|null $selectedKind */ +/** @var list $detailList */ +/** @var array $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); ?> -
+

기본코드 종류

코드 종류 등록 - - 코드 종류 등록·수정은 super admin·본부 관리자만 가능합니다. 세부코드는 행의 링크에서 조회할 수 있습니다. + + 코드 종류 등록·수정은 super admin·본부 관리자만 가능합니다.
- - - - - - - - - - - - - - - - - - - - - - +
+
코드코드명세부코드상태등록일작업
ck_idx) : (string) $i ?>ck_code) ?>ck_name) ?> - ck_idx] ?? 0) ?>개 보기 - ck_state ?? 0) === 1 ? '사용' : '미사용' ?>ck_regdate ?? '') ?>
+ + + + + + + - + - - - - + + + + + ck_idx === $selectedKindId; + $detailUrl = base_url('bag/code-kinds?ck_idx=' . (int) $row->ck_idx); + ?> + + + + + + + + + + + + + + + + +
코드코드명세부건수상태등록일 - 세부코드 - 수정 -
- - -
-
작업
등록된 코드 종류가 없습니다.
ck_idx) : (string) $i ?>ck_code) ?>ck_name) ?>ck_idx] ?? 0) ?>개ck_state ?? 0) === 1 ? '사용' : '미사용' ?>ck_regdate ?? '') ?> + 수정 +
+ + +
+
등록된 코드 종류가 없습니다.
+
+ + +
+
+

+ 세부코드 + + — ck_name) ?> (ck_code) ?>) + +

+ + 세부코드 등록 - - +
+ + +
왼쪽에서 코드 종류를 선택해 주세요.
+ +
+ + + + + + + + + + + + + + + + + + + cd_source ?? 'platform') === 'platform' && (int) ($row->cd_lg_idx ?? 0) === 0); + $scopeLabel = $isPlatform ? '공통' : '지자체'; + ?> + + + + + + + + + + + + + + + + + +
번호코드코드명범위정렬상태등록일작업
cd_idx) ?>cd_code) ?>cd_name) ?>cd_sort ?? 0) ?>cd_state ?? 0) === 1 ? '사용' : '미사용' ?>cd_regdate ?? '') ?> + cd_idx])): ?> + 수정 +
+ + +
+ + + +
등록된 세부코드가 없습니다.
+
+