Browse Source

기초정보관리 Redux 경로 작업 중

master
junh_eee(이준희) 8 months ago
parent
commit
37f0511002
  1. 13
      src/containers/basis/dron/BasisDronContainer.js
  2. 4
      src/containers/basis/dron/BasisDronDetailContainer.js
  3. 2
      src/containers/basis/dron/BasisIdntfContainer.js
  4. 10
      src/modules/basis/dron/actions/index.ts
  5. 39
      src/modules/basis/dron/apis/index.ts
  6. 8
      src/modules/basis/dron/index.ts
  7. 26
      src/modules/basis/dron/models/index.ts
  8. 5
      src/modules/basis/dron/reducers/index.ts
  9. 17
      src/modules/basis/dron/sagas/index.ts
  10. 3
      src/modules/basis/group/actions/basisGroupAction.ts
  11. 262
      src/modules/basis/group/actions/index.ts
  12. 40
      src/modules/basis/group/apis/basisGroupApi.ts
  13. 2
      src/modules/statistics/models/index.ts

13
src/containers/basis/dron/BasisDronContainer.js

@ -2,12 +2,11 @@ import { useEffect, useState } from 'react';
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
import { useHistory, Link } from 'react-router-dom';
import { Button } from 'reactstrap';
import * as Actions from '../../../modules/basis/dron/actions/basisDronAction';
import * as DronActions from '../../../modules/basis/dron/actions';
import * as GroupActions from '../../../modules/basis/group/actions/basisGroupAction';
import { GET_ARCTFT_TYPE_CD } from '../../../utility/CondeUtil';
import { GET_WGHT_TYPE_CD } from '../../../utility/CondeUtil';
import { BasisContainer } from '../BasisContainer';
import { BasisGroupGrid } from '../../../components/basis/BasisGroupGrid';
import { BasisDataGrid } from '../../../components/basis/BasisDataGrid';
export const BasisDronContainer = props => {
@ -181,12 +180,12 @@ export const BasisDronContainer = props => {
const handlerPageChange = page => {
const param = params;
param.page = page;
dispatch(Actions.LIST.request({ searchParams: param }));
dispatch(DronActions.LIST.request({ searchParams: param }));
};
// 상세보기 선택 시
const handlerDetail = (groupId, groupNm, groupAuthCd, myGroupAuthCd) => {
dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
dispatch(DronActions.SELECT({ groupId: groupId, groupNm: groupNm }));
localStorage.setItem('dronGroupId', groupId);
localStorage.setItem('dronGroupNm', groupNm);
setParams({
@ -195,7 +194,7 @@ export const BasisDronContainer = props => {
groupNm: groupNm
});
dispatch(
Actions.LIST.request({ searchParams: { groupId: groupId, page: 1 } })
DronActions.LIST.request({ searchParams: { groupId: groupId, page: 1 } })
);
//기체등록버튼 활성/비활성 제어
@ -216,13 +215,13 @@ export const BasisDronContainer = props => {
// 기체 등록 화면으로 이동
const handlerGroupCreate = () => {
dispatch(Actions.RESET_IDNTF()); // 초기화 진행
dispatch(DronActions.RESET_IDNTF()); // 초기화 진행
history.push(`/basis/dron/create`);
};
// 상세보기 선택취소 시
const handlerCancel = () => {
dispatch(Actions.SELECT());
dispatch(DronActions.SELECT());
setParams({
...params,

4
src/containers/basis/dron/BasisDronDetailContainer.js

@ -8,8 +8,8 @@ import { yupResolver } from '@hookform/resolvers/yup';
import { BasisDronForm } from '../../../components/basis/dron/BasisDronForm';
import { BasisDronImage } from '../../../components/basis/dron/BasisDronImage';
import * as Actions from '../../../modules/basis/dron/actions/basisDronAction';
import { dronAPI } from '../../../modules/basis/dron/apis/basisDronApi';
import * as Actions from '../../../modules/basis/dron/actions';
import { dronAPI } from '../../../modules/basis/dron/apis';
import { IMG_PATH } from '../../../configs/constants';
export const BasisDronDetailContainer = props => {

2
src/containers/basis/dron/BasisIdntfContainer.js

@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Card, CardBody, Col, Row } from 'reactstrap';
import { BasisIdntfForm } from '../../../components/basis/dron/BasisIdntform';
import * as Actions from '../../../modules/basis/dron/actions/basisDronAction';
import * as Actions from '../../../modules/basis/dron/actions';
import ErrorModal from '../../../components/modal/ErrorModal';
export const BasisIdntfContainer = props => {
const dispatch = useDispatch();

10
src/modules/basis/dron/actions/basisDronAction.ts → src/modules/basis/dron/actions/index.ts

@ -1,13 +1,7 @@
import { AxiosError } from 'axios';
import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';
import { ErrorModel } from '../../../models/ComnModel';
import {
initDron,
DronData,
DronState,
SelectData,
IdntfData
} from '../models/basisDronModel';
import { DronData, DronState, SelectData, IdntfData } from '../models';
//# 목록 조회
const LIST_REQUEST = 'basis/dron/LIST_REQUEST';

39
src/modules/basis/dron/apis/basisDronApi.ts → src/modules/basis/dron/apis/index.ts

@ -1,9 +1,9 @@
import axios from '../../../utils/customAxiosUtil';
import qs from 'qs';
import { DronData, IdntfData } from '../models/basisDronModel';
import { DronData } from '../models';
export const dronAPI = {
// 드론 목록 조회
list: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
@ -11,10 +11,11 @@ export const dronAPI = {
});
return await axios.get(`api/bas/dron/list${queryString}`);
},
// 식별장치 목록 조회
idntfList: async (id: number) => {
return await axios.get(`api/bas/dron/idntf/list/${id}`);
},
// 식별장치 수정
idntfUpdate: async (item: { id: number; data: any[] }) => {
return await axios.put(`/api/bas/dron/idntf/update/${item.id}`, {
idntfNum: item.data[0].idntfNum,
@ -22,44 +23,34 @@ export const dronAPI = {
hpno: item.data[0].hpno
});
},
// 드론 상세 조회
detail: async (id: number) => {
return await axios.get(`api/bas/dron/detail/${id}`);
},
//드론 생성
create: async (data: DronData) => {
const res = await axios.post('api/bas/dron/create', data);
// const res = await axios.post('api/bas/dron/create', data, {
// headers: { 'Content-Type': 'multipart/form-data' }
// });
return res;
return await axios.post('api/bas/dron/create', data);
},
// 식별장치 생성
idntfCreate: async (item: { data: any[]; arcrftSno: number }) => {
const res = await axios.post('api/bas/dron/idntf/create', item);
return res;
return await axios.post('api/bas/dron/idntf/create', item);
},
// 드론 수정
update: async (data: DronData) => {
const res = await axios.put('api/bas/dron/update', data);
return res;
return await axios.put('api/bas/dron/update', data);
},
// 드론 삭제
delete: async (id: number) => {
return await axios.delete(`api/bas/dron/delete/${id}`);
},
// 식별장치 삭제
idntfDelete: async (id: string) => {
return await axios.delete(`api/bas/dron/idntf/delete/${id}`);
},
// 드론 이미지 업로드
fileupload: async (file: any) => {
let form = new FormData();
form.append('file', file);
// const res = await axios.post('api/file/upload', form, {
// headers: { 'Content-Type': 'multipart/form-data' }
// });
const res = await axios.post('api/file/upload', form);
return res;
return await axios.post('api/file/upload', form);
}
};

8
src/modules/basis/dron/index.ts

@ -1,4 +1,4 @@
export * from './actions/basisDronAction';
export * from './models/basisDronModel';
export * from './reducers/basisDronReducer';
export * from './sagas/basisDronSaga';
export * from './actions';
export * from './models';
export * from './reducers';
export * from './sagas';

26
src/modules/basis/dron/models/basisDronModel.ts → src/modules/basis/dron/models/index.ts

@ -1,16 +1,3 @@
export const initDron = {
list: undefined,
count: 0,
detail: undefined,
searchParams: '',
selectData: undefined,
listIdntf: undefined,
idntfCount: 0,
isRefreshIdntf: false,
page: 1,
total: 0
};
export interface DronState {
list: DronData[] | undefined;
count: number | 0;
@ -69,3 +56,16 @@ export interface IdntfData {
createDt: Date;
cstmrSno: number;
}
export const initDron = {
list: undefined,
count: 0,
detail: undefined,
searchParams: '',
selectData: undefined,
listIdntf: undefined,
idntfCount: 0,
isRefreshIdntf: false,
page: 1,
total: 0
};

5
src/modules/basis/dron/reducers/basisDronReducer.ts → src/modules/basis/dron/reducers/index.ts

@ -1,8 +1,8 @@
import { createReducer } from 'typesafe-actions';
import produce from 'immer';
import * as Actions from '../actions/basisDronAction';
import { DronState, initDron } from '../models/basisDronModel';
import * as Actions from '../actions';
import { DronState, initDron } from '../models';
export const dronReducer = createReducer<DronState, Actions.DronAction>(
initDron
@ -47,7 +47,6 @@ export const dronReducer = createReducer<DronState, Actions.DronAction>(
draft.idntfCount = 0;
})
)
.handleAction(Actions.DETAIL.success, (state, action) =>
produce(state, draft => {
const data = action.payload;

17
src/modules/basis/dron/sagas/basisDronSaga.ts → src/modules/basis/dron/sagas/index.ts

@ -7,8 +7,8 @@ import {
SAVE_MESSAGE
} from '../../../../configs/constants';
import * as MessageActions from '../../../comn/message/actions/comnMessageAction';
import * as Actions from '../actions/basisDronAction';
import * as Apis from '../apis/basisDronApi';
import * as Actions from '../actions';
import * as Apis from '../apis';
function* listSaga(action: ActionType<typeof Actions.LIST.request>) {
try {
@ -40,7 +40,7 @@ function* listSaga(action: ActionType<typeof Actions.LIST.request>) {
total
})
);
} catch (error) {
} catch (error: any) {
yield put(Actions.LIST.failure(error));
}
}
@ -80,7 +80,7 @@ function* listIdntfSaga(action: ActionType<typeof Actions.IDNTF_LIST.request>) {
count: count
})
);
} catch (error) {
} catch (error: any) {
yield put(Actions.IDNTF_LIST.failure(error));
}
}
@ -92,7 +92,7 @@ function* detailSaga(action: ActionType<typeof Actions.DETAIL.request>) {
const { data } = res;
yield put(Actions.DETAIL.success(data));
} catch (error) {
} catch (error: any) {
yield put(Actions.DETAIL.failure(error));
}
}
@ -128,7 +128,7 @@ function* createSaga(action: ActionType<typeof Actions.CREATE.request>) {
throw Error;
}
}
} catch (error) {
} catch (error: any) {
yield put(
MessageActions.IS_ERROR({
errorCode: ERROR_MESSAGE.code,
@ -185,7 +185,7 @@ function* createIdntfSaga(
throw Error;
}
}
} catch (error) {
} catch (error: any) {
yield put(
MessageActions.IS_ERROR({
errorCode: ERROR_MESSAGE.code,
@ -202,6 +202,7 @@ function* updateSaga(action: ActionType<typeof Actions.UPDATE.request>) {
try {
const detail = action.payload;
const res = yield call(Apis.dronAPI.update, detail);
console.log(res, '---res');
const { data } = res;
@ -228,7 +229,7 @@ function* updateSaga(action: ActionType<typeof Actions.UPDATE.request>) {
throw Error;
}
}
} catch (error) {
} catch (error: any) {
yield put(
MessageActions.IS_ERROR({
errorCode: ERROR_MESSAGE.code,

3
src/modules/basis/group/actions/basisGroupAction.ts

@ -1,8 +1,6 @@
import { AxiosError } from 'axios';
import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';
import { ErrorModel } from '../../../models/ComnModel';
import {
initGroup,
GroupData,
JoinGroupData,
AprvGroupData,
@ -256,7 +254,6 @@ const actions = {
USER_DELEGATE,
GROUP_MYLIST,
GROUP_MAIN_LIST,
SELECT,
GROUP_APRV_SELECT,
GROUP_USER_SELECT

262
src/modules/basis/group/actions/index.ts

@ -0,0 +1,262 @@
import { AxiosError } from 'axios';
import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';
import {
GroupData,
JoinGroupData,
AprvGroupData,
UserGroupData,
UserGroupState,
GroupState,
MainGroupData,
SelectData
} from '../models/basisGroupModel';
//# 나의 그룹 목록 조회
const MY_LIST_REQUEST = 'basis/group/MY_LIST_REQUEST';
const MY_LIST_SUCCESS = 'basis/group/MY_LIST_SUCCESS';
const MY_LIST_FAILURE = 'basis/group/MY_LIST_FAILURE';
//# 참여 그룹 목록 조회
const JOIN_LIST_REQUEST = 'basis/group/JOIN_LIST_REQUEST';
const JOIN_LIST_SUCCESS = 'basis/group/JOIN_LIST_SUCCESS';
const JOIN_LIST_FAILURE = 'basis/group/JOIN_LIST_FAILURE';
//# 그룹 상세 조회
const GROUP_DETAIL_REQUEST = 'basis/group/GROUP_DETAIL_REQUEST';
const GROUP_DETAIL_SUCCESS = 'basis/group/GROUP_DETAIL_SUCCESS';
const GROUP_DETAIL_FAILURE = 'basis/group/GROUP_DETAIL_FAILURE';
//## 그룹 생성
const GROUP_CREATE_REQUEST = 'basis/group/GROUP_CREATE_REQUEST';
const GROUP_CREATE_SUCCESS = 'basis/group/GROUP_CREATE_SUCCESS';
const GROUP_CREATE_FAILURE = 'basis/group/GROUP_CREATE_FAILURE';
//## 그룹 수정
const GROUP_UPDATE_REQUEST = 'basis/group/GROUP_UPDATE_REQUEST';
const GROUP_UPDATE_SUCCESS = 'basis/group/GROUP_UPDATE_SUCCESS';
const GROUP_UPDATE_FAILURE = 'basis/group/GROUP_UPDATE_FAILURE';
//## 그룹 삭제
const GROUP_DELETE_REQUEST = 'basis/group/GROUP_DELETE_REQUEST';
const GROUP_DELETE_SUCCESS = 'basis/group/GROUP_DELETE_SUCCESS';
const GROUP_DELETE_FAILURE = 'basis/group/GROUP_DELETE_FAILURE';
//## 그룹 전체 조회
const GROUP_LIST_REQUEST = 'basis/group/GROUP_LIST_REQUEST';
const GROUP_LIST_SUCCESS = 'basis/group/GROUP_LIST_SUCCESS';
const GROUP_LIST_FAILURE = 'basis/group/GROUP_LIST_FAILURE';
const ENTIRE_GROUP_LIST_REQUEST = 'basis/group/ENTIRE_GROUP_LIST_REQUEST';
const ENTIRE_GROUP_LIST_SUCCESS = 'basis/group/ENTIRE_GROUP_LIST_SUCCESS';
const ENTIRE_GROUP_LIST_FAILURE = 'basis/group/ENTIRE_GROUP_LIST_FAILURE';
//# 그룹코드 발급
const GROUP_CREATEID_REQUEST = 'basis/group/GROUP_CREATEID_REQUEST';
const GROUP_CREATEID_SUCCESS = 'basis/group/GROUP_CREATEID_SUCCESS';
const GROUP_CREATEID_FAILURE = 'basis/group/GROUP_CREATEID_FAILURE';
//# 참여가능 그룹 목록 조회
const GROUP_JOINLIST_REQUEST = 'basis/group/GROUP_JOINLIST_REQUEST';
const GROUP_JOINLIST_SUCCESS = 'basis/group/GROUP_JOINLIST_SUCCESS';
const GROUP_JOINLIST_FAILURE = 'basis/group/GROUP_JOINLIST_FAILURE';
//# 나의 그룹 목록 조회
const GROUP_MYLIST_REQUEST = 'basis/group/GROUP_MYLIST_REQUEST';
const GROUP_MYLIST_SUCCESS = 'basis/group/GROUP_MYLIST_SUCCESS';
const GROUP_MYLIST_FAILURE = 'basis/group/GROUP_MYLIST_FAILURE';
//# 그룹 가입처리
const GROUP_JOIN_REQUEST = 'basis/group/GROUP_JOIN_REQUEST';
const GROUP_JOIN_SUCCESS = 'basis/group/GROUP_JOIN_SUCCESS';
const GROUP_JOIN_FAILURE = 'basis/group/GROUP_JOIN_FAILURE';
//# 그룹 가입 탈퇴 / 취소 처리
const GROUP_JOIN_UPDATE_REQUEST = 'basis/group/GROUP_JOIN_UPDATE_REQUEST';
const GROUP_JOIN_UPDATE_SUCCESS = 'basis/group/GROUP_JOIN_UPDATE_SUCCESS';
const GROUP_JOIN_UPDATE_FAILURE = 'basis/group/GROUP_JOIN_UPDATE_FAILURE';
//# 승인요청 조회
const APPROVAL_LIST_REQUEST = 'basis/group/APPROVAL_LIST_REQUEST';
const APPROVAL_LIST_SUCCESS = 'basis/group/APPROVAL_LIST_SUCCESS';
const APPROVAL_LIST_FAILURE = 'basis/group/APPROVAL_LIST_FAILURE';
//# 승인처리 / 취소 처리
const APPROVAL_UPDATE_REQUEST = 'basis/group/APPROVAL_UPDATE_REQUEST';
const APPROVAL_UPDATE_SUCCESS = 'basis/group/APPROVAL_UPDATE_SUCCESS';
const APPROVAL_UPDATE_FAILURE = 'basis/group/APPROVAL_UPDATE_FAILURE';
//# 그룹사용자 조회
const USER_LIST_REQUEST = 'basis/group/USER_LIST_REQUEST';
const USER_LIST_SUCCESS = 'basis/group/USER_LIST_SUCCESS';
const USER_LIST_FAILURE = 'basis/group/USER_LIST_FAILURE';
//# 사용자 권한 수정 / 블럭 처리
const USER_UPDATE_REQUEST = 'basis/group/USER_UPDATE_REQUEST';
const USER_UPDATE_SUCCESS = 'basis/group/USER_UPDATE_SUCCESS';
const USER_UPDATE_FAILURE = 'basis/group/USER_UPDATE_FAILURE';
//# 그룹장 권한 위임
const USER_DELEGATE_REQUEST = 'basis/group/USER_DELEGATE_REQUEST';
const USER_DELEGATE_SUCCESS = 'basis/group/USER_DELEGATE_SUCCESS';
const USER_DELEGATE_FAILURE = 'basis/group/USER_DELEGATE_FAILURE';
const GROUP_MAIN_LIST_REQUEST = 'basis/group/GROUP_MAIN_LIST_REQUEST';
const GROUP_MAIN_LIST_SUCCESS = 'basis/group/GROUP_MAIN_LIST_SUCCESS';
const GROUP_MAIN_LIST_FAILURE = 'basis/group/GROUP_MAIN_LIST_FAILURE';
//그룹 선택
const SELECT_GROUP = 'basis/group/SELECT_GROUP';
const APRV_GROUP_SELECT = 'basis/group/APRV_GROUP_SELECT';
const USER_GROUP_SELECT = 'basis/group/USER_GROUP_SELECT';
export const MY_LIST = createAsyncAction(
MY_LIST_REQUEST,
MY_LIST_SUCCESS,
MY_LIST_FAILURE
)<string, { data: GroupData[]; count: number }, AxiosError>();
export const JOIN_LIST = createAsyncAction(
JOIN_LIST_REQUEST,
JOIN_LIST_SUCCESS,
JOIN_LIST_FAILURE
)<string, { data: JoinGroupData[]; count: number }, AxiosError>();
export const GROUP_MYLIST = createAsyncAction(
GROUP_MYLIST_REQUEST,
GROUP_MYLIST_SUCCESS,
GROUP_MYLIST_FAILURE
)<string, { data: JoinGroupData[]; count: number }, AxiosError>();
export const GROUP_MAIN_LIST = createAsyncAction(
GROUP_MAIN_LIST_REQUEST,
GROUP_MAIN_LIST_SUCCESS,
GROUP_MAIN_LIST_FAILURE
)<string, { data: MainGroupData[]; count: number }, AxiosError>();
export const GROUP_DETAIL = createAsyncAction(
GROUP_DETAIL_REQUEST,
GROUP_DETAIL_SUCCESS,
GROUP_DETAIL_FAILURE
)<string, GroupData, AxiosError>();
export const GROUP_CREATE = createAsyncAction(
GROUP_CREATE_REQUEST,
GROUP_CREATE_SUCCESS,
GROUP_CREATE_FAILURE
)<GroupData, string, AxiosError>();
export const GROUP_UPDATE = createAsyncAction(
GROUP_UPDATE_REQUEST,
GROUP_UPDATE_SUCCESS,
GROUP_UPDATE_FAILURE
)<GroupData, String, AxiosError>();
export const GROUP_DELETE = createAsyncAction(
GROUP_DELETE_REQUEST,
GROUP_DELETE_SUCCESS,
GROUP_DELETE_FAILURE
)<string, string, AxiosError>();
export const GROUP_LIST = createAsyncAction(
GROUP_LIST_REQUEST,
GROUP_LIST_SUCCESS,
GROUP_LIST_FAILURE
// )<GroupState, { data: GroupData[]; count: number }, AxiosError>();
)<string, { data: GroupData[]; count: number }, AxiosError>();
export const ENTIRE_GROUP_LIST = createAsyncAction(
ENTIRE_GROUP_LIST_REQUEST,
ENTIRE_GROUP_LIST_SUCCESS,
ENTIRE_GROUP_LIST_FAILURE
)<string, { data: GroupData[]; count: number }, AxiosError>();
export const GROUP_CREATEID = createAsyncAction(
GROUP_CREATEID_REQUEST,
GROUP_CREATEID_SUCCESS,
GROUP_CREATEID_FAILURE
)<void, string, AxiosError>();
export const GROUP_JOINLIST = createAsyncAction(
GROUP_JOINLIST_REQUEST,
GROUP_JOINLIST_SUCCESS,
GROUP_JOINLIST_FAILURE
)<GroupState, { data: JoinGroupData[]; count: number }, AxiosError>();
export const GROUP_JOIN = createAsyncAction(
GROUP_JOIN_REQUEST,
GROUP_JOIN_SUCCESS,
GROUP_JOIN_FAILURE
)<JoinGroupData, string, AxiosError>();
export const GROUP_JOIN_UPDATE = createAsyncAction(
GROUP_JOIN_UPDATE_REQUEST,
GROUP_JOIN_UPDATE_SUCCESS,
GROUP_JOIN_UPDATE_FAILURE
)<JoinGroupData, string, AxiosError>();
export const APPROVAL_LIST = createAsyncAction(
APPROVAL_LIST_REQUEST,
APPROVAL_LIST_SUCCESS,
APPROVAL_LIST_FAILURE
)<
GroupState,
{ data: AprvGroupData[]; count: number; total: number },
AxiosError
>();
export const APPROVAL_UPDATE = createAsyncAction(
APPROVAL_UPDATE_REQUEST,
APPROVAL_UPDATE_SUCCESS,
APPROVAL_UPDATE_FAILURE
)<AprvGroupData, string, AxiosError>();
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,
USER_UPDATE_SUCCESS,
USER_UPDATE_FAILURE
)<UserGroupData, string, AxiosError>();
export const USER_DELEGATE = createAsyncAction(
USER_DELEGATE_REQUEST,
USER_DELEGATE_SUCCESS,
USER_DELEGATE_FAILURE
)<UserGroupState, string, AxiosError>();
export const SELECT = createAction(SELECT_GROUP)<SelectData>();
export const GROUP_APRV_SELECT = createAction(APRV_GROUP_SELECT)<SelectData>();
export const GROUP_USER_SELECT = createAction(USER_GROUP_SELECT)<SelectData>();
const actions = {
MY_LIST,
JOIN_LIST,
GROUP_DETAIL,
GROUP_CREATE,
GROUP_UPDATE,
GROUP_DELETE,
GROUP_LIST,
ENTIRE_GROUP_LIST,
GROUP_CREATEID,
GROUP_JOINLIST,
GROUP_JOIN,
GROUP_JOIN_UPDATE,
APPROVAL_LIST,
APPROVAL_UPDATE,
USER_LIST,
USER_UPDATE,
USER_DELEGATE,
GROUP_MYLIST,
GROUP_MAIN_LIST,
SELECT,
GROUP_APRV_SELECT,
GROUP_USER_SELECT
};
export type GroupAction = ActionType<typeof actions>;

40
src/modules/basis/group/apis/basisGroupApi.ts

@ -8,9 +8,9 @@ import {
UserGroupData,
UserGroupState
} from '../models/basisGroupModel';
// import { ReponseControlGpHistory } from '../models/controlGpModel';
export const groupAPI = {
// 내가 생성한 그룹 조회
listMyGroup: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
@ -18,6 +18,7 @@ export const groupAPI = {
});
return await axios.get(`api/bas/group/mylist${queryString}`);
},
// 내가 참여한 그룹 조회
listMyGroupJoin: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
@ -25,6 +26,8 @@ export const groupAPI = {
});
return await axios.get(`api/bas/group/joinlist${queryString}`);
},
// 나와 관련된 모든 그룹 조회(생성 + 참여)
// super, admin은 모든 그룹 조회
grouplist: async (data: string) => {
const id = qs.stringify(data, {
addQueryPrefix: true,
@ -32,22 +35,23 @@ export const groupAPI = {
});
return await axios.get(`api/bas/group/grouplist${id}`);
},
// 그룹 상세 조회
detailGroup: async (id: string) => {
return await axios.get(`api/bas/group/detail/${id}`);
},
// 그룹 생성
createGroup: async (data: GroupData) => {
const res = await axios.post('api/bas/group/create', data);
return res;
return await axios.post('api/bas/group/create', data);
},
// 그룹 수정
updateGroup: async (data: GroupData) => {
const res = await axios.put('api/bas/group/update', data);
return res;
return await axios.put('api/bas/group/update', data);
},
// 그룹 삭제
deleteGroup: async (id: string) => {
return await axios.delete(`api/bas/group/delete/${id}`);
},
// 그룹 검색 (미 사용)
listGroup: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
@ -55,9 +59,11 @@ export const groupAPI = {
});
return await axios.get(`api/bas/group/list${queryString}`);
},
// 그룹 코드 생성
createid: async () => {
return await axios.get('api/bas/group/createid');
},
// 내가 가입할 그룹 목록 조회
listGroupJoin: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
@ -66,14 +72,10 @@ export const groupAPI = {
return await axios.get(`api/bas/group/join/list${queryString}`);
},
createJoinGroup: async (data: JoinGroupData) => {
const res = await axios.post('api/bas/group/join/create', data);
return res;
return await axios.post('api/bas/group/join/create', data);
},
updateJoinGroup: async (data: JoinGroupData) => {
const res = await axios.put('api/bas/group/join/update', data);
return res;
return await axios.put('api/bas/group/join/update', data);
},
listGroupAprv: async (data: string, page: number) => {
const queryString = qs.stringify(data, {
@ -83,9 +85,7 @@ export const groupAPI = {
return await axios.get(`api/bas/group/aprv/list${queryString}`);
},
updateAprvGroup: async (data: AprvGroupData) => {
const res = await axios.put('api/bas/group/aprv/update', data);
return res;
return await axios.put('api/bas/group/aprv/update', data);
},
listGroupUser: async (data: string) => {
const queryString = qs.stringify(data, {
@ -95,13 +95,9 @@ export const groupAPI = {
return await axios.get(`api/bas/group/user/list${queryString}`);
},
updateUser: async (data: UserGroupData) => {
const res = await axios.put('api/bas/group/user/update', data);
return res;
return await axios.put('api/bas/group/user/update', data);
},
delegateUser: async (data: UserGroupState) => {
const res = await axios.put('api/bas/group/user/delegate', data);
return res;
return await axios.put('api/bas/group/user/delegate', data);
}
};

2
src/modules/statistics/models/index.ts

@ -34,7 +34,7 @@ export interface IStcsSearchRq {
serviceType: string;
}
export const initialState = {
export const initialState: IStatisticsState = {
flight: [
{
name: '-',

Loading…
Cancel
Save