Browse Source

시군구 카테고리 추가

master
sanguu516 2 months ago
parent
commit
37e88d8059
  1. 78
      src/components/flight/NewFlightApprovalsReport.js
  2. 3
      src/components/flight/OperationApprovalsTable.js
  3. 98
      src/configs/constants.ts
  4. 6
      src/redux/features/laanc/laancThunk.ts

78
src/components/flight/NewFlightApprovalsReport.js

@ -4,6 +4,7 @@ import { Button, Input, CustomInput, Col, Row } from '@component/ui';
import { Search, Calendar } from 'react-feather';
import dayjs from 'dayjs';
import { CityCategories, DistrictCategories } from '@configs/constants';
import { useLocation } from 'react-router-dom';
export default function NewFlightApprovalsReport(props) {
// 달력
@ -11,6 +12,7 @@ export default function NewFlightApprovalsReport(props) {
startDate: dayjs().format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD')
});
const location = useLocation();
useEffect(() => {
const popupSyncSearchData = JSON.parse(localStorage.getItem('popupState'));
@ -46,36 +48,36 @@ export default function NewFlightApprovalsReport(props) {
검색일자 또는 신청번호/검토결과를 입력해주세요.
</div>
<div className='input-n'>
<div className='list-input'>
<div className='calendar-flat'>
<Flatpickr
placeholder='날짜를 선택해주세요'
id='searchDate'
options={{
mode: 'range',
defaultDate: [searchDate.startDate, searchDate.endDate]
}}
onChange={date => {
setSearchDate({
startDate: dayjs(date[0]).format('YYYY-MM-DD'),
endDate: dayjs(date[1]).format('YYYY-MM-DD')
});
}}
className='form-control flat-picker bg-transparent border-0 shadow-none'
/>
<Calendar size={14} />
</div>
</div>
<div className='list-input'>
<Input
type='text'
bsSize='sm'
placeholder='신청번호 또는 검토결과를 입력해주세요.'
value={props.filterId}
onChange={e => props.setFilterId(e.target.value)}
onKeyPress={handleKeyDown}
<div className='list-input'>
<div className='calendar-flat'>
<Flatpickr
placeholder='날짜를 선택해주세요'
id='searchDate'
options={{
mode: 'range',
defaultDate: [searchDate.startDate, searchDate.endDate]
}}
onChange={date => {
setSearchDate({
startDate: dayjs(date[0]).format('YYYY-MM-DD'),
endDate: dayjs(date[1]).format('YYYY-MM-DD')
});
}}
className='form-control flat-picker bg-transparent border-0 shadow-none'
/>
<Calendar size={14} />
</div>
</div>
<div className='list-input'>
<Input
type='text'
bsSize='sm'
placeholder='신청번호 또는 검토결과를 입력해주세요.'
value={props.filterId}
onChange={e => props.setFilterId(e.target.value)}
onKeyPress={handleKeyDown}
/>
</div>
</div>
</div>
@ -118,11 +120,21 @@ export default function NewFlightApprovalsReport(props) {
})
}
>
{DistrictCategories[props.filterArea.ctprvn]?.map(district => (
<option key={district} value={district}>
{district}
</option>
))}
{location.pathname === '/operation/approvals' || '/rightMenu'
? DistrictCategories['operation'][props.filterArea.ctprvn]?.map(
district => (
<option key={district} value={district}>
{district}
</option>
)
)
: DistrictCategories['control'][props.filterArea.ctprvn]?.map(
district => (
<option key={district} value={district}>
{district}
</option>
)
)}
</CustomInput>
</div>
<div className='list-input'>

3
src/components/flight/OperationApprovalsTable.js

@ -49,6 +49,7 @@ export default function OperationApprovalsTable(props) {
// 유효성 기체 데이터
const [validData, setValidData] = useState();
console.log('>>', laancAprvList);
useEffect(() => {
let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 };
@ -303,7 +304,7 @@ export default function OperationApprovalsTable(props) {
align: 'center',
width: '90px',
render: (text, record) => {
return text ? text : '-';
return text || text === 0 ? text : '-';
}
},

98
src/configs/constants.ts

@ -146,20 +146,90 @@ export const CityCategories = {
export type CityCategory = keyof typeof CityCategories;
// 시군구 검색 카테고리
// 관제과 시군구 검색 카테고리
export const DistrictCategories = {
: ['전체'],
: ['전체', '은평구', '영등포구', '양천구', '구로구', '강서구', '마포구'],
: ['전체', '부평구', '계양구', '서구'],
: [
'전체',
'김포시',
'고양시 덕양구',
'고양시 일산동구',
'부천시 소사구',
'부천시 원미구',
'부천시 오정구'
]
control: {
: ['전체'],
: [
'전체',
'강서구',
'구로구',
'마포구',
'양천구',
'영등포구',
'은평구'
],
: ['전체', '계양구', '부평구', '서구'],
: [
'전체',
'고양시 덕양구',
'고양시 일산동구',
'김포시',
'부천시 소사구',
'부천시 오정구',
'부천시 원미구'
]
},
operation: {
: ['전체'],
: [
'전체',
'강남구',
'강동구',
'강북구',
'강서구',
'관악구',
'광진구',
'구로구',
'금천구',
'노원구',
'도봉구',
'동대문구',
'동작구',
'마포구',
'서대문구',
'서초구',
'성동구',
'성북구',
'송파구',
'양천구',
'영등포구',
'용산구',
'은평구',
'종로구',
'중구',
'중랑구'
],
: ['전체', '계양구', '부평구', '서구'],
: [
'전체',
'가평군',
'고양시 덕양구',
'고양시 일산동구',
'고양시 일산서구',
'광명시',
'광주시',
'구리시',
'김포시',
'남양주시',
'부천시 소사구',
'부천시 오정구',
'부천시 원미구',
'성남시 분당구',
'성남시 수정구',
'성남시 중원구',
'양평군',
'여주시',
'용인시 기흥구',
'용인시 수지구',
'용인시 처인구',
'의정부시',
'이천시',
'안성시'
]
}
} as const;
export type DistrictCategory = typeof DistrictCategories[CityCategory][number];
export type DistrictCategory =
| typeof DistrictCategories['control'][CityCategory][number]
| typeof DistrictCategories['operation'][CityCategory][number];

6
src/redux/features/laanc/laancThunk.ts

@ -291,11 +291,7 @@ export const getLaancAprvList = createAsyncThunk(
reqRadius: item.areaList[0].reqRadius,
reviewedType: item.areaList[0].reviewedType,
allowRadius: item.areaList[0].allowRadius,
fltElevMax:
!item.areaList[0].fltElevMax &&
item.areaList[0].approvalCd === 'U'
? 150
: item.areaList[0].fltElevMax
fltElevMax: item.areaList[0].fltElevMax
};
} else {
return {

Loading…
Cancel
Save