From 9911914b1c895af784da4b9718756b2c82ee3864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sanguu=28=EB=B0=95=EC=83=81=ED=98=84=29?= Date: Fri, 7 Oct 2022 18:05:16 +0900 Subject: [PATCH] =?UTF-8?q?=EC=8A=B9=EC=9D=B8=EA=B4=80=EB=A6=AC-=ED=8E=98?= =?UTF-8?q?=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 --- .../basis/group/BasisGroupApprovalGrid.js | 2 ++ .../basis/group/BasisGroupApprovalContainer.js | 14 ++++++++++---- .../basis/group/actions/basisGroupAction.ts | 2 +- src/modules/basis/group/apis/basisGroupApi.ts | 2 +- src/modules/basis/group/models/basisGroupModel.ts | 8 +++++++- .../basis/group/reducers/basisGroupReducer.ts | 5 +++-- src/modules/basis/group/sagas/basisGroupSaga.ts | 14 +++++++++----- 7 files changed, 33 insertions(+), 14 deletions(-) diff --git a/src/components/basis/group/BasisGroupApprovalGrid.js b/src/components/basis/group/BasisGroupApprovalGrid.js index 170c630e..d331bf2c 100644 --- a/src/components/basis/group/BasisGroupApprovalGrid.js +++ b/src/components/basis/group/BasisGroupApprovalGrid.js @@ -44,6 +44,8 @@ export const BasisGroupApprovalGrid = props => { pagination={props.pagination} paginationPerPage={props.paginationPerPage} paginationRowsPerPageOptions={props.paginationRowsPerPageOptions} + handlerPageChange={props.handlerPageChange} + total={props.total} /> diff --git a/src/containers/basis/group/BasisGroupApprovalContainer.js b/src/containers/basis/group/BasisGroupApprovalContainer.js index 33d2b8b4..5a63f75f 100644 --- a/src/containers/basis/group/BasisGroupApprovalContainer.js +++ b/src/containers/basis/group/BasisGroupApprovalContainer.js @@ -17,7 +17,8 @@ export const BasisGroupApprovalContainer = props => { joinListCount, groupList, groupListCount, - selectData + selectData, + total } = useSelector(state => state.groupState); const { user } = useSelector(state => state.authState); @@ -121,7 +122,8 @@ export const BasisGroupApprovalContainer = props => { searchParams: { ...params, cstmrSno: user?.cstmrSno, - groupId: groupId + groupId: groupId, + page: 1 } }) ); @@ -313,9 +315,11 @@ export const BasisGroupApprovalContainer = props => { }; const handlerSearch = () => { - dispatch(Actions.APPROVAL_LIST.request({ searchParams: params })); + dispatch(Actions.APPROVAL_LIST.request({ searchParams: params, page: 1 })); + }; + const handlerPageChange = page => { + dispatch(Actions.APPROVAL_LIST.request({ searchParams: params, page })); }; - const handlerAprvConfirm = cstmrGroupSno => { setModal({ isOpen: true, @@ -407,6 +411,8 @@ export const BasisGroupApprovalContainer = props => { pagination={true} paginationPerPage={10} paginationRowsPerPageOptions={[10, 20, 30, 40]} + handlerPageChange={handlerPageChange} + total={total} /> )} diff --git a/src/modules/basis/group/actions/basisGroupAction.ts b/src/modules/basis/group/actions/basisGroupAction.ts index 0278d78b..3d72884a 100644 --- a/src/modules/basis/group/actions/basisGroupAction.ts +++ b/src/modules/basis/group/actions/basisGroupAction.ts @@ -186,7 +186,7 @@ export const APPROVAL_LIST = createAsyncAction( APPROVAL_LIST_REQUEST, APPROVAL_LIST_SUCCESS, APPROVAL_LIST_FAILURE -)(); +)(); export const APPROVAL_UPDATE = createAsyncAction( APPROVAL_UPDATE_REQUEST, diff --git a/src/modules/basis/group/apis/basisGroupApi.ts b/src/modules/basis/group/apis/basisGroupApi.ts index 41f6a55a..8bcc5dfa 100644 --- a/src/modules/basis/group/apis/basisGroupApi.ts +++ b/src/modules/basis/group/apis/basisGroupApi.ts @@ -75,7 +75,7 @@ export const groupAPI = { return res; }, - listGroupAprv: async (data: string) => { + listGroupAprv: async (data: string, page: number) => { const queryString = qs.stringify(data, { addQueryPrefix: true, arrayFormat: 'repeat' diff --git a/src/modules/basis/group/models/basisGroupModel.ts b/src/modules/basis/group/models/basisGroupModel.ts index 4068d6f5..7deffc47 100644 --- a/src/modules/basis/group/models/basisGroupModel.ts +++ b/src/modules/basis/group/models/basisGroupModel.ts @@ -19,6 +19,9 @@ export interface GroupState { searchParams: string | ''; error: ErrorModel | undefined; selectData: SelectData | undefined; + page: number | 1; + total: number | 0; + count: number | 0; } export interface GroupSearchData { @@ -117,5 +120,8 @@ export const initGroup = { newGroupId: '', searchParams: '', error: undefined, - selectData: undefined + selectData: undefined, + page: 1, + total: 0, + count:0 }; diff --git a/src/modules/basis/group/reducers/basisGroupReducer.ts b/src/modules/basis/group/reducers/basisGroupReducer.ts index d5616e70..bd939389 100644 --- a/src/modules/basis/group/reducers/basisGroupReducer.ts +++ b/src/modules/basis/group/reducers/basisGroupReducer.ts @@ -86,9 +86,10 @@ export const groupReducer = createReducer( ) .handleAction(Actions.APPROVAL_LIST.success, (state, action) => produce(state, draft => { - const { data, count } = action.payload; + const { data, count, total } = action.payload; draft.aprvList = data; - draft.aprvCount = count; + draft.count = count; + draft.aprvCount = total; }) ) .handleAction(Actions.USER_LIST.success, (state, action) => diff --git a/src/modules/basis/group/sagas/basisGroupSaga.ts b/src/modules/basis/group/sagas/basisGroupSaga.ts index 593d12f3..0329ae0f 100644 --- a/src/modules/basis/group/sagas/basisGroupSaga.ts +++ b/src/modules/basis/group/sagas/basisGroupSaga.ts @@ -405,14 +405,18 @@ function* aprvListSaga( action: ActionType ) { try { - const { searchParams } = action.payload; - const res = yield call(Apis.groupAPI.listGroupAprv, searchParams); - const { data, count } = res; + const { searchParams, page } = action.payload; + const res = yield call(Apis.groupAPI.listGroupAprv, searchParams, page); + const { + data: { items, total }, + count + } = res; yield put( Actions.APPROVAL_LIST.success({ - data: data, - count: count + data: items, + count, + total }) ); } catch (error) {