|
|
|
@ -26,30 +26,88 @@ import { useEffect, useState } from 'react';
|
|
|
|
|
import moment from 'moment'; |
|
|
|
|
|
|
|
|
|
export const BasisGroupApprovalSearch = props => { |
|
|
|
|
const [isCheckBox, setIsCheckBox] = useState({ |
|
|
|
|
all: true, |
|
|
|
|
yes: false, |
|
|
|
|
no: false |
|
|
|
|
}); |
|
|
|
|
// const [isCheckBox, setIsCheckBox] = useState({
|
|
|
|
|
// all: true,
|
|
|
|
|
// yes: false,
|
|
|
|
|
// no: false
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
let aprvYn = ''; |
|
|
|
|
// useEffect(() => {
|
|
|
|
|
// let aprvYn = '';
|
|
|
|
|
|
|
|
|
|
if (!isCheckBox.all) { |
|
|
|
|
if (isCheckBox.yes) { |
|
|
|
|
aprvYn = 'Y'; |
|
|
|
|
} else if (isCheckBox.no) { |
|
|
|
|
aprvYn = 'N'; |
|
|
|
|
} else { |
|
|
|
|
aprvYn = '-'; |
|
|
|
|
} |
|
|
|
|
// if (!isCheckBox.all) {
|
|
|
|
|
// if (isCheckBox.yes) {
|
|
|
|
|
// aprvYn = 'Y';
|
|
|
|
|
// } else if (isCheckBox.no) {
|
|
|
|
|
// aprvYn = 'N';
|
|
|
|
|
// } else {
|
|
|
|
|
// aprvYn = '-';
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// props.setParams({
|
|
|
|
|
// ...props.params,
|
|
|
|
|
// aprvYn: aprvYn
|
|
|
|
|
// });
|
|
|
|
|
// }, [isCheckBox]);
|
|
|
|
|
let aprvYn='N'; |
|
|
|
|
const initCheckState = { |
|
|
|
|
'all': aprvYn == 'A', |
|
|
|
|
'yes': (aprvYn == 'Y' || aprvYn == 'A'), |
|
|
|
|
'no': (aprvYn == 'N' || aprvYn == 'A'), |
|
|
|
|
} |
|
|
|
|
const [checkState, setCheckState] = useState(initCheckState); |
|
|
|
|
|
|
|
|
|
const handleChangeCheckbox = (e) => { |
|
|
|
|
const {name, value, checked} = e.target; |
|
|
|
|
let val; |
|
|
|
|
switch(value) { |
|
|
|
|
case 'A' : |
|
|
|
|
val = checked ? '' : '-'; |
|
|
|
|
props.setParams({ |
|
|
|
|
...props.params, |
|
|
|
|
aprvYn: val |
|
|
|
|
}) |
|
|
|
|
setCheckState({ |
|
|
|
|
'all': checked, |
|
|
|
|
'yes': checked, |
|
|
|
|
'no': checked |
|
|
|
|
}) |
|
|
|
|
break; |
|
|
|
|
case 'Y': |
|
|
|
|
if (checked && checkState.no) val = '' |
|
|
|
|
else if (checked && !checkState.no) val = 'Y' |
|
|
|
|
else if (!checked && checkState.no) val = 'N' |
|
|
|
|
else if (!checked && !checkState.no) val = '-' |
|
|
|
|
props.setParams({ |
|
|
|
|
...props.params, |
|
|
|
|
aprvYn: aprvYn |
|
|
|
|
}); |
|
|
|
|
}, [isCheckBox]); |
|
|
|
|
aprvYn: val |
|
|
|
|
}) |
|
|
|
|
setCheckState(prevState => ({ |
|
|
|
|
'all': prevState.no && checked, |
|
|
|
|
'yes': checked, |
|
|
|
|
'no': prevState.no |
|
|
|
|
})) |
|
|
|
|
break; |
|
|
|
|
case 'N': |
|
|
|
|
if (checked && checkState.yes) val = '' |
|
|
|
|
else if (checked && !checkState.yes) val = 'N' |
|
|
|
|
else if (!checked && checkState.yes) val = 'Y' |
|
|
|
|
else if (!checked && !checkState.yes) val = '-' |
|
|
|
|
props.setParams({ |
|
|
|
|
...props.params, |
|
|
|
|
aprvYn: val |
|
|
|
|
}) |
|
|
|
|
setCheckState(prevState => ({ |
|
|
|
|
'all': prevState.yes && checked, |
|
|
|
|
'yes': prevState.yes, |
|
|
|
|
'no': checked |
|
|
|
|
})) |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<div className='pal-card-box'> |
|
|
|
|
<Row> |
|
|
|
@ -138,40 +196,52 @@ export const BasisGroupApprovalSearch = props => {
|
|
|
|
|
type='checkbox' |
|
|
|
|
id='exampleCustomCheckbox' |
|
|
|
|
label='전체' |
|
|
|
|
defaultChecked={isCheckBox.all} |
|
|
|
|
onClick={() => |
|
|
|
|
setIsCheckBox({ |
|
|
|
|
all: !isCheckBox.all, |
|
|
|
|
yes: !isCheckBox.all, |
|
|
|
|
no: !isCheckBox.all |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
name='aprvlYn' |
|
|
|
|
value='A' |
|
|
|
|
checked={checkState.all} |
|
|
|
|
onChange={handleChangeCheckbox} |
|
|
|
|
// defaultChecked={isCheckBox.all}
|
|
|
|
|
// onClick={() =>
|
|
|
|
|
// setIsCheckBox({
|
|
|
|
|
// all: !isCheckBox.all,
|
|
|
|
|
// yes: !isCheckBox.all,
|
|
|
|
|
// no: !isCheckBox.all
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
/> |
|
|
|
|
<CustomInput |
|
|
|
|
inline |
|
|
|
|
type='checkbox' |
|
|
|
|
id='exampleCustomCheckbox2' |
|
|
|
|
label='승인' |
|
|
|
|
defaultChecked={isCheckBox.yes || isCheckBox.all} |
|
|
|
|
onClick={() => |
|
|
|
|
setIsCheckBox({ |
|
|
|
|
all: false, |
|
|
|
|
yes: !isCheckBox.yes |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
name='aprvlYn' |
|
|
|
|
value='Y' |
|
|
|
|
checked={checkState.yes} |
|
|
|
|
onChange={handleChangeCheckbox} |
|
|
|
|
// defaultChecked={isCheckBox.yes || isCheckBox.all}
|
|
|
|
|
// onClick={() =>
|
|
|
|
|
// setIsCheckBox({
|
|
|
|
|
// all: false,
|
|
|
|
|
// yes: !isCheckBox.yes
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
/> |
|
|
|
|
<CustomInput |
|
|
|
|
inline |
|
|
|
|
type='checkbox' |
|
|
|
|
id='exampleCustomCheckbox3' |
|
|
|
|
label='미승인' |
|
|
|
|
defaultChecked={isCheckBox.no || isCheckBox.all} |
|
|
|
|
onClick={() => |
|
|
|
|
setIsCheckBox({ |
|
|
|
|
all: false, |
|
|
|
|
no: !isCheckBox.no |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
name='aprvlYn' |
|
|
|
|
value='N' |
|
|
|
|
checked={checkState.no} |
|
|
|
|
onChange={handleChangeCheckbox} |
|
|
|
|
// defaultChecked={isCheckBox.no || isCheckBox.all}
|
|
|
|
|
// onClick={() =>
|
|
|
|
|
// setIsCheckBox({
|
|
|
|
|
// all: false,
|
|
|
|
|
// no: !isCheckBox.no
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|