|
|
|
@ -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> |
|
|
|
|
|
|
|
|
|