중간..
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import {useState, useEffect} from 'react';
|
||||
|
||||
const convertToTextValArray = (yyyymms: string[]): { text: string; val: string }[] => {
|
||||
return yyyymms.map(dateStr => {
|
||||
let yyyymms1 = yyyymms.map(dateStr => {
|
||||
const year = dateStr.slice(0, 4);
|
||||
const month = dateStr.slice(4, 6);
|
||||
return {
|
||||
@@ -9,6 +9,8 @@ const convertToTextValArray = (yyyymms: string[]): { text: string; val: string }
|
||||
val: dateStr
|
||||
};
|
||||
});
|
||||
yyyymms1.unshift({ val: '0', text: '선택' });
|
||||
return yyyymms1;
|
||||
};
|
||||
const selectAplcnYms = async() => { // 상수사용월
|
||||
try {
|
||||
@@ -23,7 +25,6 @@ const selectAplcnYms = async() => { // 상수사용월
|
||||
}
|
||||
|
||||
if (result && result.length > 0) {
|
||||
//setAplcnYms(convertToTextValArray(result));
|
||||
console.log("selectAplcnYms", result);
|
||||
return convertToTextValArray(result);
|
||||
}
|
||||
@@ -31,6 +32,47 @@ const selectAplcnYms = async() => { // 상수사용월
|
||||
console.error(error);
|
||||
}
|
||||
};
|
||||
type InftwtAnls = {
|
||||
inftwtAnlsSn:number;
|
||||
aplcnYm: string;
|
||||
enoCd: string;
|
||||
ctpvCd: string;
|
||||
sggCd: string;
|
||||
swageTmplntCd: string;
|
||||
swageTmplntNm: string;
|
||||
swtrmtZoneCd: string;
|
||||
swtrmtZoneNm: string;
|
||||
atflCd: string;
|
||||
atflId: string;
|
||||
atflInpNm: string;
|
||||
atflHrPttnNm: string;
|
||||
atflMpngNm: string;
|
||||
atflOilqNm: string;
|
||||
atflNm: string;
|
||||
drtwSwtcRt:number;
|
||||
anlsInfo: string;
|
||||
scsYn: string;
|
||||
};
|
||||
const selectInftwtAnls = async(aplcnYm:String) => { // 침입수분석
|
||||
try {
|
||||
//const result = await getData('v1/inftwtAnlsRslt/aplcnYm');
|
||||
let result = null;
|
||||
const res = await fetch('http://con.mind-one.co.kr:11083/sewerage-service/api/v1/inftwtAnls', {
|
||||
method: "GET",
|
||||
body: JSON.stringify({aplcnYm}),
|
||||
});
|
||||
if (res.ok) {
|
||||
result = await res.json();
|
||||
}
|
||||
|
||||
if (result && result.numberOfElements > 0) {
|
||||
console.log("selectInftwtAnls", result.content);
|
||||
return result.content as InftwtAnls[];
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
};
|
||||
export const useAplcnYms = () => {
|
||||
const [data, setData] = useState<{ text: string; val: string }[]>([]);
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOp
|
||||
const buttonRef = React.useRef<HTMLButtonElement>(null); // 버튼 참조
|
||||
const [popupPosition, setPopupPosition] = useState<{ top: number; left: number }>({ top: 0, left: 0 }); // 팝업 위치
|
||||
const [aplcnYm, setAplcnYm] = useState("");
|
||||
const [aplcnYms, setAplcnYms] = useState<{ text: string; val: string }[]>([]);
|
||||
//const aplcnYms = useAplcnYms(); // 상수사용월 데이터 가져오기
|
||||
//const [aplcnYms, setAplcnYms] = useState<{ text: string; val: string }[]>([]);
|
||||
const aplcnYms = useAplcnYms(); // 상수사용월 데이터 가져오기
|
||||
const openPopup = () => {
|
||||
if (buttonRef.current) {
|
||||
const rect = buttonRef.current.getBoundingClientRect(); // 버튼 위치 계산
|
||||
@@ -59,46 +59,6 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOp
|
||||
return `${year}-${month}`;
|
||||
};
|
||||
|
||||
const convertToTextValArray = (yyyymms: string[]): { text: string; val: string }[] => {
|
||||
return yyyymms.map(dateStr => {
|
||||
const year = dateStr.slice(0, 4);
|
||||
const month = dateStr.slice(4, 6);
|
||||
return {
|
||||
text: `${year}-${month}`,
|
||||
val: dateStr
|
||||
};
|
||||
});
|
||||
};
|
||||
const selectAplcnYms = async() => { // 상수사용월
|
||||
try {
|
||||
//const result = await getData('v1/inftwtAnlsRslt/aplcnYm');
|
||||
let result = null;
|
||||
const res = await fetch('http://con.mind-one.co.kr:11083/sewerage-service/api/v1/inftwtAnlsRslt/aplcnYm', {
|
||||
method: "GET",
|
||||
body: null,
|
||||
});
|
||||
if (res.ok) {
|
||||
result = await res.json();
|
||||
}
|
||||
|
||||
if (result && result.length > 0) {
|
||||
//setAplcnYms(convertToTextValArray(result));
|
||||
console.log("selectAplcnYms", result);
|
||||
return convertToTextValArray(result);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
useEffect(() => {
|
||||
const fetchAplcnYms = async () => {
|
||||
const aplcnYmsData = await selectAplcnYms();
|
||||
setAplcnYms(aplcnYmsData||[]);
|
||||
console.log("aplcnYms: ", aplcnYms);
|
||||
//setAplcnYm(getCurrentDate());
|
||||
};
|
||||
fetchAplcnYms();
|
||||
}, [aplcnYms]);
|
||||
return (
|
||||
<Modal isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} closeModal={closeModal}>
|
||||
{/* 분석 입력현황 조회 */}
|
||||
@@ -135,13 +95,12 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOp
|
||||
<div className="grid grid-cols-2 gap-2">
|
||||
<div><label>상수사용월:</label></div>
|
||||
<div>
|
||||
<SelectBox
|
||||
className="w-[90px] mr-3 ml-4"
|
||||
selectClass="rounded-lg bg-white"
|
||||
label=""
|
||||
selectArray={aplcnYms}
|
||||
onSelectValue={(value: string|number) => setAplcnYm(String(value))}
|
||||
/>
|
||||
<select className="border border-gray-300 rounded px-2 py-1"
|
||||
onChange={e => setAplcnYm(e.target.value)} value={aplcnYm}>
|
||||
{aplcnYms.map(opt => (
|
||||
<option key={opt.val} value={opt.val}>{opt.text}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
<div><label>분석정보:</label></div>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user