업체·담당자·단가·지정판매소 관리 화면의 조회 및 표시를 개선한다.

관리 화면에서 유형별 조회와 순번 표기를 통일하고, 지정판매소 주소/구군 표시와 포장단위 이력 표현을 사용자 관점으로 정리한다.

Made-with: Cursor
This commit is contained in:
taekyoungc
2026-04-22 15:35:28 +09:00
parent 647d5f919d
commit 05c479397b
16 changed files with 433 additions and 83 deletions

View File

@@ -227,6 +227,9 @@ class DesignatedShop extends BaseController
*/
private function buildDesignatedShopDetailPayload(array $list, array $lgMap): array
{
helper('admin');
$lgIdx = admin_effective_lg_idx() ?? 0;
$gugunMap = $lgIdx > 0 ? $this->gugunCodeNameMap($lgIdx) : [];
$payload = [];
foreach ($list as $row) {
$sn = (string) ($row->ds_shop_no ?? '');
@@ -263,6 +266,7 @@ class DesignatedShop extends BaseController
'ds_rep_phone' => (string) ($row->ds_rep_phone ?? ''),
'ds_email' => (string) ($row->ds_email ?? ''),
'ds_gugun_code' => (string) ($row->ds_gugun_code ?? ''),
'gugun_name' => $gugunMap[(string) ($row->ds_gugun_code ?? '')] ?? (string) ($row->ds_gugun_code ?? ''),
'ds_zone_code' => $this->designatedShopScalar($row, 'ds_zone_code'),
'ds_branch_no' => $this->designatedShopScalar($row, 'ds_branch_no'),
'ds_designated_at' => $daOut,
@@ -306,6 +310,7 @@ class DesignatedShop extends BaseController
}
$stateCounts = $this->countDesignatedShopsByState($lgIdx, $dsName, $dsGugunCode, $dsState);
$gugunNameMap = $this->gugunCodeNameMap($lgIdx);
$detailRows = $this->buildDesignatedShopDetailPayload($list, $lgMap);
// 구군코드 목록 (검색 필터용)
@@ -321,6 +326,7 @@ class DesignatedShop extends BaseController
'dsState' => $dsState ?? '',
'gugunCodes' => $gugunCodes,
'stateCounts' => $stateCounts,
'gugunNameMap' => $gugunNameMap,
'detailRowsJson' => json_encode($detailRows, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_UNESCAPED_UNICODE),
'kakaoJavascriptKey' => $this->kakaoJavascriptKey(),
];
@@ -336,6 +342,7 @@ class DesignatedShop extends BaseController
return redirect()->to(work_area_home_url())
->with('error', '작업할 지자체가 선택되지 않았습니다. 지자체를 선택해 주세요.');
}
$data['readOnly'] = false;
return $this->renderWorkPage('지정판매소 관리', 'admin/designated_shop/index', $data);
}
@@ -352,7 +359,7 @@ class DesignatedShop extends BaseController
}
$data['readOnly'] = true;
return $this->renderWorkPage('지정판매소 조회', 'admin/designated_shop/index', $data);
return $this->renderWorkPage('지정판매소 조회', 'admin/designated_shop/manage', $data);
}
/**