st: refactor: 시군구 검색 시 bsnmCd도 가져오도록 수정
This commit is contained in:
@@ -40,10 +40,11 @@ const SearchForm = (props: SearchFormProps = {}) => {
|
||||
|
||||
const [values, setValues] = useState<SearchFormValues>({
|
||||
sido: props.defaultValues?.sido || "",
|
||||
gugun: props.defaultValues?.gugun || "",
|
||||
gugun: props.defaultValues?.gugun || '',
|
||||
year: props.defaultValues?.year || String(defaultYear),
|
||||
order: props.defaultValues?.order || "",
|
||||
fctName: props.defaultValues?.fctName || "",
|
||||
order: props.defaultValues?.order || '',
|
||||
fctName: props.defaultValues?.fctName || '',
|
||||
bsnmCd: props.defaultValues?.bsnmCd || '',
|
||||
});
|
||||
|
||||
const { data: sidoList } = useSWR<ApiResponse<Sido[]>>(
|
||||
@@ -98,16 +99,28 @@ const SearchForm = (props: SearchFormProps = {}) => {
|
||||
|
||||
const handleReset = () => {
|
||||
const resetValues: SearchFormValues = {
|
||||
sido: "",
|
||||
gugun: "",
|
||||
sido: '',
|
||||
gugun: '',
|
||||
year: String(defaultYear),
|
||||
order: "",
|
||||
fctName: "",
|
||||
order: '',
|
||||
fctName: '',
|
||||
bsnmCd: '',
|
||||
};
|
||||
setValues(resetValues);
|
||||
props.onReset?.();
|
||||
};
|
||||
|
||||
const handleSidoChange = (value: string) => {
|
||||
const selectedBsnm = sidoList?.data.find((v) => v.sido === value)?.bsnmCd || '';
|
||||
|
||||
setValues((prev) => ({
|
||||
...prev,
|
||||
sido: value,
|
||||
gugun: '',
|
||||
bsnmCd: selectedBsnm,
|
||||
}));
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="card card-border">
|
||||
<form onSubmit={handleSubmit}>
|
||||
@@ -117,7 +130,7 @@ const SearchForm = (props: SearchFormProps = {}) => {
|
||||
<Label className="text-label">
|
||||
시도
|
||||
</Label>
|
||||
<Select value={values.sido} onValueChange={(value) => setValues((prev) => ({ ...prev, sido: value, gugun: "" }))}>
|
||||
<Select value={values.sido} onValueChange={handleSidoChange}>
|
||||
<SelectTrigger className="w-[12rem]">
|
||||
<SelectValue placeholder="선택"></SelectValue>
|
||||
</SelectTrigger>
|
||||
|
||||
@@ -34,7 +34,7 @@ const SeweragePenetrationRateInp = () => {
|
||||
const response = await statisticsInputAPi.getSewerageSupplyRateList({
|
||||
sido: values.sido,
|
||||
gugun: values.gugun === 'ALL' ? '' : values.gugun,
|
||||
bsnmCd: '4139000000',
|
||||
bsnmCd: values.bsnmCd,
|
||||
yr: values.year,
|
||||
demoYr: values.year,
|
||||
});
|
||||
|
||||
@@ -4,6 +4,7 @@ export type SearchFormValues = {
|
||||
year?: string;
|
||||
order?: string;
|
||||
fctName?: string;
|
||||
bsnmCd?: string;
|
||||
};
|
||||
|
||||
export type SearchFormProps = {
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
export interface Sido {
|
||||
adstDstrCd: string;
|
||||
sido: string;
|
||||
bsnmCd: string;
|
||||
}
|
||||
|
||||
export interface Sgg {
|
||||
adstDstrCd: string;
|
||||
gugun: string;
|
||||
bsnmCd: string;
|
||||
}
|
||||
|
||||
export interface ApiResponse<T> {
|
||||
|
||||
Reference in New Issue
Block a user