From 1a9fd70fb06ceadaf59eacda35e26b7aecd674f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?junh=5Feee=28=EC=9D=B4=EC=A4=80=ED=9D=AC=29?= Date: Tue, 11 Oct 2022 13:44:06 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20-=20=ED=8E=98=EC=9D=B4=EC=A7=95=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basis/group/BasisGroupUsersGrid.js | 4 +++- .../basis/group/BasisGroupUsersContainer.js | 19 +++++++++++++++---- .../basis/group/actions/basisGroupAction.ts | 6 +++++- .../basis/group/models/basisGroupModel.ts | 18 ++++++++++-------- .../basis/group/reducers/basisGroupReducer.ts | 5 +++-- .../basis/group/sagas/basisGroupSaga.ts | 13 ++++++++++--- 6 files changed, 46 insertions(+), 19 deletions(-) diff --git a/src/components/basis/group/BasisGroupUsersGrid.js b/src/components/basis/group/BasisGroupUsersGrid.js index ac765d0..bf6adcd 100644 --- a/src/components/basis/group/BasisGroupUsersGrid.js +++ b/src/components/basis/group/BasisGroupUsersGrid.js @@ -10,7 +10,7 @@ export const BasisGroupUsersGrid = props => {

{props.title} 목록

- 검색결과 총 {props.count}건 + 검색결과 총 {props.total}건
{/*
{ title={'비행이력'} data={props.data} count={props.count} + total={props.total} columns={props.columns} pagination={props.pagination} + handlerPageChange={props.handlerPageChange} paginationPerPage={props.paginationPerPage} paginationRowsPerPageOptions={props.paginationRowsPerPageOptions} /> diff --git a/src/containers/basis/group/BasisGroupUsersContainer.js b/src/containers/basis/group/BasisGroupUsersContainer.js index 1e773fb..64ed41f 100644 --- a/src/containers/basis/group/BasisGroupUsersContainer.js +++ b/src/containers/basis/group/BasisGroupUsersContainer.js @@ -14,11 +14,14 @@ export const BasisGroupUsersContainer = props => { const { joinList, joinListCount, - userList, - userCount, groupList, groupListCount, - selectData + selectData, + userCount, + + userList, + count, + total } = useSelector(state => state.groupState); const { user } = useSelector(state => state.authState); @@ -427,6 +430,12 @@ export const BasisGroupUsersContainer = props => { }); }; + const handlerPageChange = page => { + const param = params; + param.page = page; + dispatch(Actions.USER_LIST.request({ searchParams: param })); + }; + return (
@@ -485,7 +494,9 @@ export const BasisGroupUsersContainer = props => { data={userList} title={'사용자'} columns={userColumns} - count={userCount} + count={count} + total={total} + handlerPageChange={handlerPageChange} pagination={true} paginationPerPage={10} paginationRowsPerPageOptions={[10, 20, 30, 40]} diff --git a/src/modules/basis/group/actions/basisGroupAction.ts b/src/modules/basis/group/actions/basisGroupAction.ts index 31cef2a..29d8165 100644 --- a/src/modules/basis/group/actions/basisGroupAction.ts +++ b/src/modules/basis/group/actions/basisGroupAction.ts @@ -202,7 +202,11 @@ export const USER_LIST = createAsyncAction( USER_LIST_REQUEST, USER_LIST_SUCCESS, USER_LIST_FAILURE -)(); +)< + GroupState, + { data: UserGroupData[]; count: number; total: number }, + AxiosError +>(); export const USER_UPDATE = createAsyncAction( USER_UPDATE_REQUEST, diff --git a/src/modules/basis/group/models/basisGroupModel.ts b/src/modules/basis/group/models/basisGroupModel.ts index 7deffc4..d4483c3 100644 --- a/src/modules/basis/group/models/basisGroupModel.ts +++ b/src/modules/basis/group/models/basisGroupModel.ts @@ -2,26 +2,27 @@ import { ErrorModel } from '../../../models/ComnModel'; export interface GroupState { myList: GroupData[] | undefined; - myListCount: number | 0; groupDetail: GroupData | undefined; joinList: JoinGroupData[] | undefined; - joinListCount: number | 0; mainList: MainGroupData[] | undefined; - mainListCount: number | 0; groupList: GroupData[] | undefined; - groupListCount: number | 0; aprvList: AprvGroupData[] | undefined; - aprvCount: number | 0; userList: UserGroupData[] | undefined; - userCount: number | 0; + selectData: SelectData | undefined; groupId: string | ''; newGroupId: String | ''; searchParams: string | ''; error: ErrorModel | undefined; - selectData: SelectData | undefined; page: number | 1; total: number | 0; count: number | 0; + + myListCount: number | 0; + joinListCount: number | 0; + mainListCount: number | 0; + groupListCount: number | 0; + aprvCount: number | 0; + userCount: number | 0; } export interface GroupSearchData { @@ -85,6 +86,7 @@ export interface AprvGroupData { export interface UserGroupState { userGroupData: UserGroupData[] | undefined; } + export interface UserGroupData { cstmrGroupSno: number; groupId: string; @@ -123,5 +125,5 @@ export const initGroup = { selectData: undefined, page: 1, total: 0, - count:0 + count: 0 }; diff --git a/src/modules/basis/group/reducers/basisGroupReducer.ts b/src/modules/basis/group/reducers/basisGroupReducer.ts index 77d1537..dff516d 100644 --- a/src/modules/basis/group/reducers/basisGroupReducer.ts +++ b/src/modules/basis/group/reducers/basisGroupReducer.ts @@ -95,9 +95,10 @@ export const groupReducer = createReducer( ) .handleAction(Actions.USER_LIST.success, (state, action) => produce(state, draft => { - const { data, count } = action.payload; + const { data, count, total } = action.payload; draft.userList = data; - draft.userCount = count; + draft.count = count; + draft.total = total; }) ) .handleAction(Actions.SELECT, (state, action) => diff --git a/src/modules/basis/group/sagas/basisGroupSaga.ts b/src/modules/basis/group/sagas/basisGroupSaga.ts index c427ece..407d37b 100644 --- a/src/modules/basis/group/sagas/basisGroupSaga.ts +++ b/src/modules/basis/group/sagas/basisGroupSaga.ts @@ -463,11 +463,18 @@ function* userListSaga(action: ActionType) { try { const { searchParams } = action.payload; const res = yield call(Apis.groupAPI.listGroupUser, searchParams); - const { data } = res; + // const { data } = res; + const { + data: { items, total }, + count + } = res; yield put( Actions.USER_LIST.success({ - data: data.items, - count: data.total + // data: data.items, + // count: data.total + data: items, + count, + total }) ); } catch (error) {