From ed8f9e0df3190e53cbb77133ed732b003403a300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sanguu=28=EB=B0=95=EC=83=81=ED=98=84=29?= Date: Tue, 11 Oct 2022 14:31:16 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B8=B0=EC=B2=B4=20=EB=AA=A9=EB=A1=9D=20(?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=95=EC=9E=91=EC=97=85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/basis/dron/BasisDronGrid.js | 3 ++- .../basis/dron/BasisDronContainer.js | 25 +++++++++++-------- .../basis/dron/actions/basisDronAction.ts | 4 +-- src/modules/basis/dron/apis/basisDronApi.ts | 2 -- .../basis/dron/models/basisDronModel.ts | 6 ++++- .../basis/dron/reducers/basisDronReducer.ts | 3 ++- src/modules/basis/dron/sagas/basisDronSaga.ts | 18 +++++++------ 7 files changed, 36 insertions(+), 25 deletions(-) diff --git a/src/components/basis/dron/BasisDronGrid.js b/src/components/basis/dron/BasisDronGrid.js index 671efc2..e50457f 100644 --- a/src/components/basis/dron/BasisDronGrid.js +++ b/src/components/basis/dron/BasisDronGrid.js @@ -27,11 +27,12 @@ export const BasisDronGrid = props => { diff --git a/src/containers/basis/dron/BasisDronContainer.js b/src/containers/basis/dron/BasisDronContainer.js index 707105b..7653396 100644 --- a/src/containers/basis/dron/BasisDronContainer.js +++ b/src/containers/basis/dron/BasisDronContainer.js @@ -25,7 +25,7 @@ export const BasisDronContainer = props => { state => state.groupState ); const { selectData } = useSelector(state => state.dronState); - const { list, count } = useSelector(state => state.dronState); + const { list, count, total } = useSelector(state => state.dronState); const { user } = useSelector(state => state.authState, shallowEqual); const [params, setParams] = useState({}); const titleName = '기체 관리'; @@ -234,16 +234,18 @@ export const BasisDronContainer = props => { } }, [user]); - const handlerSearch = () => { - GroupActions.JOIN_LIST.request({ - searchParams: { cstmrSno: user?.cstmrSno } - }); - }; + // const handlerSearch = () => { + // GroupActions.JOIN_LIST.request({ + // searchParams: { cstmrSno: user?.cstmrSno } + // }); + // }; - const handlerDronSearch = () => { - dispatch(Actions.LIST.request(selectData)); + // const handlerDronSearch = () => { + // dispatch(Actions.LIST.request(selectData)); + // }; + const handlerPageChange = page => { + dispatch(Actions.LIST.request({ groupId: groupId, page })); }; - const handlerDetail = (groupId, groupNm, groupAuthCd, aprvlYn) => { dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm })); setParams({ @@ -251,7 +253,7 @@ export const BasisDronContainer = props => { groupId: groupId, groupNm: groupNm }); - dispatch(Actions.LIST.request({ groupId: groupId })); + dispatch(Actions.LIST.request({ searchParams: { groupId: groupId, page: 1 } })); let my = false; if (user.authId === 'SUPER') { @@ -323,12 +325,13 @@ export const BasisDronContainer = props => { title={titleName} subTitle={params.groupNm} columns={dronColumns} - count={count} + total={total} handlerGroupCreate={handlerGroupCreate} pagination={true} paginationPerPage={10} paginationRowsPerPageOptions={[10, 20, 30, 40]} isMyGroup={isMyGroup} + handlerPageChange={handlerPageChange} /> )} diff --git a/src/modules/basis/dron/actions/basisDronAction.ts b/src/modules/basis/dron/actions/basisDronAction.ts index 40841a1..d964289 100644 --- a/src/modules/basis/dron/actions/basisDronAction.ts +++ b/src/modules/basis/dron/actions/basisDronAction.ts @@ -56,8 +56,8 @@ const IDNTF_DELETE_FAILURE = 'basis/idntf/IDNTF_DELETE_FAILURE'; const SELECT_GROUP = 'basis/dron/SELECT_GROUP'; export const LIST = createAsyncAction(LIST_REQUEST, LIST_SUCCESS, LIST_FAILURE)< - string, - { data: DronData[]; count: number }, +DronState, + { data: DronData[]; count: number,total: number }, AxiosError >(); diff --git a/src/modules/basis/dron/apis/basisDronApi.ts b/src/modules/basis/dron/apis/basisDronApi.ts index 449c951..b251372 100644 --- a/src/modules/basis/dron/apis/basisDronApi.ts +++ b/src/modules/basis/dron/apis/basisDronApi.ts @@ -29,13 +29,11 @@ export const dronAPI = { return res; }, idntfCreate: async (data: IdntfData[]) => { - const res = await axios.post('api/bas/dron/idntf/create', data); return res; }, update: async (data: DronData) => { - const res = await axios.put('api/bas/dron/update', data); return res; diff --git a/src/modules/basis/dron/models/basisDronModel.ts b/src/modules/basis/dron/models/basisDronModel.ts index 4116a48..c211987 100644 --- a/src/modules/basis/dron/models/basisDronModel.ts +++ b/src/modules/basis/dron/models/basisDronModel.ts @@ -9,6 +9,8 @@ export interface DronState { listIdntf: IdntfData[] | undefined; idntfCount: number | 0; isRefreshIdntf: boolean | false; + page: number | 1; + total: number | 0; } export interface SelectData { @@ -64,5 +66,7 @@ export const initDron = { selectData: undefined, listIdntf: undefined, idntfCount: 0, - isRefreshIdntf: false + isRefreshIdntf: false, + page: 1, + total: 0 }; diff --git a/src/modules/basis/dron/reducers/basisDronReducer.ts b/src/modules/basis/dron/reducers/basisDronReducer.ts index 1867493..c760659 100644 --- a/src/modules/basis/dron/reducers/basisDronReducer.ts +++ b/src/modules/basis/dron/reducers/basisDronReducer.ts @@ -9,9 +9,10 @@ export const dronReducer = createReducer( ) .handleAction(Actions.LIST.success, (state, action) => produce(state, draft => { - const { data, count } = action.payload; + const { data, count, total } = action.payload; draft.list = data; draft.count = count; + draft.total = total; }) ) .handleAction(Actions.IDNTF_LIST.success, (state, action) => diff --git a/src/modules/basis/dron/sagas/basisDronSaga.ts b/src/modules/basis/dron/sagas/basisDronSaga.ts index 124291d..729a523 100644 --- a/src/modules/basis/dron/sagas/basisDronSaga.ts +++ b/src/modules/basis/dron/sagas/basisDronSaga.ts @@ -12,9 +12,13 @@ import * as Apis from '../apis/basisDronApi'; function* listSaga(action: ActionType) { try { - const params = action.payload; - const res = yield call(Apis.dronAPI.list, params); - const { data, count, errorCode, errorMessage } = res; + const { searchParams } = action.payload; + const res = yield call(Apis.dronAPI.list, searchParams); + const { + data: { items, total }, + count, + errorCode + } = res; if (errorCode) { // 오류메시지 호출 yield put( @@ -30,8 +34,9 @@ function* listSaga(action: ActionType) { } yield put( Actions.LIST.success({ - data: data, - count: count + data: items, + count, + total }) ); } catch (error) { @@ -65,7 +70,6 @@ function* listIdntfSaga(action: ActionType) { dataArr.push({ ...item, isSave: true, id: item?.idntfNum }); }); - yield put( Actions.IDNTF_LIST.success({ data: dataArr, @@ -185,7 +189,7 @@ function* updateSaga(action: ActionType) { const { data } = res; - if (data.result) { + if (data.result) { yield put( MessageActions.IS_MESSAGE({ messageCode: SAVE_MESSAGE.code,