hhjk00 11 months ago
parent
commit
24182b65a8
  1. 44
      src/views/control/setting/ControlReservation.js
  2. 427
      src/views/control/setting/ControlSetting.js

44
src/views/control/setting/ControlReservation.js

@ -0,0 +1,44 @@
import {
Badge,
Button,
Input,
InputGroup,
Modal,
ModalHeader,
ModalBody
} from 'reactstrap';
export default function ControlReservation({ modal, handler }) {
return (
<div
className='vertically-centered-modal'
style={{ maxWidth: '95vh', height: '95vh', margin: 0 }}
>
<Modal
isOpen={modal}
toggle={handler}
className='modal-dialog-centered modal-lg'
style={{ margin: '0px auto', maxWidth: '90%', minHeight: '100vh' }}
>
<ModalHeader toggle={handler}>예약 프로세스</ModalHeader>
<ModalBody className='pal-modal-body'>
<div
style={{
width: '100%',
height: '100%'
}}
>
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다. 예약프로세스 입니다. 예약프로세스 입니다.
예약프로세스 입니다.
</div>
</ModalBody>
</Modal>
</div>
);
}

427
src/views/control/setting/ControlSetting.js

@ -5,274 +5,197 @@ import { CgTrees } from 'react-icons/cg';
import { VscRadioTower } from 'react-icons/vsc'; import { VscRadioTower } from 'react-icons/vsc';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { import {
Button, Button,
InputGroup, InputGroup,
ButtonGroup, ButtonGroup,
InputGroupAddon, InputGroupAddon,
Input, Input,
CustomInput CustomInput
} from 'reactstrap'; } from 'reactstrap';
import { import {
areaClickAction, environmentClickAction, areaClickAction,
mapTypeChangeAction, sensorClickAction environmentClickAction,
mapTypeChangeAction,
sensorClickAction
} from '../../../modules/control/map/actions/controlMapActions'; } from '../../../modules/control/map/actions/controlMapActions';
import ControlReservation from './ControlReservation';
const ControlSetting = props => { const ControlSetting = props => {
const dispatch = useDispatch(); const [modal, setModal] = useState(false);
const dispatch = useDispatch();
const mapControl = useSelector(state => state.controlMapReducer); const mapControl = useSelector(state => state.controlMapReducer);
const handlerMapType = val => { const handlerMapType = val => {
dispatch(mapTypeChangeAction(val)); dispatch(mapTypeChangeAction(val));
}; };
const handlerAreaClick = val => { const handlerAreaClick = val => {
dispatch(areaClickAction(val)); dispatch(areaClickAction(val));
}; };
const handlerSensorClick = (val, isChecked) => { const handlerModal = () => {
if (isChecked) { setModal(!modal);
dispatch(sensorClickAction(val)); };
} else {
dispatch(sensorClickAction(''));
}
};
return ( return (
<div className=''> <div className=''>
<div className='layer-content'> <div className='layer-content'>
<div className='layer-ti'> <div className='layer-ti'>
<h4>지도유형</h4> <h4>지도유형</h4>
{/* <button className='btn-icon' outline color='primary'><X size={20} /></button> */} {/* <button className='btn-icon' outline color='primary'><X size={20} /></button> */}
</div>
<div className='map-btn'>
<ButtonGroup>
<Button
color={mapControl.mapType === 'HYBRID' ? 'primary' : ''}
onClick={e => handlerMapType('HYBRID')}
>
위성지도
</Button>
<Button
color={mapControl.mapType === 'NORMAL' ? 'primary' : ''}
onClick={e => handlerMapType('NORMAL')}
>
일반지도
</Button>
<Button
color={mapControl.mapType === 'TERRAIN' ? 'primary' : ''}
onClick={e => handlerMapType('TERRAIN')}
>
지형지도
</Button>
</ButtonGroup>
</div>
</div>
<div className='layer-content'>
<div className='layer-ti'>
<h4>공역 표출 정보</h4>
</div>
<div className='layer-content-box'>
<div className='layer-content-info layer-switch-list'>
<dl>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-red'></span>
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0001')}
className='custom-control-primary'
type='switch'
id='test01'
name='test01'
inline
defaultChecked={mapControl.area0001}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-pink'></span>
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0002')}
className='custom-control-primary'
type='switch'
id='test02'
name='test02'
inline
defaultChecked={mapControl.area0002}
/>
</div> </div>
<div className='map-btn'> </dt>
<ButtonGroup> <dt>
<Button <div className='list-left-txt'>
color={mapControl.mapType === 'HYBRID' ? 'primary' : ''} <span className='dot-icon color-orange'></span>()
onClick={e => handlerMapType('HYBRID')}
>
위성지도
</Button>
<Button
color={mapControl.mapType === 'NORMAL' ? 'primary' : ''}
onClick={e => handlerMapType('NORMAL')}
>
일반지도
</Button>
<Button
color={mapControl.mapType === 'TERRAIN' ? 'primary' : ''}
onClick={e => handlerMapType('TERRAIN')}
>
지형지도
</Button>
</ButtonGroup>
</div> </div>
</div> <div className='list-right-txt'>
<div className='layer-content'> <CustomInput
<div className='layer-ti'> onClick={e => handlerAreaClick('0003')}
<h4>공역 표출 정보</h4> className='custom-control-primary'
type='switch'
id='test03'
name='test03'
inline
defaultChecked={mapControl.area0003}
/>
</div> </div>
<div className='layer-content-box'> </dt>
<div className='layer-content-info layer-switch-list'> <dt>
<dl> <div className='list-left-txt'>
<dt> <span className='dot-icon color-brown'></span>()
<div className='list-left-txt'>
<span className='dot-icon color-red'></span>
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0001')}
className='custom-control-primary'
type='switch'
id='test01'
name='test01'
inline
defaultChecked={mapControl.area0001}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-pink'></span>
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0002')}
className='custom-control-primary'
type='switch'
id='test02'
name='test02'
inline
defaultChecked={mapControl.area0002}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-orange'></span>()
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0003')}
className='custom-control-primary'
type='switch'
id='test03'
name='test03'
inline
defaultChecked={mapControl.area0003}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-brown'></span>()
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0004')}
className='custom-control-primary'
type='switch'
id='test04'
name='test04'
inline
defaultChecked={mapControl.area0004}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-purple'></span>
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0005')}
className='custom-control-primary'
type='switch'
id='test05'
name='test05'
inline
defaultChecked={mapControl.area0005}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-skyblue'></span>
초경량비행장치공역
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0006')}
className='custom-control-primary'
type='switch'
id='test06'
name='test06'
inline
defaultChecked={mapControl.area0006}
/>
</div>
</dt>
</dl>
</div>
</div> </div>
</div> <div className='list-right-txt'>
{/* <div className='layer-content'> <CustomInput
<div className='layer-ti'> onClick={e => handlerAreaClick('0004')}
<h4>환경지표</h4> className='custom-control-primary'
type='switch'
id='test04'
name='test04'
inline
defaultChecked={mapControl.area0004}
/>
</div> </div>
<div className='layer-content-box'> </dt>
<div className='layer-content-info layer-switch-list'> <dt>
<dl> <div className='list-left-txt'>
<dt> <span className='dot-icon color-purple'></span>
<div className='list-left-txt'>
<span className='dot-icon color-red'></span>(DUST)
</div>
<div className='list-right-txt'>
<CustomInput
onChange={e => handlerSensorClick('dust', e.target.checked)}
className='custom-control-primary'
type='switch'
id='sensorDust'
name='sensorDust'
inline
checked={mapControl.sensor === 'dust'}
// defaultChecked={mapControl.sensor === 'dust'}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-pink'></span>(O3)
</div>
<div className='list-right-txt'>
<CustomInput
onChange={e => handlerSensorClick('o3', e.target.checked)}
className='custom-control-primary'
type='switch'
id='sensorO3'
name='sensorO3'
inline
checked={mapControl.sensor === 'o3'}
// defaultChecked={mapControl.sensor === 'o3'}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-orange'></span>(No2)
</div>
<div className='list-right-txt'>
<CustomInput
onChange={e => handlerSensorClick('no2', e.target.checked)}
className='custom-control-primary'
type='switch'
id='sensorNo2'
name='sensorNo2'
inline
checked={mapControl.sensor === 'no2'}
// defaultChecked={mapControl.sensor === 'no2'}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-brown'></span>(Co)
</div>
<div className='list-right-txt'>
<CustomInput
onChange={e => handlerSensorClick('co', e.target.checked)}
className='custom-control-primary'
type='switch'
id='sensorCo'
name='sensorCo'
inline
checked={mapControl.sensor === 'co'}
// defaultChecked={mapControl.sensor === 'co'}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-purple'></span>(So2)
</div>
<div className='list-right-txt'>
<CustomInput
onChange={e => handlerSensorClick('so2', e.target.checked)}
className='custom-control-primary'
type='switch'
id='sensorSo2'
name='sensorSo2'
inline
checked={mapControl.sensor === 'so2'}
// defaultChecked={mapControl.sensor === 'so2'}
/>
</div>
</dt>
</dl>
</div>
</div> </div>
</div> */} <div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0005')}
className='custom-control-primary'
type='switch'
id='test05'
name='test05'
inline
defaultChecked={mapControl.area0005}
/>
</div>
</dt>
<dt>
<div className='list-left-txt'>
<span className='dot-icon color-skyblue'></span>
초경량비행장치공역
</div>
<div className='list-right-txt'>
<CustomInput
onClick={e => handlerAreaClick('0006')}
className='custom-control-primary'
type='switch'
id='test06'
name='test06'
inline
defaultChecked={mapControl.area0006}
/>
</div>
</dt>
</dl>
</div>
</div>
</div>
<div className='layer-content'>
<div className='layer-ti'>
<h4>예약프로세스</h4>
</div>
<div className='layer-content-box'>
<div className='map-btn'>
<ButtonGroup>
<Button color='primary' onClick={handlerModal}>
예약창열기
</Button>
</ButtonGroup>
</div>
</div> </div>
); </div>
{modal ? (
<ControlReservation modal={modal} handler={handlerModal} />
) : (
<></>
)}
</div>
);
}; };
export default ControlSetting; export default ControlSetting;

Loading…
Cancel
Save