diff --git a/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx b/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx new file mode 100644 index 000000000..6adef8bbc --- /dev/null +++ b/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx @@ -0,0 +1,51 @@ + +import SearchForm from "@/components/module/SearchForm"; +import TabDataGrid from "@/components/module/TabDataGrid"; +import SaveButton from "@/components/button/SaveButton"; +import ApproveButton from "@/components/button/ApproveButton"; +import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; +import ReturnButton from "@/components/button/ReturnButton"; + +import { SewageExcretaRelatedInfoListRvw } from "@/components/util/column/SewageExcretaRelatedColumnRvw"; + + +const SewageExcretaRelatedRvw = () => { + + const approveFunc = () => { + console.log('approveFunc'); + // 승인 로직 + }; + + const saveFunc = () => { + console.log('submit'); + // 저장 로직 + }; + + const reviewOpinionFunc = () => { + console.log('reviewOpinionFunc'); + // 검토의견 작성 + }; + + const returnFunc = () => { + console.log('returnFunc'); + // 반려 + }; + + + return ( + <> + + +
+ + + + +
+ + + ); +}; + + +export default SewageExcretaRelatedRvw; diff --git a/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts b/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts new file mode 100644 index 000000000..631d0204d --- /dev/null +++ b/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts @@ -0,0 +1,201 @@ + +export const SewageExcretaRelatedInfoListRvw=[ + { + tabKey: 'a', + tabLabel: '공공기관 하수분야', + rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2") + fixedColumns: 2, // 순번, 시도, 시군구, 직제, 구분까지 고정 + columns: [ + /* 1. 행정 및 조직 정보 (Band: Left) */ + { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, + { name: 'OCGNZ', fieldName: 'OCGNZ', header: { text: '직제' } }, + { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } }, + + /* 2. 인력 총계 및 행정직 */ + { name: 'TOT_WTR_QRM', fieldName: 'TOT_WTR_QRM', header: { text: '직원총수' } }, + { name: 'ADMINIST_JSSFC', fieldName: 'ADMINIST_JSSFC', header: { text: '행정직' } }, + + /* 3. 기술직 상세 (단위: 명) */ + { name: 'TCHNLGY_JSSFC_SM', fieldName: 'TCHNLGY_JSSFC_SM', header: { text: '계' } }, + { name: 'ENGRK_JSSFC', fieldName: 'ENGRK_JSSFC', header: { text: '토목' } }, + { name: 'MCHN_JSSFC', fieldName: 'MCHN_JSSFC', header: { text: '기계' } }, + { name: 'ELCTY_JSSFC', fieldName: 'ELCTY_JSSFC', header: { text: '전기' } }, + { name: 'CHMSTRY_JSSFC', fieldName: 'CHMSTRY_JSSFC', header: { text: '화공' } }, + { name: 'ENVRN_JSSFC', fieldName: 'ENVRN_JSSFC', header: { text: '환경' } }, + { name: 'TCHNLGY_ETC', fieldName: 'TCHNLGY_ETC', header: { text: '기타' } }, + + /* 4. 기타 및 비고 */ + + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } }, + + ], + columnLayout: [ + { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] }, + 'OCGNZ', + 'YR_GBN', + 'TOT_WTR_QRM', + 'ADMINIST_JSSFC', + { + name: 'techJobGroup', + header: { text: '기술직' }, + items: [ + 'TCHNLGY_JSSFC_SM', + 'ENGRK_JSSFC', + 'MCHN_JSSFC', + 'ELCTY_JSSFC', + 'CHMSTRY_JSSFC', + 'ENVRN_JSSFC', + 'TCHNLGY_ETC' + ] + }, + 'RMK', + + ] + },{ + tabKey: 'b', + tabLabel: '공공기관 분뇨분야', + rowStartNum: 2, // 2단 헤더 구조 + fixedColumns: 1, // 순번, 시도, 시군구, 직제, 구분까지 고정 + columns: [ + /* 1. 행정 및 조직 정보 (Band: Left) */ + { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, + { name: 'OCGNZ', fieldName: 'OCGNZ', header: { text: '직제' } }, + { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } }, + + /* 2. 인력 총계 및 행정직 */ + { name: 'TOT_WTR_QRM', fieldName: 'TOT_WTR_QRM', header: { text: '직원총수' } }, + { name: 'ADMINIST_JSSFC', fieldName: 'ADMINIST_JSSFC', header: { text: '행정직' } }, + + /* 3. 기술직 상세 (단위: 명) */ + { name: 'TCHNLGY_JSSFC_SM', fieldName: 'TCHNLGY_JSSFC_SM', header: { text: '계' } }, + { name: 'ENGRK_JSSFC', fieldName: 'ENGRK_JSSFC', header: { text: '토목' } }, + { name: 'MCHN_JSSFC', fieldName: 'MCHN_JSSFC', header: { text: '기계' } }, + { name: 'ELCTY_JSSFC', fieldName: 'ELCTY_JSSFC', header: { text: '전기' } }, + { name: 'CHMSTRY_JSSFC', fieldName: 'CHMSTRY_JSSFC', header: { text: '화공' } }, + { name: 'ENVRN_JSSFC', fieldName: 'ENVRN_JSSFC', header: { text: '환경' } }, + { name: 'TCHNLGY_ETC', fieldName: 'TCHNLGY_ETC', header: { text: '기타' } }, + + /* 4. 기타 및 비고 */ + { name: 'ETC', fieldName: 'ETC', header: { text: '기타' } }, + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } }, + + ], + columnLayout: [ + { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] }, + 'OCGNZ', + 'YR_GBN', + 'TOT_WTR_QRM', + 'ADMINIST_JSSFC', + { + name: 'techJobGroup', + header: { text: '기술직' }, + items: [ + 'TCHNLGY_JSSFC_SM', + 'ENGRK_JSSFC', + 'MCHN_JSSFC', + 'ELCTY_JSSFC', + 'CHMSTRY_JSSFC', + 'ENVRN_JSSFC', + 'TCHNLGY_ETC' + ] + }, + 'ETC', + 'RMK', + ] +}, +{ + tabKey: 'c', + tabLabel: '분뇨수집·운반업', + rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2") + fixedColumns: 2, // 순번, 시도, 시군구, 구분까지 고정 + columns: [ + /* 1. 행정 및 기본 정보 (Band: Left) */ + { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, + { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } }, + + /* 2. 업체 및 인력 현황 */ + { name: 'ECSCS_SM', fieldName: 'ECSCS_SM', header: { text: '업체수(개소)' } }, + { name: 'ECSCS_BSMN', fieldName: 'ECSCS_BSMN', header: { text: '종사인원(명)' } }, + + /* 3. 시설(차량) 확보현황 (단위: 대수) */ + { name: 'VHCLE_SM', fieldName: 'VHCLE_SM', header: { text: '계' } }, + { name: 'THREE_BELOW', fieldName: 'THREE_BELOW', header: { text: '3톤이하' } }, + { name: 'FOUR_BELOW', fieldName: 'FOUR_BELOW', header: { text: '4.5톤이하' } }, + { name: 'EIGHT_BELOW', fieldName: 'EIGHT_BELOW', header: { text: '8톤이하' } }, + { name: 'ETC', fieldName: 'ETC', header: { text: '기타' } }, + + /* 4. 실적 및 비고 */ + { name: 'COLCT_TRSP_ACMSLT', fieldName: 'COLCT_TRSP_ACMSLT', header: { text: '수집·운반실적\n(㎥/년)' } }, + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } }, + ], + columnLayout: [ + { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] }, + 'YR_GBN', + 'ECSCS_SM', + 'ECSCS_BSMN', + { + name: 'vehicleGroup', + header: { text: '시설(차량) 확보현황(대수)' }, + items: [ + 'VHCLE_SM', + 'THREE_BELOW', + 'FOUR_BELOW', + 'EIGHT_BELOW', + 'ETC' + ] + }, + 'COLCT_TRSP_ACMSLT', + 'RMK' + ] +}, +{ + tabKey: 'd', + tabLabel: '개인하수처리관련업', + rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2") + fixedColumns: 2, // 순번, 시도, 시군구, 구분까지 고정 + columns: [ + /* 1. 행정 및 기본 정보 (Band: Left) */ + { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, + { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } }, + + /* 2. 개인하수처리시설 설계ㆍ시공업 */ + { name: 'CNSTRCT_ENTRPS', fieldName: 'CNSTRCT_ENTRPS', header: { text: '업소수' } }, + { name: 'CNSTRCT_BSMN', fieldName: 'CNSTRCT_BSMN', header: { text: '종사인원(명)' } }, + + /* 3. 개인하수처리시설 제조업 */ + { name: 'MNFCTUR_ENTRPS', fieldName: 'MNFCTUR_ENTRPS', header: { text: '업소수' } }, + { name: 'MNFCTUR_BSMN', fieldName: 'MNFCTUR_BSMN', header: { text: '종사인원(명)' } }, + + /* 4. 개인하수처리시설 관리업 */ + { name: 'MGMT_ENTRPS', fieldName: 'MGMT_ENTRPS', header: { text: '업소수' } }, + { name: 'MGMT_BSMN', fieldName: 'MGMT_BSMN', header: { text: '종사인원(명)' } }, + + /* 5. 기타 및 의견 */ + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } } + ], + columnLayout: [ + { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] }, + 'YR_GBN', + { + name: 'constructGroup', + header: { text: '개인하수처리시설 설계ㆍ시공업' }, + items: ['CNSTRCT_ENTRPS', 'CNSTRCT_BSMN'] + }, + { + name: 'manufactureGroup', + header: { text: '개인하수처리시설 제조업' }, + items: ['MNFCTUR_ENTRPS', 'MNFCTUR_BSMN'] + }, + { + name: 'managementGroup', + header: { text: '개인하수처리시설 관리업' }, + items: ['MGMT_ENTRPS', 'MGMT_BSMN'] + }, + 'RMK' + ] +} +]; \ No newline at end of file