From 19cdae39bdd899d2df0d34106b307a69af464018 Mon Sep 17 00:00:00 2001 From: JIeunhuh Date: Tue, 20 May 2025 13:36:44 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EA=B8=B0=EB=8A=A5=20=EA=B3=B5=ED=86=B5=ED=95=A8?= =?UTF-8?q?=EC=88=98=EB=A1=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/components/lib/common/apiHelpers.ts | 18 +++++++++ apps/sn/app/oper/floodPre/page.tsx | 19 +++------- apps/sn/app/oper/index.ts | 9 +++++ apps/sn/app/oper/oldPp/page.tsx | 38 ++++++------------- 4 files changed, 44 insertions(+), 40 deletions(-) create mode 100644 apps/sn/app/components/lib/common/apiHelpers.ts create mode 100644 apps/sn/app/oper/index.ts diff --git a/apps/sn/app/components/lib/common/apiHelpers.ts b/apps/sn/app/components/lib/common/apiHelpers.ts new file mode 100644 index 000000000..d01ad96de --- /dev/null +++ b/apps/sn/app/components/lib/common/apiHelpers.ts @@ -0,0 +1,18 @@ +import { getData } from "../api"; + +export const searchData = async>(url: string, paramObj: T) => { + const params = new URLSearchParams( + Object.entries(paramObj) + .filter(([_, value]) => value !== undefined && value !== '') // 값이 있는 항목만 포함 + .reduce((acc, [key, value]) => { + acc[key] = String(value); + return acc; + }, {} as Record) + ); + const data = await getData(`${url}?${params.toString()}`); + if (data) { + console.log(data.content) + // TODO: data 들어오면 data 보여주게 작업필요 ~ ! + data.content && console.log(data) + } +} diff --git a/apps/sn/app/oper/floodPre/page.tsx b/apps/sn/app/oper/floodPre/page.tsx index 31b6bd30d..dc3722141 100644 --- a/apps/sn/app/oper/floodPre/page.tsx +++ b/apps/sn/app/oper/floodPre/page.tsx @@ -1,12 +1,14 @@ 'use client' -import { ContentsDiv, MainDiv, SearchDiv, SearchFormLeft, SearchFormRight, SearchInput, Title, UiTable } from '@common/business_components/ui' +import { SearchDiv, SearchFormLeft, SearchFormRight, SearchInput, Title, UiTable } from '@common/business_components/ui' import { Button, DatePicker, Input, Label } from '@common/components/ui' -import React, { use, useRef, useState } from 'react' +import React, { useState } from 'react' import FileUploadForm from '../../components/ui/fileUploadForm' import ListDiv from '@common/business_components/ui/list_div' import ContentLayout from '@/components/ui/contentLayout' -import { tableData, tableHeadlist } from '../oldPp/page' +import { tableData } from '../oldPp/page' import { getData } from '@/components/lib/api' +import { searchData } from '@/components/lib/common/apiHelpers' +import { tableHeadlist } from '..' const Page = () => { const [selectedDate, setSelectedDate] = useState(new Date()) @@ -15,17 +17,6 @@ const Page = () => { const [usr, setUsr] = useState('') const [pjNm, setpjNm] = useState('') // TODO: 초기값 세팅필요 - const searchData = async (url: string, paramObj: Record) => { - if (manageYear || usr || pjNm) { - const params = new URLSearchParams(paramObj); - const data = await getData(`${url}?${params.toString()}`); - if (data) { - console.log(data.content) - // TODO: data 들어오면 data 보여주게 작업필요 ~ ! - data.content && console.log(data) - } - } - } return ( diff --git a/apps/sn/app/oper/index.ts b/apps/sn/app/oper/index.ts new file mode 100644 index 000000000..66e8da828 --- /dev/null +++ b/apps/sn/app/oper/index.ts @@ -0,0 +1,9 @@ +export const tableHeadlist = [ + { id: 'no', title: 'NO' }, + { id: 'fileNm', title: '파일명' }, + { id: 'mngYr', title: '년도' }, + { id: 'mngQu', title: '분기' }, + { id: 'registDt', title: '등록 일자' }, + { id: 'registUsr', title: '등록자' } + +] \ No newline at end of file diff --git a/apps/sn/app/oper/oldPp/page.tsx b/apps/sn/app/oper/oldPp/page.tsx index 3dd169245..1976afded 100644 --- a/apps/sn/app/oper/oldPp/page.tsx +++ b/apps/sn/app/oper/oldPp/page.tsx @@ -1,36 +1,22 @@ 'use client' -import { ContentsDiv, MainDiv, SearchDiv, SearchFormLeft, SearchFormRight, SelectBox, Title, UiTable } from '@common/business_components/ui' +import { SearchDiv, SearchFormLeft, SearchFormRight, UiTable } from '@common/business_components/ui' import { Button, DatePicker, Input, Label } from '@common/components/ui' import React, { useState } from 'react' import FileUploadForm from '../../components/ui/fileUploadForm' import ListDiv from '@common/business_components/ui/list_div' import ContentLayout from '@/components/ui/contentLayout' +import { tableHeadlist } from '..' // TODO: 임시 id -export const tableHeadlist = [ - { id: 'no', title: 'NO' }, - { id: 'fileNm', title: '파일명' }, - { id: 'manageYear', title: '년도' }, - { id: 'bungi', title: '분기' }, - { id: 'registDt', title: '등록 일자' }, - { id: 'registUsr', title: '등록자' } -] -export const tableData = [ - { 'no': '1', 'fileNm': '파일명', 'manageYear': '2023', 'registDt': '2025-04-16', 'registUsr': 'me', 'bungi': '1분기' }, - { 'no': '2', 'fileNm': '파일명', 'manageYear': '2024', 'registDt': '2025-04-16', 'registUsr': 'me2', 'bungi': '1분기' }, - { 'no': '3', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '4', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '5', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '6', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '7', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '8', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '9', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' }, - { 'no': '10', 'fileNm': '파일명', 'manageYear': '2025', 'registDt': '2025-04-16', 'registUsr': 'me3', 'bungi': '1분기' } -] +export const tableData = [] const Page = () => { - const [selectedDate, setSelectedDate] = useState(new Date()); + const [fromDate, setFromDate] = useState(new Date()); + const [toDate, setToDate] = useState(new Date()); const [company, setCompany] = useState('') const [pjNm, setpjNm] = useState('') + const searchData = ()=> { + + } return ( @@ -39,12 +25,12 @@ const Page = () => {
{ if (date) setSelectedDate(date) }} /> + selected={fromDate} + onSelect={(date: Date | undefined) => { if (date) setFromDate(date) }} /> ~ { if (date) setSelectedDate(date) }} /> + selected={toDate} + onSelect={(date: Date | undefined) => { if (date) setToDate(date) }} />