'use client' import { useEffect, useRef, useState, useContext } from 'react' import { useAxios } from '@/hooks/useAxios' import { useRecoilState, useRecoilValue, useResetRecoilState, useSetRecoilState } from 'recoil' import { appMessageStore, globalLocaleStore } from '@/store/localeAtom' import Select from 'react-select' import KO from '@/locales/ko.json' import JA from '@/locales/ja.json' import { stuffSearchState } from '@/store/stuffAtom' import { isEmptyArray } from '@/util/common-utils' import dayjs from 'dayjs' import Link from 'next/link' import SingleDatePicker from '../common/datepicker/SingleDatePicker' import { useMessage } from '@/hooks/useMessage' import { isObjectNotEmpty } from '@/util/common-utils' import { SessionContext } from '@/app/SessionProvider' import { QcastContext } from '@/app/QcastProvider' export default function StuffSearchCondition() { const { session } = useContext(SessionContext) const setAppMessageState = useSetRecoilState(appMessageStore) const globalLocaleState = useRecoilValue(globalLocaleStore) const { getMessage } = useMessage() const ref = useRef() const ref2 = useRef() const { get } = useAxios(globalLocaleState) const objectNoRef = useRef(null) const saleStoreNameRef = useRef(null) const addressRef = useRef(null) const objectNameRef = useRef(null) const dispCompanyNameRef = useRef(null) const receiveUserRef = useRef(null) //달력 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로 관리 const resetStuffRecoil = useResetRecoilState(stuffSearchState) const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState) const [objectNo, setObjectNo] = useState('') //물건번호 const [saleStoreName, setSaleStoreName] = useState('') //판매대리점명 const [address, setAddress] = useState('') //물건주소 const [objectName, setobjectName] = useState('') //물건명 const [dispCompanyName, setDispCompanyName] = useState('') //견적처 const [schSelSaleStoreId, setSchSelSaleStoreId] = useState('') //판매대리점 선택 const [receiveUser, setReceiveUser] = useState('') //담당자 const [dateType, setDateType] = useState('U') //갱신일(U)/등록일(R) const [schSelSaleStoreList, setSchSelSaleStoreList] = useState([]) //판매대리점 자동완성 SELECT 전체 const [favoriteStoreList, setFavoriteStoreList] = useState([]) //즐겨찾기한 판매점목록 const [showSaleStoreList, setShowSaleStoreList] = useState([]) //보여줄 판매점목록 const [otherSaleStoreList, setOtherSaleStoreList] = useState([]) //1차점 이외 판매점목록 const [otherSaleStoreId, setOtherSaleStoreId] = useState('') const { setIsGlobalLoading } = useContext(QcastContext) // 조회 const onSubmit = () => { let diff = dayjs(endDate).diff(startDate, 'day') if (diff > 366) { return alert(getMessage('stuff.message.periodError')) } if (isNaN(diff)) { return alert(getMessage('stuff.message.periodError')) } setIsGlobalLoading(true) if (stuffSearch.code === 'S') { if (stuffSearch.pageNo !== 1) { setStuffSearch({ schObjectNo: objectNo ? objectNo.trim() : stuffSearch.schObjectNo.trim(), schSaleStoreName: saleStoreName ? saleStoreName.trim() : '', schAddress: address ? address.trim() : '', schObjectName: objectName ? objectName.trim() : '', schDispCompanyName: dispCompanyName ? dispCompanyName.trim() : '', schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '', schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '', schReceiveUser: receiveUser ? receiveUser.trim() : '', schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: 1, endRow: 1 * stuffSearch?.pageSize, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', pageNo: 1, pageSize: stuffSearch?.pageSize, }) } else { setStuffSearch({ schObjectNo: objectNo ? objectNo.trim() : stuffSearch.schObjectNo.trim(), schSaleStoreName: saleStoreName ? saleStoreName.trim() : '', schAddress: address ? address.trim() : '', schObjectName: objectName ? objectName.trim() : '', schDispCompanyName: dispCompanyName ? dispCompanyName.trim() : '', schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '', schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '', schReceiveUser: receiveUser ? receiveUser.trim() : '', schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: stuffSearch?.startRow ? stuffSearch.startRow : 1, endRow: stuffSearch?.endRow ? stuffSearch.endRow : 100, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', pageNo: stuffSearch?.pageNo, pageSize: stuffSearch?.pageSize, }) } } else if (stuffSearch.code === 'FINISH') { setStuffSearch({ schObjectNo: objectNo.trim(), schSaleStoreName: saleStoreName.trim(), schAddress: address.trim(), schObjectName: objectName.trim(), schDispCompanyName: dispCompanyName.trim(), schSelSaleStoreId: schSelSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId, schReceiveUser: receiveUser.trim(), schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: 1, endRow: 100, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', }) } else if (stuffSearch.code === 'E') { if (session.storeId !== 'T01' && session.storeLvl === '1') { setStuffSearch({ schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo.trim() : objectNo.trim(), schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName.trim() : saleStoreName.trim(), schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress.trim() : address.trim(), schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName.trim() : objectName.trim(), schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName.trim() : dispCompanyName.trim(), schSelSaleStoreId: otherSaleStoreId ? schSelSaleStoreId : '', schOtherSelSaleStoreId: otherSaleStoreId, schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser.trim() : receiveUser.trim(), schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: stuffSearch?.startRow ? stuffSearch.startRow : 1, endRow: stuffSearch?.endRow ? stuffSearch.endRow : 100, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', pageNo: stuffSearch?.pageNo, pageSize: stuffSearch?.pageSize, }) } else if (session.storeId === 'T01') { if (stuffSearch.pageNo !== 1) { setStuffSearch({ schObjectNo: objectNo ? objectNo.trim() : stuffSearch.schObjectNo.trim(), schSaleStoreName: saleStoreName ? saleStoreName.trim() : '', schAddress: address ? address.trim() : '', schObjectName: objectName ? objectName.trim() : '', schDispCompanyName: dispCompanyName ? dispCompanyName.trim() : '', schSelSaleStoreId: stuffSearch?.schSelSaleStoreId ? stuffSearch.schSelSaleStoreId : '', schOtherSelSaleStoreId: stuffSearch?.schOtherSelSaleStoreId ? stuffSearch.schOtherSelSaleStoreId : '', schReceiveUser: receiveUser ? receiveUser.trim() : '', schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: 1, endRow: 1 * stuffSearch?.pageSize, schSortType: 'U', pageNo: 1, pageSize: stuffSearch?.pageSize, }) } else { setStuffSearch({ schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo.trim() : objectNo.trim(), schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName.trim() : saleStoreName.trim(), schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress.trim() : address.trim(), schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName.trim() : objectName.trim(), schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName.trim() : dispCompanyName.trim(), schSelSaleStoreId: schSelSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId, schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser.trim() : receiveUser.trim(), schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: stuffSearch?.startRow ? stuffSearch.startRow : 1, endRow: stuffSearch?.endRow ? stuffSearch.endRow : 100, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', pageNo: stuffSearch?.pageNo, pageSize: stuffSearch?.pageSize, }) } } else { setStuffSearch({ schObjectNo: stuffSearch?.schObjectNo ? stuffSearch.schObjectNo.trim() : objectNo.trim(), schSaleStoreName: stuffSearch?.schSaleStoreName ? stuffSearch.schSaleStoreName.trim() : saleStoreName.trim(), schAddress: stuffSearch?.schAddress ? stuffSearch.schAddress.trim() : address.trim(), schObjectName: stuffSearch?.schObjectName ? stuffSearch.schObjectName.trim() : objectName.trim(), schDispCompanyName: stuffSearch?.schDispCompanyName ? stuffSearch.schDispCompanyName.trim() : dispCompanyName.trim(), schSelSaleStoreId: schSelSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId, schReceiveUser: stuffSearch?.schReceiveUser ? stuffSearch.schReceiveUser.trim() : receiveUser.trim(), schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: stuffSearch?.startRow ? stuffSearch.startRow : 1, endRow: stuffSearch?.endRow ? stuffSearch.endRow : 100, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', pageNo: stuffSearch?.pageNo, pageSize: stuffSearch?.pageSize, }) } } else { setStuffSearch({ schObjectNo: objectNo.trim(), schSaleStoreName: saleStoreName.trim(), schAddress: address.trim(), schObjectName: objectName.trim(), schDispCompanyName: dispCompanyName.trim(), schSelSaleStoreId: schSelSaleStoreId, schOtherSelSaleStoreId: otherSaleStoreId, schReceiveUser: receiveUser.trim(), schDateType: dateType, schFromDt: startDate ? dayjs(startDate).format('YYYY-MM-DD') : '', schToDt: endDate ? dayjs(endDate).format('YYYY-MM-DD') : '', code: 'E', startRow: stuffSearch?.startRow ? stuffSearch.startRow : 1, endRow: stuffSearch?.endRow ? stuffSearch.endRow : 100, schSortType: stuffSearch?.schSortType ? stuffSearch.schSortType : 'U', pageNo: stuffSearch?.pageNo, pageSize: stuffSearch?.pageSize, }) } } //초기화 const resetRecoil = () => { setIsGlobalLoading(false) //T01아니면 자동완성 초기화 막기 objectNoRef.current.value = '' saleStoreNameRef.current.value = '' addressRef.current.value = '' objectNameRef.current.value = '' dispCompanyNameRef.current.value = '' receiveUserRef.current.value = '' stuffSearch.schDateType = 'U' setObjectNo('') setAddress('') setobjectName('') setSaleStoreName('') setReceiveUser('') setDispCompanyName('') setDateType('U') setStartDate(dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD')) setEndDate(dayjs(new Date()).format('YYYY-MM-DD')) if (session?.storeId === 'T01') { setSchSelSaleStoreId('') setOtherSaleStoreId('') handleClear1() //판매대리점선택 자동완성 클리어 resetStuffRecoil() setStuffSearch({ schObjectNo: '', schAddress: '', schObjectName: '', schSaleStoreName: '', schReceiveUser: '', schDispCompanyName: '', schSelSaleStoreId: '', schOtherSelSaleStoreId: '', schDateType: 'U', startRow: 1, endRow: 100, schSortType: 'U', pageNo: 1, pageSize: 100, }) } else { if (otherSaleStoreList.length > 1) { handleClear2() setOtherSaleStoreId('') stuffSearch.schObjectNo = '' stuffSearch.schAddress = '' stuffSearch.schObjectName = '' stuffSearch.schSaleStoreName = '' stuffSearch.schReceiveUser = '' stuffSearch.schDispCompanyName = '' stuffSearch.schDateType = 'U' stuffSearch.startRow = 1 stuffSearch.endRow = 100 stuffSearch.schSortType = 'U' stuffSearch.pageNo = 1 stuffSearch.pageSize = 100 } else { stuffSearch.schObjectNo = '' stuffSearch.schAddress = '' stuffSearch.schObjectName = '' stuffSearch.schSaleStoreName = '' stuffSearch.schReceiveUser = '' stuffSearch.schDispCompanyName = '' stuffSearch.schDateType = 'U' stuffSearch.startRow = 1 stuffSearch.endRow = 100 stuffSearch.schSortType = 'U' stuffSearch.pageNo = 1 stuffSearch.pageSize = 100 } } } useEffect(() => { if (isObjectNotEmpty(session)) { // storeId가 T01 이거나 storeLvl이 1차점일때만 판매대리점 선택 활성화 let url if (session?.storeId === 'T01') { //T01일떄 url = `/api/object/saleStore/${session?.storeId}/firstList?userId=${session?.userId}` } else { if (session.storeLvl === '1') { //T01아닌 1차점일때 url = `/api/object/saleStore/${session?.storeId}/list?firstFlg=1&userId=${session?.userId}` } else { url = `/api/object/saleStore/${session?.storeId}/list?firstFlg=1&userId=${session?.userId}` } } get({ url: url }).then((res) => { if (!isEmptyArray(res)) { res.map((row) => { //#399 row.saleStoreName = row.saleStoreName + ' - ' + row.saleStoreId row.value = row.saleStoreId row.label = row.saleStoreName }) let allList let favList let otherList if (session?.storeId === 'T01') { allList = res allList.sort((a, b) => (a.saleStoreId !== 'T01') - (b.saleStoreId !== 'T01') || a.saleStoreId - b.saleStoreId) favList = res.filter((row) => row.saleStoreId === 'T01' || row.priority !== 'B') setSchSelSaleStoreList(allList) setFavoriteStoreList(favList) setShowSaleStoreList(favList) if (stuffSearch.schSelSaleStoreId != '') { setSchSelSaleStoreId(stuffSearch.schSelSaleStoreId) url = `/api/object/saleStore/${stuffSearch.schSelSaleStoreId}/list?firstFlg=1&userId=${session?.userId}` get({ url: url }).then((res) => { if (!isEmptyArray(res)) { res.map((row) => { //#399 row.saleStoreName = row.saleStoreName + ' - ' + row.saleStoreId row.value = row.saleStoreId row.label = row.saleStoreName }) otherList = res.filter((row) => row.saleStoreLevel !== '1') setOtherSaleStoreList(otherList) setOtherSaleStoreId(stuffSearch.schOtherSelSaleStoreId) } else { setOtherSaleStoreList([]) } }) } } else { if (session?.storeLvl === '1') { allList = res favList = res.filter((row) => row.priority !== 'B') otherList = res.filter((row) => row.firstAgentYn === 'N') setSchSelSaleStoreList(allList) setFavoriteStoreList(allList) setShowSaleStoreList(allList) setSchSelSaleStoreId(allList[0].saleStoreId) setOtherSaleStoreList(otherList) if (stuffSearch.schOtherSelSaleStoreId != '') { setOtherSaleStoreId(stuffSearch.schOtherSelSaleStoreId) } } else { //10X22, 201X112 그냥2차점 //2차점인데 34들고있는애 202X217 setSchSelSaleStoreList(res) setFavoriteStoreList(res) setShowSaleStoreList(res) setSchSelSaleStoreId(res[0].saleStoreId) otherList = res.filter((row) => row.firstAgentYn === 'N') setOtherSaleStoreList(otherList) //선택한 2차점 세션으로 자동셋팅 setOtherSaleStoreId(session?.storeId) setStuffSearch({ ...stuffSearch, code: 'S', schSelSaleStoreId: res[0].saleStoreId, schOtherSelSaleStoreId: otherList[0].saleStoreId, }) } } } }) } }, [session]) //초기화 눌렀을 때 1차판매점 자동완성도.. const handleClear1 = () => { if (ref.current) { ref.current.clearValue() } } const handleClear2 = () => { if (ref2.current) { ref2.current.clearValue() } } //자동완성 인풋 const onInputChange = (key) => { if (key !== '') { setShowSaleStoreList(schSelSaleStoreList) // setOtherSaleStoreList([]) } else { setShowSaleStoreList(favoriteStoreList) } } //판매대리점 자동완성 변경 const onSelectionChange = (key) => { if (isObjectNotEmpty(key)) { setOtherSaleStoreId('') setSchSelSaleStoreId(key.saleStoreId) stuffSearch.schSelSaleStoreId = key.saleStoreId //T01아닌 1차점은 본인으로 디폴트셋팅이고 수정할수없어서 여기안옴 //고른 1차점의 saleStoreId로 2차점 API호출하기 let url = `/api/object/saleStore/${key.saleStoreId}/list?firstFlg=0&userId=${session?.userId}` let otherList get({ url: url }).then((res) => { if (!isEmptyArray(res)) { res.map((row) => { //#399 row.saleStoreName = row.saleStoreName + ' - ' + row.saleStoreId row.value = row.saleStoreId row.label = row.saleStoreName }) otherList = res setOtherSaleStoreList(otherList) } else { setOtherSaleStoreList([]) } }) } else { //X누름 //화면에선 지우는데 리코일은 조회누르지 않으면 보존 setSchSelSaleStoreId('') setOtherSaleStoreId('') if (stuffSearch.code === 'S') { stuffSearch.schSelSaleStoreId = '' stuffSearch.schOtherSelSaleStoreId = '' } else if (stuffSearch.code === 'E') { //#401 stuffSearch.schSelSaleStoreId = '' stuffSearch.schOtherSelSaleStoreId = '' } //2차점 판매점목록비우기 setOtherSaleStoreList([]) } } //2차점 자동완성 변경 const onSelectionChange2 = (key) => { if (isObjectNotEmpty(key)) { setOtherSaleStoreId(key.saleStoreId) stuffSearch.schOtherSelSaleStoreId = key.saleStoreId //2차점 골랐을때 1차점 값 stuffSearch.schSelSaleStoreId = schSelSaleStoreId } else { //X누르면 검색조건에 1차점으로 셋팅 if (session.storeLvl === '1') { if (stuffSearch.schOtherSelSaleStoreId === '') { // 화면에선 지우는데 조회누르기 전이면 리코일은 남김 setSchSelSaleStoreId(session.storeId) } else { // 화면에선 지우는데 조회누르기 전이면 리코일은 남김 setOtherSaleStoreId('') if (stuffSearch.code === 'S') { stuffSearch.schOtherSelSaleStoreId = '' } } } else { setOtherSaleStoreId('') setSchSelSaleStoreId(schSelSaleStoreId) stuffSearch.schOtherSelSaleStoreId = '' stuffSearch.schSelSaleStoreId = schSelSaleStoreId } } } useEffect(() => { if (session?.storeId === 'T01') { if (stuffSearch.code === 'DELETE') { setObjectNo('') setSaleStoreName('') setAddress('') setobjectName('') setDispCompanyName('') setReceiveUser('') objectNoRef.current.value = '' saleStoreNameRef.current.value = '' addressRef.current.value = '' objectNameRef.current.value = '' dispCompanyNameRef.current.value = '' receiveUserRef.current.value = '' stuffSearch.schObjectNo = '' stuffSearch.schAddress = '' stuffSearch.schObjectName = '' stuffSearch.schSaleStoreName = '' stuffSearch.schReceiveUser = '' stuffSearch.schDispCompanyName = '' stuffSearch.schDateType = 'U' stuffSearch.schFromDt = dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD') stuffSearch.schToDt = dayjs(new Date()).format('YYYY-MM-DD') stuffSearch.startRow = 1 stuffSearch.endRow = 100 stuffSearch.schSelSaleStoreId = '' stuffSearch.schOtherSelSaleStoreId = '' stuffSearch.schSortType = 'U' stuffSearch.pageNo = 1 stuffSearch.pageSize = 100 setSchSelSaleStoreId('') setOtherSaleStoreId('') } else if (stuffSearch.code === 'S') { setObjectNo('') setSaleStoreName('') setAddress('') setobjectName('') setDispCompanyName('') setReceiveUser('') objectNoRef.current.value = '' saleStoreNameRef.current.value = '' addressRef.current.value = '' objectNameRef.current.value = '' dispCompanyNameRef.current.value = '' receiveUserRef.current.value = '' stuffSearch.schObjectNo = '' stuffSearch.schAddress = '' stuffSearch.schObjectName = '' stuffSearch.schSaleStoreName = '' stuffSearch.schReceiveUser = '' stuffSearch.schDispCompanyName = '' stuffSearch.schDateType = 'U' stuffSearch.schFromDt = dayjs(new Date()).add(-1, 'year').format('YYYY-MM-DD') stuffSearch.schToDt = dayjs(new Date()).format('YYYY-MM-DD') stuffSearch.startRow = 1 stuffSearch.endRow = 100 stuffSearch.schSelSaleStoreId = '' stuffSearch.schOtherSelSaleStoreId = '' stuffSearch.schSortType = 'U' stuffSearch.pageNo = 1 stuffSearch.pageSize = 100 setSchSelSaleStoreId('') setOtherSaleStoreId('') } } else { 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')) setObjectNo(stuffSearch.schObjectNo ? stuffSearch.schObjectNo : objectNo) setSaleStoreName(stuffSearch.schSaleStoreName ? stuffSearch.schSaleStoreName : saleStoreName) setAddress(stuffSearch.schAddress ? stuffSearch.schAddress : address) setobjectName(stuffSearch.schObjectName ? stuffSearch.schObjectName : objectName) setDispCompanyName(stuffSearch.schDispCompanyName ? stuffSearch.schDispCompanyName : dispCompanyName) setReceiveUser(stuffSearch.schReceiveUser ? stuffSearch.schReceiveUser : receiveUser) setDateType(stuffSearch.schDateType ? stuffSearch.schDateType : dateType) } }, [stuffSearch]) useEffect(() => { if (globalLocaleState === 'ko') { setAppMessageState(KO) } else { setAppMessageState(JA) } }, [globalLocaleState]) // 엔터 이벤트 const handleByOnKeyUp = (e) => { if (e.key === 'Enter') { stuffSearch.code = 'E' onSubmit() } } return ( <> {/* 퍼블적용시작 */}

{getMessage('stuff.search.title')}

{/* */}
{getMessage('stuff.search.schObjectNo')}
{ stuffSearch.schObjectNo = objectNoRef.current.value setObjectNo(objectNoRef.current.value) }} onKeyUp={handleByOnKeyUp} />
{getMessage('stuff.search.schSaleStoreName')}
{ stuffSearch.schSaleStoreName = saleStoreNameRef.current.value setSaleStoreName(saleStoreNameRef.current.value) }} onKeyUp={handleByOnKeyUp} />
{getMessage('stuff.search.schAddress')}
{ stuffSearch.schAddress = addressRef.current.value setAddress(addressRef.current.value) }} onKeyUp={handleByOnKeyUp} />
{getMessage('stuff.search.schDispCompanyName')}
{ stuffSearch.schDispCompanyName = dispCompanyNameRef.current.value setDispCompanyName(dispCompanyNameRef.current.value) }} onKeyUp={handleByOnKeyUp} />
{getMessage('stuff.search.schObjectName')}
{ stuffSearch.schObjectName = objectNameRef.current.value setobjectName(objectNameRef.current.value) }} onKeyUp={handleByOnKeyUp} />
{getMessage('stuff.search.schReceiveUser')}
{ stuffSearch.schReceiveUser = receiveUserRef.current.value setReceiveUser(receiveUserRef.current.value) }} onKeyUp={handleByOnKeyUp} />
{getMessage('stuff.search.schSelSaleStoreId')}
{session?.storeId === 'T01' && ( x.saleStoreName} getOptionValue={(x) => x.saleStoreId} value={showSaleStoreList.filter(function (option) { if (stuffSearch?.code === 'S' && schSelSaleStoreId === '') { return false } else if (stuffSearch?.code === 'S' && schSelSaleStoreId !== '') { return option.saleStoreId === schSelSaleStoreId } else if (stuffSearch?.code === 'E' && schSelSaleStoreId !== '') { return option.saleStoreId === schSelSaleStoreId } else { if (stuffSearch?.code === 'FINISH') { return option.saleStoreId === schSelSaleStoreId } else if (stuffSearch?.schSelSaleStoreId !== '') { return option.saleStoreId === stuffSearch.schSelSaleStoreId } else { return false } } })} isDisabled={session?.storeLvl !== '1' ? true : session?.storeId !== 'T01' ? true : false} isClearable={false} /> )} {session?.storeId !== 'T01' && session?.storeLvl !== '1' && ( x.saleStoreName} getOptionValue={(x) => x.saleStoreId} isDisabled={otherSaleStoreList.length > 0 ? false : true} isClearable={true} value={otherSaleStoreList.filter(function (option) { return option.saleStoreId === otherSaleStoreId })} />
{getMessage('stuff.search.period')}
{ setDateType(e.target.value) stuffSearch.schDateType = e.target.value }} />
{ setDateType(e.target.value) stuffSearch.schDateType = e.target.value }} />
~
{/* 퍼블적용끝 */} ) }