칼리움 완료처리 파라미터 변경
우편 상세 확인시 페이지 처리 조회조건 변경시 페이지 초기화 랜드경매 메시지 제거
This commit is contained in:
@@ -65,7 +65,6 @@ const LandAuctionModal = ({ modalType, detailView, handleDetailView, content, se
|
||||
resv_end_dt: convertKTCDate(content.resv_end_dt),
|
||||
auction_start_dt: convertKTCDate(content.auction_start_dt),
|
||||
auction_end_dt: convertKTCDate(content.auction_end_dt),
|
||||
message_list: content.message_list,
|
||||
});
|
||||
const land = landData.find(land => land.id === parseInt(content.land_id));
|
||||
setSelectLand(land);
|
||||
@@ -126,30 +125,6 @@ const LandAuctionModal = ({ modalType, detailView, handleDetailView, content, se
|
||||
}
|
||||
};
|
||||
|
||||
// 입력 글자 제한
|
||||
const handleInputData = e => {
|
||||
if (e.target.value.length > 250) {
|
||||
return;
|
||||
}
|
||||
const updatedMessages = resultData.message_list.map(msg =>
|
||||
msg.language === message_lang
|
||||
? { ...msg, content: e.target.value.trimStart() }
|
||||
: msg
|
||||
);
|
||||
|
||||
setResultData(prev => ({
|
||||
...prev,
|
||||
message_list: updatedMessages
|
||||
}));
|
||||
};
|
||||
|
||||
// 언어 선택
|
||||
const handleLanguage = e => {
|
||||
setMessage_lang(e.target.value);
|
||||
if(!resultData.message_list.some(({language}) => language === e.target.value))
|
||||
setResultData({ ...resultData, message_list: [...resultData.message_list, {language: e.target.value, content: ''}] })
|
||||
}
|
||||
|
||||
const handleLand = e => {
|
||||
const land_id = e.target.value;
|
||||
const land = landData.find(land => land.id === parseInt(land_id));
|
||||
@@ -256,7 +231,6 @@ const LandAuctionModal = ({ modalType, detailView, handleDetailView, content, se
|
||||
&& resultData.resv_start_dt !== ''
|
||||
&& resultData.resv_end_dt !== ''
|
||||
&& resultData.land_id !== ''
|
||||
// && resultData.message_list?.every(data => data.content !== '')
|
||||
);
|
||||
};
|
||||
|
||||
@@ -368,42 +342,6 @@ const LandAuctionModal = ({ modalType, detailView, handleDetailView, content, se
|
||||
endLabel="종료 일자"
|
||||
reset={resetDateTime}
|
||||
/>
|
||||
|
||||
{/*<NoticeInputRow2>*/}
|
||||
{/* <InputLabel>*/}
|
||||
{/* 메세지 작성[경매 시작 5분전 공지 - 미구현]*/}
|
||||
{/* </InputLabel>*/}
|
||||
{/* <NoticeInputItem2>*/}
|
||||
{/* <InputLabel>언어</InputLabel>*/}
|
||||
{/* <SelectInput onChange={e => handleLanguage(e) } value={message_lang}>*/}
|
||||
{/* {languageType.map((data, index) => (*/}
|
||||
{/* <option key={index} value={data.value}>*/}
|
||||
{/* {data.name}*/}
|
||||
{/* </option>*/}
|
||||
{/* ))}*/}
|
||||
{/* </SelectInput>*/}
|
||||
{/* </NoticeInputItem2>*/}
|
||||
{/*</NoticeInputRow2>*/}
|
||||
{/*<BoxWrapper>*/}
|
||||
{/* {resultData.message_list.map(content => {*/}
|
||||
{/* return (*/}
|
||||
{/* <Fragment key={content.language}>*/}
|
||||
{/* {message_lang === content.language && (*/}
|
||||
{/* <FormTextAreaWrapper>*/}
|
||||
{/* <FormTextArea*/}
|
||||
{/* name="content"*/}
|
||||
{/* id={content.language}*/}
|
||||
{/* value={content.content}*/}
|
||||
{/* onChange={e => handleInputData(e)}*/}
|
||||
{/* maxLength={250}*/}
|
||||
{/* disabled={!isView('message')}*/}
|
||||
{/* />*/}
|
||||
{/* </FormTextAreaWrapper>*/}
|
||||
{/* )}*/}
|
||||
{/* </Fragment>*/}
|
||||
{/* );*/}
|
||||
{/* })}*/}
|
||||
{/*</BoxWrapper>*/}
|
||||
{!isView() && isNullValue && <SearchBarAlert $marginTop="25px" $align="right">{t('REQUIRED_VALUE_CHECK')}</SearchBarAlert>}
|
||||
</MessageWrapper>
|
||||
|
||||
@@ -465,12 +403,7 @@ export const initData = {
|
||||
resv_start_dt: '',
|
||||
resv_end_dt: '',
|
||||
auction_start_dt: '',
|
||||
auction_end_dt: '',
|
||||
message_list: [
|
||||
{ language: 'KO', content: '' },
|
||||
{ language: 'EN', content: '' },
|
||||
{ language: 'JA', content: '' },
|
||||
],
|
||||
auction_end_dt: ''
|
||||
}
|
||||
|
||||
export const initLandData = {
|
||||
|
||||
@@ -102,7 +102,22 @@ export const useCommonSearchOld = (configPath) => {
|
||||
}, [configLoaded, config, searchParams, fetchData]);
|
||||
|
||||
// 검색 파라미터 업데이트
|
||||
const updateSearchParams = useCallback((newParams) => {
|
||||
const updateSearchParams = useCallback((newParams, resetPage = false) => {
|
||||
const pageField = config?.apiInfo?.pageField || 'currentPage';
|
||||
|
||||
setSearchParams(prev => {
|
||||
// 페이지 필드 자체가 변경되는 경우가 아니라면 1페이지로 리셋
|
||||
const shouldResetPage = !newParams.hasOwnProperty(pageField) && prev[pageField] > 1;
|
||||
|
||||
return {
|
||||
...prev,
|
||||
...newParams,
|
||||
...(shouldResetPage && { [pageField]: 1 })
|
||||
};
|
||||
});
|
||||
}, [config]);
|
||||
|
||||
const updateSearchParamsForPagination = useCallback((newParams) => {
|
||||
setSearchParams(prev => ({
|
||||
...prev,
|
||||
...newParams
|
||||
@@ -142,8 +157,14 @@ export const useCommonSearchOld = (configPath) => {
|
||||
if (!config) return null;
|
||||
|
||||
const pageField = config.apiInfo?.pageField || 'currentPage';
|
||||
return await handleSearch({ [pageField]: newPage }, true);
|
||||
}, [handleSearch, config]);
|
||||
const updatedParams = {
|
||||
...searchParams,
|
||||
[pageField]: newPage
|
||||
};
|
||||
|
||||
updateSearchParamsForPagination(updatedParams);
|
||||
return await fetchData(updatedParams);
|
||||
}, [searchParams, fetchData, config, updateSearchParamsForPagination]);
|
||||
|
||||
// 페이지 크기 변경
|
||||
const handlePageSizeChange = useCallback(async (newSize) => {
|
||||
|
||||
@@ -1,21 +1,14 @@
|
||||
import React, { Fragment, useState } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
import Button from '../../components/common/button/Button';
|
||||
import CheckBox from '../../components/common/input/CheckBox';
|
||||
import Modal from '../../components/common/modal/Modal';
|
||||
|
||||
import styled from 'styled-components';
|
||||
import {
|
||||
Title,
|
||||
TableWrapper,
|
||||
BtnWrapper,
|
||||
TableInfo,
|
||||
ListOption,
|
||||
TableStyle,
|
||||
ButtonClose,
|
||||
ModalText,
|
||||
DetailMessage,
|
||||
} from '../../styles/Components';
|
||||
|
||||
@@ -23,14 +16,11 @@ import { NoticeDelete, NoticeDetailView, NoticeListView } from '../../apis/Notic
|
||||
import { BoardInfoModal, BoardRegistModal } from '../../components/ServiceManage';
|
||||
import { authList } from '../../store/authList';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { convertKTC, timeDiffMinute } from '../../utils';
|
||||
import AuthModal from '../../components/common/modal/AuthModal';
|
||||
import { authType, landAuctionStatusType } from '../../assets/data';
|
||||
import { convertKTC } from '../../utils';
|
||||
import { authType } from '../../assets/data';
|
||||
import { useAlert } from '../../context/AlertProvider';
|
||||
import { message_type, sendStatus } from '../../assets/data/options';
|
||||
import { BattleEventDelete, BattleEventDetailView, BattleEventStop } from '../../apis/Battle';
|
||||
import { alertTypes, battleEventStatusType } from '../../assets/data/types';
|
||||
import { alertTypes } from '../../assets/data/types';
|
||||
import { useModal, useTable, withAuth } from '../../hooks/hook';
|
||||
import { useLoading } from '../../context/LoadingProvider';
|
||||
import LogDetailModal from '../../components/common/modal/LogDetailModal';
|
||||
@@ -109,7 +99,7 @@ const Board = () => {
|
||||
|
||||
selectedRows.map(data =>
|
||||
list.push({
|
||||
message_id: data.id,
|
||||
id: data.id,
|
||||
}),
|
||||
);
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ const Items = () => {
|
||||
pagination,
|
||||
goToNextPage,
|
||||
goToPrevPage,
|
||||
handlePageChange
|
||||
} = useEnhancedCommonSearch("itemSearch");
|
||||
|
||||
const {
|
||||
@@ -85,7 +86,7 @@ const Items = () => {
|
||||
showToast('API_FAIL', {type: alertTypes.error});
|
||||
}).finally(() => {
|
||||
setItemCount('1');
|
||||
handleSearch(updateSearchParams);
|
||||
handlePageChange(pagination.currentPage);
|
||||
});
|
||||
|
||||
break;
|
||||
@@ -118,7 +119,7 @@ const Items = () => {
|
||||
}).catch(reason => {
|
||||
showToast('API_FAIL', {type: alertTypes.error});
|
||||
}).finally(() => {
|
||||
handleSearch(updateSearchParams);
|
||||
handlePageChange(pagination.currentPage);
|
||||
});
|
||||
|
||||
break;
|
||||
|
||||
@@ -226,7 +226,7 @@ const Mail = () => {
|
||||
detailView={modalState.detailModal}
|
||||
handleDetailView={() =>{
|
||||
handleModalClose('detail');
|
||||
handleSearch(updateSearchParams);
|
||||
handlePageChange(searchParams.currentPage);
|
||||
}}
|
||||
content={detailData}
|
||||
/>
|
||||
|
||||
@@ -46,7 +46,6 @@ const CaliumRequest = () => {
|
||||
const navigate = useNavigate();
|
||||
|
||||
const tableRef = useRef(null);
|
||||
const [selectCharge, setSelectCharge] = useState({});
|
||||
const [historyData, setHistoryData] = useState({});
|
||||
|
||||
const {
|
||||
@@ -90,15 +89,15 @@ const CaliumRequest = () => {
|
||||
});
|
||||
break;
|
||||
case "chargedConfirm":
|
||||
setSelectCharge({id: param.id, count: param.count});
|
||||
const select = {id: param.id, count: param.count};
|
||||
showModal('CALIUM_CHARGE_CONFIRM', {
|
||||
type: alertTypes.confirm,
|
||||
onConfirm: () => handleSubmit('charged')
|
||||
onConfirm: () => handleSubmit('charged', select)
|
||||
});
|
||||
break;
|
||||
case "charged":
|
||||
await withLoading( async () => {
|
||||
return await CaliumCharge(token, selectCharge);
|
||||
return await CaliumCharge(token, param);
|
||||
}).then(data => {
|
||||
if(data.result === "SUCCESS") {
|
||||
showToast('CHARGE_COMPLTED', {type: alertTypes.success});
|
||||
@@ -110,7 +109,6 @@ const CaliumRequest = () => {
|
||||
}).catch(error => {
|
||||
showToast('API_FAIL', {type: alertTypes.error});
|
||||
}).finally(() =>{
|
||||
setSelectCharge({});
|
||||
handleSearch(updateSearchParams);
|
||||
});
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user