Browse Source

Merge branch 'master' of http://gitea.palntour.com/pav/pav-home

pull/2/head
sanguu 2 years ago
parent
commit
52623f0a36
  1. 5
      src/components/basis/dron/BasisDronGrid.js
  2. 25
      src/components/basis/dron/BasisGroupDronGrid.js
  3. 11
      src/components/basis/group/BasisGroupApprovalGrid.js
  4. 2
      src/components/basis/group/BasisGroupApprovalSearch.js
  5. 2
      src/components/basis/group/BasisGroupUsersGrid.js
  6. 2
      src/components/basis/group/BasisGroupUsersSearch.js
  7. 16
      src/containers/basis/dron/BasisDronContainer.js
  8. 75
      src/containers/basis/group/BasisGroupApprovalContainer.js
  9. 234
      src/containers/basis/group/BasisGroupUsersContainer.js

5
src/components/basis/dron/BasisDronGrid.js

@ -24,7 +24,7 @@ import { ExcelExportButton } from '../../crud/excel/ExcelExportButton';
export const BasisDronGrid = props => {
return (
<>
<div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div className='mt-2 cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div>
<h4>{props.subTitle} 기체목록</h4>
<span className='search-case'>검색결과 {props.count}</span>
@ -47,6 +47,9 @@ export const BasisDronGrid = props => {
data={props.data}
count={props.count}
columns={props.columns}
pagination={props.pagination}
paginationPerPage={props.paginationPerPage}
paginationRowsPerPageOptions={props.paginationRowsPerPageOptions}
/>
</div>
</Card>

25
src/components/basis/dron/BasisGroupDronGrid.js

@ -1,25 +1,5 @@
import { GridDatabase } from '../../crud/grid/GridDatatable';
import {
Row,
Col,
Table,
Badge,
UncontrolledDropdown,
DropdownMenu,
DropdownItem,
DropdownToggle,
Card,
CardHeader,
CardBody,
CardTitle,
CardSubtitle,
ButtonGroup,
Button,
Input,
CustomInput,
FormGroup
} from 'reactstrap';
import { ExcelExportButton } from '../../crud/excel/ExcelExportButton';
import { Card } from 'reactstrap';
export const BasisGroupDronGrid = props => {
return (
@ -39,6 +19,9 @@ export const BasisGroupDronGrid = props => {
data={props.data}
count={props.count}
columns={props.columns}
pagination={props.pagination}
paginationPerPage={props.paginationPerPage}
paginationRowsPerPageOptions={props.paginationRowsPerPageOptions}
/>
</div>
</Card>

11
src/components/basis/group/BasisGroupApprovalGrid.js

@ -32,15 +32,6 @@ export const BasisGroupApprovalGrid = props => {
<h4>{props.title} 목록</h4>
<span className='search-case'>검색결과 {props.count}</span>
</div>
{/* <div className='d-flex align-items-center'>
<Button.Ripple
color='primary'
size='sm'
onClick={props.handlerGroupCreate}
>
그룹생성
</Button.Ripple>
</div> */}
</div>
<div className='invoice-list-wrapper'>
<Card>
@ -51,6 +42,8 @@ export const BasisGroupApprovalGrid = props => {
count={props.count}
columns={props.columns}
pagination={props.pagination}
paginationPerPage={props.paginationPerPage}
paginationRowsPerPageOptions={props.paginationRowsPerPageOptions}
/>
</div>
</Card>

2
src/components/basis/group/BasisGroupApprovalSearch.js

@ -114,7 +114,7 @@ export const BasisGroupApprovalSearch = props => {
<div>
<Row>
<Col>
<div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div className='mt-2 cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div>
<h4>검색조건</h4>
</div>

2
src/components/basis/group/BasisGroupUsersGrid.js

@ -31,6 +31,8 @@ export const BasisGroupUsersGrid = props => {
count={props.count}
columns={props.columns}
pagination={props.pagination}
paginationPerPage={props.paginationPerPage}
paginationRowsPerPageOptions={props.paginationRowsPerPageOptions}
/>
</div>
</Card>

2
src/components/basis/group/BasisGroupUsersSearch.js

@ -31,7 +31,7 @@ export const BasisGroupUsersSearch = props => {
<div>
<Row>
<Col>
<div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div className='mt-2 cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div>
<h4>검색조건</h4>
</div>

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

@ -224,7 +224,8 @@ export const BasisDronContainer = props => {
/> */}
<div className='pal-card-box'>
<Row>
<Col sm='4'>
{/* <Col sm='4'> */}
<Col sm='12' lg='12'>
{user ? (
<>
<BasisGroupDronGrid
@ -236,16 +237,19 @@ export const BasisDronContainer = props => {
{...(user?.authId === 'SUPER' || user?.authId === 'ADMIN'
? { count: groupListCount }
: { count: joinListCount })}
pagination={false}
pagination={true}
paginationPerPage={5}
paginationRowsPerPageOptions={[5, 10, 15, 20]}
/>
</>
) : (
<></>
)}
</Col>
<Col sm='8'>
{/* <Col sm='8'> */}
<Col sm='12' lg='12'>
{!selectData ? (
<div className='no-dataTable'>
<div className='mt-2 no-dataTable'>
그룹 목록에서 상세보기를 클릭하세요.
</div>
) : (
@ -256,7 +260,9 @@ export const BasisDronContainer = props => {
columns={dronColumns}
count={count}
handlerGroupCreate={handlerGroupCreate}
pagination={false}
pagination={true}
paginationPerPage={10}
paginationRowsPerPageOptions={[10, 20, 30, 40]}
/>
)}
</Col>

75
src/containers/basis/group/BasisGroupApprovalContainer.js

@ -48,7 +48,6 @@ export const BasisGroupApprovalContainer = props => {
return row?.groupId;
}
},
{
name: '',
// selector: 'cntrlStDate',
@ -188,15 +187,15 @@ export const BasisGroupApprovalContainer = props => {
}
},
{
name: '그룹 코드',
selector: row => row.groupId,
minWidth: '102px',
sortable: true,
cell: row => {
return row?.groupId;
}
},
// {
// name: '그룹 코드',
// selector: row => row.groupId,
// minWidth: '102px',
// sortable: true,
// cell: row => {
// return row?.groupId;
// }
// },
{
name: '신청자 명',
selector: row => row.memberName,
@ -284,48 +283,6 @@ export const BasisGroupApprovalContainer = props => {
승인취소
</Button.Ripple>
);
// const my = groupList?.find((prev, idx) => {
// if (prev.groupId === row?.groupId) {
// return prev;
// }
// });
// let disa = false;
// if (user.authId === 'SUPER') {
// console.log('super');
// // {
// // }
// } else if (user.authId === 'ADMIN' || user.authId === 'USER') {
// if (my?.groupAuthCd === 'NORMAL') {
// console('ㅇㄹㄴㅇㄹ');
// disa = true;
// }
// // } else if(user.authId === 'USER') {
// // if(my.groupAuthCd === 'NORMAL') {
// // disabled = true;
// // }
// }
// return row?.aprvlYn === 'N' ? (
// <Button.Ripple
// color='primary'
// className='badge badge-primary'
// onClick={() => handlerAprvConfirm(row?.cstmrGroupSno)}
// disabled={disa}
// >
// 승인처리
// </Button.Ripple>
// ) : (
// <Button.Ripple
// color='danger'
// className='badge badge-danger'
// onClick={() => handlerCancelConfirm(row?.cstmrGroupSno)}
// disabled={disa}
// >
// 승인취소
// </Button.Ripple>
// );
}
}
];
@ -385,7 +342,7 @@ export const BasisGroupApprovalContainer = props => {
<CustomMainLayout title={titleName}>
<div className='pal-card-box'>
<Row>
<Col sm='4'>
<Col sm='12' lg='12'>
{/* <BasisGroupDronGrid */}
{user ? (
<>
@ -400,16 +357,18 @@ export const BasisGroupApprovalContainer = props => {
{...(user?.authId === 'SUPER' || user?.authId === 'ADMIN'
? { count: groupListCount }
: { count: joinListCount })}
pagination={false}
pagination={true}
paginationPerPage={5}
paginationRowsPerPageOptions={[5, 10, 15, 20]}
/>
</>
) : (
<></>
)}
</Col>
<Col sm='8'>
<Col sm='12' lg='12'>
{!selectData ? (
<div className='no-dataTable'>
<div className='mt-2 no-dataTable'>
그룹 목록에서 상세보기를 클릭하세요.
</div>
) : (
@ -426,7 +385,9 @@ export const BasisGroupApprovalContainer = props => {
title={titleName}
columns={columns}
count={aprvCount}
pagination={false}
pagination={true}
paginationPerPage={10}
paginationRowsPerPageOptions={[10, 20, 30, 40]}
/>
</>
)}

234
src/containers/basis/group/BasisGroupUsersContainer.js

@ -52,7 +52,7 @@ export const BasisGroupUsersContainer = props => {
{
name: '그룹명',
selector: row => row.groupNm,
minWidth: '102px',
// minWidth: '102px',
sortable: true,
cell: row => {
return row?.groupNm;
@ -61,7 +61,7 @@ export const BasisGroupUsersContainer = props => {
{
name: '그룹 코드',
selector: row => row.groupId,
minWidth: '102px',
// minWidth: '102px',
sortable: true,
cell: row => {
return row?.groupId;
@ -162,178 +162,108 @@ export const BasisGroupUsersContainer = props => {
minWidth: '250px',
sortable: false,
cell: row => {
const my = joinList?.find((prev, idx) => {
if (prev.groupId === row?.groupId) {
return prev;
}
});
let m_disabled = false;
let l_disabled = false;
let n_disabled = false;
if (user.authId === 'SUPER') {
{
}
} else if (user.authId === 'ADMIN') {
if (my.groupAuthCd === 'MASTER') {
if (row.groupAuthCd === 'LEADER') {
l_disabled = true;
} else if (row.groupAuthCd === 'NORMAL') {
m_disabled = true;
n_disabled = true;
let master = false;
let leader = false;
let normal = false;
if (user.authId === 'ADMIN') {
//모든 그룹 조회 가능
const my = groupList?.find(prev => {
if (prev.groupId === row?.groupId) {
return prev;
}
});
if (my?.groupAuthCd === 'MASTER') {
if (row?.groupAuthCd === 'MASTER') {
//
} else if (row?.groupAuthCd === 'LEADER') {
leader = true;
} else if (row?.groupAuthCd === 'NORMAL') {
master = true;
normal = true;
}
} else if (my.groupAuthCd === 'LEADER') {
if (row.groupAuthCd === 'MASTER' || row.groupAuthCd === 'LEADER') {
m_disabled = true;
l_disabled = true;
n_disabled = true;
} else if (row.groupAuthCd === 'NORMAL') {
m_disabled = true;
n_disabled = true;
} else if (my?.groupAuthCd === 'LEADER') {
if (row?.groupAuthCd === 'MASTER') {
master = true;
leader = true;
normal = true;
} else if (row?.groupAuthCd === 'LEADER') {
master = true;
leader = true;
} else if (row?.groupAuthCd === 'NORMAL') {
master = true;
normal = true;
}
} else {
//내 권한이 마스터도 리더도 아니니까 우리그룹이 아님
m_disabled = true;
l_disabled = true;
n_disabled = true;
} else if (my?.groupAuthCd === 'NORMAL') {
//아.. 내 그룹 아니면 권한 다 NORMAL로 임시부여했지..
master = true;
leader = true;
normal = true;
}
// } else if (user.authId === 'ROLE_USER') {
} else if (user.authId === 'USER') {
if (my.groupAuthCd === 'MASTER') {
if (row.groupAuthCd === 'LEADER') {
l_disabled = true;
} else if (row.groupAuthCd === 'NORMAL') {
m_disabled = true;
n_disabled = true;
//본인 그룹 조회 가능
const my = joinList?.find(prev => {
if (prev.groupId === row?.groupId) {
return prev;
}
} else if (my.groupAuthCd === 'LEADER') {
if (row.groupAuthCd === 'MASTER' || row.groupAuthCd === 'LEADER') {
m_disabled = true;
l_disabled = true;
n_disabled = true;
} else if (row.groupAuthCd === 'NORMAL') {
m_disabled = true;
n_disabled = true;
});
if (my?.groupAuthCd === 'MASTER') {
if (row?.groupAuthCd === 'LEADER') {
leader = true;
} else if (row?.groupAuthCd === 'NORMAL') {
master = true;
normal = true;
}
} else if (my?.groupAuthCd === 'LEADER') {
if (row?.groupAuthCd === 'MASTER') {
master = true;
leader = true;
normal = true;
} else if (row?.groupAuthCd === 'LEADER') {
master = true;
leader = true;
normal = true;
} else if (row?.groupAuthCd === 'NORMAL') {
master = true;
normal = true;
}
}
}
const master = (
return (
<>
<Button.Ripple
color='warning'
{...(master ? {} : { color: 'warning' })}
className='badge badge-warning'
style={{ marginRight: '0.35rem' }}
onClick={() =>
handlerMaster(row?.cstmrGroupSno, my?.cstmrGroupSno)
}
disabled={m_disabled}
disabled={master}
>
MASTER
</Button.Ripple>
</>
);
const leader = (
<>
<Button.Ripple
color='danger'
{...(leader ? {} : { color: 'danger' })}
className='badge badge-danger'
style={{ marginRight: '0.35rem' }}
onClick={() => handlerLeader(row?.cstmrGroupSno)}
disabled={l_disabled}
disabled={leader}
>
LEADER
</Button.Ripple>
</>
);
const normal = (
<>
<Button.Ripple
color='primary'
{...(normal ? {} : { color: 'primary' })}
className='badge badge-primary'
onClick={() => handlerNormal(row?.cstmrGroupSno)}
disabled={n_disabled}
disabled={normal}
>
NORMAL
</Button.Ripple>
</>
);
return (
<>
{master}
{leader}
{normal}
</>
);
// const my = joinList?.find((prev, idx) => {
// if (prev.groupId === row?.groupId) {
// return prev;
// }
// });
// if (row?.groupAuthCd === 'MASTER') {
// return <div>수정불가</div>;
// } else if (row?.groupAuthCd === 'LEADER') {
// if (my?.groupAuthCd === 'MASTER') {
// return (
// <Button.Ripple
// color='primary'
// className='badge badge-primary'
// onClick={() => handlerUserConfirm(row?.cstmrGroupSno)}
// >
// NORMAL
// </Button.Ripple>
// );
// } else {
// return <div>수정불가</div>;
// }
// } else if (row?.groupAuthCd === 'NORMAL') {
// if (my?.groupAuthCd === 'MASTER' || my?.groupAuthCd === 'LEADER') {
// return (
// <Button.Ripple
// color='danger'
// className='badge badge-danger'
// onClick={() => handlerAdminConfirm(row?.cstmrGroupSno)}
// >
// LEADER
// </Button.Ripple>
// );
// }
// }
}
}
// {
// name: '위임 하기',
// // minWidth: '102px',
// sortable: false,
// cell: row => {
// const my = joinList?.find((prev, idx) => {
// if (prev.groupId === row?.groupId) {
// return prev;
// }
// });
// if (row?.groupAuthCd === 'LEADER') {
// if (my?.groupAuthCd === 'MASTER') {
// return (
// <Button.Ripple
// color='warning'
// className='badge badge-warning'
// onClick={() =>
// handlerCreaterConfirm(row?.cstmrGroupSno, my?.cstmrGroupSno)
// }
// >
// MASTER
// </Button.Ripple>
// );
// }
// }
// }
// }
];
useEffect(() => {
@ -378,9 +308,9 @@ export const BasisGroupUsersContainer = props => {
const handlerDetail = (groupId, groupNm, groupAuthCd, aprvlYn) => {
if (
groupAuthCd === 'MASTER' ||
user.authId === 'SUPER' ||
user.authId === 'ADMIN' ||
groupAuthCd === 'MASTER' ||
(aprvlYn === 'Y' && groupAuthCd === 'LEADER')
) {
dispatch(Actions.SELECT({ groupId: groupId, groupNm, groupNm }));
@ -419,6 +349,9 @@ export const BasisGroupUsersContainer = props => {
desc: '해당 사용자를 운영자 권한으로 변경 하시겠습니까?'
});
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
}
setSaveData({
cstmrGroupSno: cstmrGroupSno,
joinYn: 'Y',
@ -487,7 +420,8 @@ export const BasisGroupUsersContainer = props => {
<CustomMainLayout title={titleName}>
<div className='pal-card-box'>
<Row>
<Col sm='4'>
{/* <Col sm='4'> */}
<Col sm='12' lg='12'>
{user ? (
<>
<BasisGroupGrid
@ -499,14 +433,17 @@ export const BasisGroupUsersContainer = props => {
{...(user?.authId === 'SUPER' || user?.authId === 'ADMIN'
? { count: groupListCount }
: { count: joinListCount })}
pagination={false}
pagination={true}
paginationPerPage={5}
paginationRowsPerPageOptions={[5, 10, 15, 20]}
/>
</>
) : (
<></>
)}
</Col>
<Col sm='8'>
{/* <Col sm='12'> */}
<Col sm='12' lg='12'>
{selectData ? (
<>
<BasisGroupUsersSearch
@ -516,21 +453,22 @@ export const BasisGroupUsersContainer = props => {
onKeyPress={onKeyPress}
setParams={setParams}
/>
<BasisGroupUsersGrid
{/* <BasisGroupUsersGrid
data={userList}
title={'사용자'}
columns={userColumns}
count={userCount}
pagination={false}
/>
/> */}
</>
) : (
<div className='no-dataTable'>
<div className='mt-2 no-dataTable'>
그룹 목록에서 상세보기를 클릭하세요.
</div>
)}
</Col>
{/* <Col sm='12'>
{/* <Col sm='12'> */}
<Col sm='12' lg='12'>
{selectData ? (
<BasisGroupUsersGrid
data={userList}
@ -538,11 +476,13 @@ export const BasisGroupUsersContainer = props => {
columns={userColumns}
count={userCount}
pagination={false}
paginationPerPage={10}
paginationRowsPerPageOptions={[10, 20, 30, 40]}
/>
) : (
<div className='no-dataTable'></div>
)}
</Col> */}
</Col>
</Row>
</div>

Loading…
Cancel
Save