(*필수 입력항목)
@@ -610,7 +917,7 @@ export default function StuffDetail() {
>
)}
>
- )}
+ )} */}
>
)
}
diff --git a/src/components/management/StuffHeader.jsx b/src/components/management/StuffHeader.jsx
new file mode 100644
index 00000000..fb4d831c
--- /dev/null
+++ b/src/components/management/StuffHeader.jsx
@@ -0,0 +1,51 @@
+'use client'
+
+import React, { useState, useEffect } from 'react'
+import { useAxios } from '@/hooks/useAxios'
+import { useRouter, useSearchParams } from 'next/navigation'
+import { globalLocaleStore } from '@/store/localeAtom'
+import { useRecoilValue } from 'recoil'
+export default function StuffHeader() {
+ const router = useRouter()
+ const searchParams = useSearchParams()
+ const objectNo = searchParams.get('objectNo') //url에서 물건번호 꺼내서 바로 set
+ const globalLocaleState = useRecoilValue(globalLocaleStore)
+ const { get } = useAxios(globalLocaleState)
+ const [headerData, setHeaderData] = useState({})
+
+ useEffect(() => {
+ get({ url: `/api/object/${objectNo}/detail` }).then((res) => {
+ //console.log('res::', res)
+ if (res != null && res != '') {
+ console.log('헤더상세::::::::::', res)
+ setHeaderData(res)
+ } else {
+ alert('삭제된 물건입니다')
+ router.push('/management/stuff')
+ }
+ })
+ }, [objectNo])
+
+ return (
+
+
+
물건번호
+
+ {headerData.objectNo}
+
+
+
+
사양확정일
+
{headerData.specificationConfirmDate}
+
+
+
갱신일시
+
{headerData.lastEditDatetime}
+
+
+
등록일
+
{headerData.createDatetime}
+
+
+ )
+}
diff --git a/src/components/management/StuffSearchCondition.jsx b/src/components/management/StuffSearchCondition.jsx
index 58aa4ce9..420b2145 100644
--- a/src/components/management/StuffSearchCondition.jsx
+++ b/src/components/management/StuffSearchCondition.jsx
@@ -2,25 +2,36 @@
import React, { useEffect } from 'react'
import { useState } from 'react'
-import { Input, RadioGroup, Radio, Button, Autocomplete, AutocompleteItem } from '@nextui-org/react'
+import { Autocomplete, AutocompleteItem } from '@nextui-org/react'
+import { useAxios } from '@/hooks/useAxios'
+import { useRecoilState, useRecoilValue, useResetRecoilState } from 'recoil'
+import { globalLocaleStore } from '@/store/localeAtom'
+
import RangeDatePicker from '@/components/common/datepicker/RangeDatePicker'
-import { useRecoilState, useResetRecoilState } from 'recoil'
import { stuffSearchState } from '@/store/stuffAtom'
import { isEmptyArray } from '@/util/common-utils'
-import { get } from '@/lib/Axios'
import dayjs from 'dayjs'
import isLeapYear from 'dayjs/plugin/isLeapYear' // 윤년 판단 플러그인
dayjs.extend(isLeapYear)
import Link from 'next/link'
+import SingleDatePicker from '../common/datepicker/SingleDatePicker'
export default function StuffSearchCondition() {
- //달력 props 관련 날짜 셋팅
- const [dateRange, setDateRange] = useState([dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'), dayjs(new Date()).format('YYYY-MM-DD')])
- const [startRangeDate, endRangeDate] = dateRange
+ const globalLocaleState = useRecoilValue(globalLocaleStore)
- const rangeDatePickerProps = {
- startRangeDate, //시작일
- endRangeDate, //종료일
- setDateRange,
+ const { get } = useAxios(globalLocaleState)
+
+ //달력 props 관련 날짜 셋팅
+ const [startDate, setStartDate] = useState(dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'))
+ const [endDate, setEndDate] = useState(dayjs(new Date()).format('YYYY-MM-DD'))
+
+ const rangeDatePickerProps1 = {
+ startDate, //시작일
+ setStartDate,
+ }
+
+ const rangeDatePickerProps2 = {
+ startDate: endDate, //종료일
+ setStartDate: setEndDate,
}
//여기서 선택한 검색조건들을 recoil로 관리
@@ -40,7 +51,7 @@ export default function StuffSearchCondition() {
const [schSelSaleStoreList, setSchSelSaleStoreList] = useState([]) //판매대리점 자동완성 SELECT
// 조회
const onSubmit = () => {
- let diff = dayjs(endRangeDate).diff(startRangeDate, 'day')
+ let diff = dayjs(endDate).diff(startDate, 'day')
if (diff > 366) {
return alert('최대1년 조회 가능합니다.')
}
@@ -55,8 +66,8 @@ export default function StuffSearchCondition() {
schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser,
schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName,
schDateType: stuffSearch?.schDateType ? stuffSearch.schDateType : dateType,
- schFromDt: dayjs(startRangeDate).format('YYYY-MM-DD'),
- schToDt: dayjs(endRangeDate).format('YYYY-MM-DD'),
+ schFromDt: dayjs(startDate).format('YYYY-MM-DD'),
+ schToDt: dayjs(endDate).format('YYYY-MM-DD'),
code: 'E',
schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : schSelSaleStoreId,
startRow: stuffSearch?.startRow ? stuffSearch.startRow : 1,
@@ -76,7 +87,8 @@ export default function StuffSearchCondition() {
setReceiveUser('')
setDispCompanyName('')
setDateType('U')
- setDateRange([dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'), dayjs(new Date()).format('YYYY-MM-DD')])
+ setStartDate(dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'))
+ setEndDate(dayjs(new Date()).format('YYYY-MM-DD'))
setSchSelSaleStoreId('')
resetStuffRecoil()
}
@@ -102,23 +114,207 @@ export default function StuffSearchCondition() {
}
}
- //x로 날짜 비웠을때 기본값으로 셋팅
useEffect(() => {
- if (!startRangeDate && !endRangeDate) {
- setDateRange([dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'), dayjs(new Date()).format('YYYY-MM-DD')])
- }
- }, [startRangeDate, endRangeDate])
-
- useEffect(() => {
- setDateRange([
- stuffSearch?.schFromDt ? stuffSearch.schFromDt : dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'),
- stuffSearch?.schToDt ? stuffSearch.schToDt : dayjs(new Date()).format('YYYY-MM-DD'),
- ])
+ setStartDate(stuffSearch?.schFromDt ? stuffSearch.schFromDt : dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD'))
+ setEndDate(stuffSearch?.schToDt ? stuffSearch.schToDt : dayjs(new Date()).format('YYYY-MM-DD'))
}, [stuffSearch])
return (
<>
-
+ {/* 퍼블적용시작 */}
+
+
+
+
물건현황
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | 물건번호 |
+
+
+ {
+ setObjectNo(e.target.value)
+ setStuffSearch({ ...stuffSearch, code: 'S', schObjectNo: e.target.value })
+ }}
+ />
+
+ |
+ 판매대리점명 |
+
+
+ {
+ setSaleStoreId(e.target.value)
+ setStuffSearch({ ...stuffSearch, code: 'S', schSaleStoreId: e.target.value })
+ }}
+ />
+
+ |
+ 물건주소 |
+
+
+ {
+ setAddress(e.target.value)
+ setStuffSearch({ ...stuffSearch, code: 'S', schAddress: e.target.value })
+ }}
+ />
+
+ |
+
+
+ | 물건명 |
+
+
+ {
+ setobjectName(e.target.value)
+ setStuffSearch({ ...stuffSearch, code: 'S', schObjectName: e.target.value })
+ }}
+ />
+
+ |
+ 견적처 |
+
+
+ {
+ setDispCompanyName(e.target.value)
+ setStuffSearch({ ...stuffSearch, code: 'S', schDispCompanyName: e.target.value })
+ }}
+ />
+
+ |
+ 판매대리점 선택 |
+
+ {/*
+
+ */}
+ {schSelSaleStoreList?.length > 0 && (
+
+ {(option) => {option.saleStoreName}}
+
+ )}
+ |
+
+
+ | 담당자 |
+
+
+ {
+ setReceiveUser(e.target.value)
+ setStuffSearch({ ...stuffSearch, code: 'S', schReceiveUser: e.target.value })
+ }}
+ />
+
+ |
+ 기간검색 |
+
+
+ |
+
+
+
+
+
+ {/* 퍼블적용끝 */}
+ {/*
@@ -300,7 +496,7 @@ export default function StuffSearchCondition() {
)
}
})}
-
+
*/}
>
)
}