fix: 시도, 시군구 순서 Custom 정렬

This commit is contained in:
swcho
2025-08-13 15:35:09 +09:00
parent 11a3e0cb01
commit 7c9848cbc5
+39 -3
View File
@@ -18,7 +18,43 @@ export const fetchCtpv = async (set: (state: any) => void) => {
text: f.properties.mctpv_korn_nm,
val: f.properties.mctpv_cd,
}))
.sort((a, b) => a.text.localeCompare(b.text, 'ko'));
.sort((a, b) => {
// 커스텀 순서 정의
const customOrder = [
"서울특별시",
"부산광역시",
"대구광역시",
"인천광역시",
"광주광역시",
"대전광역시",
"울산광역시",
"세종특별자치시",
"경기도",
"강원특별자치도", // 경기도 다음에 배치
"충청북도",
"충청남도",
"전북특별자치도", // 충청남도 다음에 배치
"전라남도",
"경상북도",
"경상남도",
"제주특별자치도"
];
const indexA = customOrder.indexOf(a.text);
const indexB = customOrder.indexOf(b.text);
// 둘 다 커스텀 순서에 있으면 해당 순서로
if (indexA !== -1 && indexB !== -1) {
return indexA - indexB;
}
// 하나만 커스텀 순서에 있으면 그것을 앞으로
if (indexA !== -1) return -1;
if (indexB !== -1) return 1;
// 둘 다 커스텀 순서에 없으면 기본 알파벳 순서
return a.text.localeCompare(b.text, 'ko');
});
console.log('시도 데이터', list);
set({ ctpv: list });
@@ -53,8 +89,8 @@ export const fetchBIZ_TY_CD = async (set: (state: any) => void) => {
try {
const res = await getCmsData(`/api/v1/code/cache/BIZTYCD`);
const filtered: BIZ_CD_TYPE[] = Array.isArray(res)
? (res as BIZ_CD_TYPE[]).filter(item => item?.lwpoCd !== "AQAAA")
: [];
? (res as BIZ_CD_TYPE[]).filter(item => item?.lwpoCd !== "AQAAA")
: [];
set({ BIZ_TY_CD: filtered });
} catch (e: any) {
// alert("BIZ_TY_CD 데이터 로드 실패: " + e.message);