Table Cpation 처리

This commit is contained in:
2026-10-11 13:16:56 +09:00
parent 0802ba191a
commit 41e6f1cf48
65 changed files with 74 additions and 74 deletions
@@ -76,7 +76,7 @@ function AprvrPickerDialog({ open, onOpenChange, atrzSeComCd, onSelect }: AprvrP
배치된 검토인력이 없습니다.
</p>
) : (
<Table caption="결재자 선택 목록으로 성명, 부서, 직위, 직급, 선택 정보 제공" className="w-full">
<Table caption="검토인력 선택 목록으로 성명, 부서, 직위, 직급, 선택 정보 제공" className="w-full">
<colgroup>
<col width="25%" />
<col width="25%" />
@@ -162,7 +162,7 @@ function ElaprAplnPickerGrid({
</p>
) : (
<DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>
<Table caption="결재선 선택 목록으로 결재순서, 결재구분, 결재자 정보 제공" className="w-full">
<Table caption="결재선 관리 목록으로 결재순서, 결재구분, 결재자, 관리 정보 제공" className="w-full">
<colgroup>
<col width="10%" />
<col width="10%" />
@@ -315,7 +315,7 @@ function ElaprApprovalDialog({
collisionDetection={closestCenter}
onDragEnd={handleDragEnd}
>
<Table caption="결재 진행 현황 목록으로 결재순서, 결재구분, 결재자, 전결자 지정, 결재상태, 관리 정보 제공" className="w-full">
<Table caption="결재 진행 단계 목록으로 결재순서, 결재구분, 결재자, 전결자 지정, 결재상태, 관리 정보 제공" className="w-full">
<colgroup>
<col width="8%" />
<col width="8%" />
@@ -73,7 +73,7 @@ function AprvrPickerDialog({
배치된 검토인력이 없습니다.
</p>
) : (
<Table caption="검토인력 목록으로 성명, 부서, 직위, 직급, 선택 정보 제공" className="w-full">
<Table caption="검토인력 선택 목록으로 성명, 부서, 직위, 직급, 선택 정보 제공" className="w-full">
<colgroup>
<col width="25%" />
<col width="25%" />
@@ -185,7 +185,7 @@ function ElaprAplnGrid({ elaprTmpltId }: ElaprAplnGridProps) {
</p>
) : (
<DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>
<Table caption="결재선 목록으로 결재순서, 결재구분, 결재자 정보 제공" className="w-full">
<Table caption="결재선 관리 목록으로 결재순서, 결재구분, 결재자 ID, 결재자, 등록일시, 관리 정보 제공" className="w-full">
<colgroup>
<col width="5%" />
<col width="10%" />
@@ -51,7 +51,7 @@ function CklstPreviewDialog({
{displayRows.length === 0 ? (
<p className="py-6 text-center text-muted-foreground">표시할 항목이 없습니다.</p>
) : (
<Table caption={`체크리스트 ${cklstNm} 미리보기`}>
<Table caption={`체크리스트 미리보기 ${cklstNm} 목록으로 점검항목, 주요 검토내용, 검토 여부 정보 제공`}>
<colgroup>
<col width="25%" />
<col width="50%" />
@@ -277,7 +277,7 @@ function CklstRvwGrid({ selectedCklst }: CklstRvwGridProps) {
등록된 항목이 없습니다. [추가]로 1단계 항목을 등록하세요.
</p>
) : (
<Table caption="체크리스트 항목 목록" className="w-full">
<Table caption="체크리스트 항목 목록으로 점검항목, 주요 검토내용, 사용 여부, 체크 사용, 정렬 순서, 구분, 관리 정보 제공" className="w-full">
<colgroup>
<col width="16%" />
<col width="36%" />
@@ -103,7 +103,7 @@ function AcntgCodeTabPanel() {
</p>
) : (
<div className="max-h-[60rem] overflow-y-auto px-4 pb-4 pt-1">
<Table caption="회계구분 코드 목록" className="w-full">
<Table caption="회계코드 목록으로 코드, 코드명, 설명, 사용 여부, 정렬순서, 구분, 관리 정보 제공" className="w-full">
<colgroup>
<col width="14%" />
<col width="16%" />
@@ -103,7 +103,7 @@ function CnstpCodeTabPanel() {
</p>
) : (
<div className="max-h-[60rem] overflow-y-auto px-4 pb-4 pt-1">
<Table caption="공종구분 코드 목록" className="w-full">
<Table caption="공사코드 목록으로 코드, 코드명, 설명, 숫자 여부, 소숫점 단위, 사용 여부, 정렬순서, 구분, 관리 정보 제공" className="w-full">
<colgroup>
<col width="14%" />
<col width="16%" />
@@ -103,7 +103,7 @@ function FnrsSharCodeTabPanel() {
</p>
) : (
<div className="max-h-[60rem] overflow-y-auto px-4 pb-4 pt-1">
<Table caption="재원분담 코드 목록" className="w-full">
<Table caption="재원분담구분코드 목록으로 코드, 코드명, 설명, 사용 여부, 정렬순서, 구분, 관리 정보 제공" className="w-full">
<colgroup>
<col width="14%" />
<col width="16%" />
@@ -36,7 +36,7 @@ function BasicInfoFormSection() {
return (
<SectionCollapsible title="기본 정보">
<Table caption="사업 기본 정보 입력" variant="secondary">
<Table caption="기본 정보 입력으로 사업명, 사업기간, 사업내용, 구분, 신청 지자체 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -11,7 +11,7 @@ interface BasicInfoSectionProps {
function BasicInfoSection({ det }: BasicInfoSectionProps) {
return (
<SectionCollapsible title="기본 정보">
<Table caption="사업 기본 정보" variant="secondary">
<Table caption="기본 정보로 사업명, 사업기간, 사업내용, 환경청구분, 구분, 신청지자체 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -13,7 +13,7 @@ function BusinessScaleSection({ bizSclList }: BusinessScaleSectionProps) {
return (
<SectionCollapsible title="사업규모">
<div className="overflow-x-auto">
<Table caption="사업규모 목록: 구분, 기본계획, 예산반영, 금회설계, 증감 정보 제공" variant="secondary">
<Table caption="사업규모 목록으로 구분, 기본계획(A), 예산반영(B), 금회설계시(C), 증감(C-B) 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[30rem]">구분</TableHead>
@@ -11,7 +11,7 @@ interface ContactInfoSectionProps {
function ContactInfoSection({ det }: ContactInfoSectionProps) {
return (
<SectionCollapsible title="담당자 정보">
<Table caption="사업 담당자 정보" variant="secondary">
<Table caption="담당자 정보로 신청자, 이름, 연락처, 소속, 이메일, 설계자, 이름, 연락처, 소속, 이메일 정보 제공" variant="secondary">
<TableHeader>
{det.aplcntNm && (
<>
@@ -180,7 +180,7 @@ const TechReviewOpinionSection = forwardRef<
return (
<div className="space-y-2">
<h4 className="text-xl font-semibold">검토의견 작성</h4>
<Table caption="검토의견 입력" variant="secondary">
<Table caption="검토의견 작성으로 의견내용, 검토결과, 첨부파일 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead scope="row" className="w-[12rem]">의견내용</TableHead>
@@ -289,7 +289,7 @@ const TechReviewOpinionSection = forwardRef<
function TechReviewOpinionTable({ items }: TechReviewOpinionTableProps) {
return (
<div className="overflow-x-auto">
<Table caption="검토의견 목록: 의견자, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<Table caption="검토의견 목록으로 의견자명, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<colgroup>
<col width="10%" />
<col width="55%" />
@@ -53,7 +53,7 @@ function ChecklistTaskPanel({
return (
<>
<div className="overflow-x-auto">
<Table caption="체크리스트 검토 입력: 검토항목, 주요 검토내용, 검토결과 정보 제공" variant="secondary">
<Table caption={`체크리스트 목록으로 검토항목, 주요 검토내용, 검토 결과${selectedReviewStep !== "LOCAL" ? ", 기술검토 의견" : ""} 정보 제공`} variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[20rem]" rowSpan={2}>
@@ -42,7 +42,7 @@ function PwrkCnsltnDocPjtcoAjmtTable({
}
return (
<Table caption="사업비 조정 내역: 구분, 검증결과, 검증금액 정보 제공" variant="secondary">
<Table caption="금액검증결과 목록으로 구분, 검증결과, 검증금액 정보 제공" variant="secondary">
<colgroup>
<col width="30%" />
<col width="50%" />
@@ -157,7 +157,7 @@ function CnsltnListTable({
const isSomeSelected = selectedCount > 0 && !isAllSelected;
return (
<Table caption="자문 검토결과 목록: 구분, 검토의견 정보 제공" variant="secondary">
<Table caption="검토 결과 조회 목록으로 선택, 구분, 검토의견 정보 제공" variant="secondary">
<colgroup>
<col width="4%" />
<col width="4%" />
@@ -49,7 +49,7 @@ function BasicInfoFormSection() {
return (
<SectionCollapsible title="기본 정보">
<Table caption="재원협의 기본 정보 입력" variant="secondary">
<Table caption="기본 정보 입력으로 사업명, 사업기간, 사업내용, 구분, 신청 지자체, 시설종류, 재이용용도 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -11,7 +11,7 @@ interface BasicInfoSectionProps {
function BasicInfoSection({ det }: BasicInfoSectionProps) {
return (
<SectionCollapsible title="기본 정보">
<Table caption="재원협의 기본 정보" variant="secondary">
<Table caption="기본 정보로 사업명, 사업기간, 사업내용, 환경청구분, 구분, 신청지자체, 확정예산사업번호, 예산신청연도 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -20,7 +20,7 @@ function BusinessCostSection({ bizCstList }: BusinessCostSectionProps) {
<SectionCollapsible title="총사업비">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="총사업비 내역: 구분, 예산반영, 표준사업비, 금회설계, 증감 정보 제공" variant="secondary" className="table-fixed">
<Table caption="총사업비 목록으로 구분, 예산반영(A), 표준사업비(B), 금회설계시(C), 증감 정보 제공" variant="secondary" className="table-fixed">
<TableHeader>
<TableRow>
<TableHead className="w-[30rem]" rowSpan={2}>
@@ -13,7 +13,7 @@ function BusinessScaleSection({ bizSclList }: BusinessScaleSectionProps) {
return (
<SectionCollapsible title="사업규모">
<div className="overflow-x-auto">
<Table caption="사업규모 내역: 구분, 기본계획, 예산반영, 금회설계, 증감 정보 제공" variant="secondary">
<Table caption="사업규모 목록으로 구분, 기본계획(A), 예산반영(B), 금회설계시(C), 증감(C-B) 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[30rem]">구분</TableHead>
@@ -11,7 +11,7 @@ interface ContactInfoSectionProps {
function ContactInfoSection({ det }: ContactInfoSectionProps) {
return (
<SectionCollapsible title="담당자 정보">
<Table caption="재원협의 담당자 정보" variant="secondary">
<Table caption="담당자 정보로 신청자, 이름, 연락처, 소속, 이메일, 설계자, 이름, 연락처, 소속, 이메일 정보 제공" variant="secondary">
<TableHeader>
{det.aplcntNm && (
<>
@@ -21,7 +21,7 @@ function FnrsSharSection({ fnrsSharList }: FnrsSharSectionProps) {
<SectionCollapsible title="재원분담">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="재원분담 내역: 구분, 현행, 변경요구, 증감, 비고 정보 제공" variant="secondary" className="table-fixed">
<Table caption="재원분담 목록으로 구분, 현행(A), 변경요구(B), 증감, 비고 정보 제공" variant="secondary" className="table-fixed">
<TableHeader>
<TableRow>
<TableHead className="w-[24rem]" rowSpan={2}>
@@ -189,7 +189,7 @@ const TechReviewOpinionSection = forwardRef<
return (
<div className="space-y-2">
<h4 className="text-xl font-semibold">검토의견 작성</h4>
<Table caption="검토의견 입력" variant="secondary">
<Table caption="검토의견 작성으로 의견내용, 검토결과, 첨부파일 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[12rem]">의견내용</TableHead>
@@ -303,7 +303,7 @@ const TechReviewOpinionSection = forwardRef<
function TechReviewOpinionTable({ items }: TechReviewOpinionTableProps) {
return (
<div className="overflow-x-auto">
<Table caption="검토의견 목록: 의견자, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<Table caption="검토의견 목록으로 의견자명, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<colgroup>
<col width="10%" />
<col width="55%" />
@@ -52,7 +52,7 @@ function ChecklistTaskPanel({
return (
<>
<div className="overflow-x-auto">
<Table caption="체크리스트 검토 입력: 검토항목, 주요 검토내용, 검토결과 정보 제공" variant="secondary">
<Table caption={`체크리스트 목록으로 검토항목, 주요 검토내용, 검토 결과${selectedReviewStep !== "LOCAL" ? ", 기술검토 의견" : ""} 정보 제공`} variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[20rem]" rowSpan={2}>
@@ -53,7 +53,7 @@ function BasicInfoFormSection() {
return (
<SectionCollapsible title="기본 정보">
<Table caption="설치승인 기본 정보 입력" variant="secondary">
<Table caption="기본 정보 입력으로 사업명, 사업기간, 사업내용, 구분, 신청 지자체, 사업구분, 시설종류, 재이용용도 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -11,7 +11,7 @@ interface BasicInfoSectionProps {
function BasicInfoSection({ det }: BasicInfoSectionProps) {
return (
<SectionCollapsible title="기본 정보">
<Table caption="설치승인 기본 정보" variant="secondary">
<Table caption="기본 정보로 사업명, 사업기간, 사업내용, 구분, 신청지자체, 사업구분 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -20,7 +20,7 @@ function BusinessCostSection({ bizCstList }: BusinessCostSectionProps) {
<SectionCollapsible title="총사업비">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="총사업비 내역: 구분, 예산반영, 표준사업비, 금회설계, 증감 정보 제공" variant="secondary" className="table-fixed">
<Table caption="총사업비 목록으로 구분, 예산반영(A), 표준사업비(B), 금회설계시(C), 증감 정보 제공" variant="secondary" className="table-fixed">
<TableHeader>
<TableRow>
<TableHead className="w-[30rem]" rowSpan={2}>
@@ -13,7 +13,7 @@ function BusinessScaleSection({ bizSclList }: BusinessScaleSectionProps) {
return (
<SectionCollapsible title="사업규모">
<div className="overflow-x-auto">
<Table caption="사업규모 내역: 구분, 기본계획, 예산반영, 금회설계, 증감 정보 제공" variant="secondary">
<Table caption="사업규모 목록으로 구분, 기본계획(A), 예산반영(B), 금회설계시(C), 증감(C-B) 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[30rem]">구분</TableHead>
@@ -11,7 +11,7 @@ interface ContactInfoSectionProps {
function ContactInfoSection({ det }: ContactInfoSectionProps) {
return (
<SectionCollapsible title="담당자 정보">
<Table caption="설치승인 담당자 정보" variant="secondary">
<Table caption="담당자 정보로 신청자, 이름, 연락처, 소속, 이메일, 설계자, 이름, 연락처, 소속, 이메일 정보 제공" variant="secondary">
<TableHeader>
{det.aplcntNm && (
<>
@@ -180,7 +180,7 @@ const TechReviewOpinionSection = forwardRef<
return (
<div className="space-y-2">
<h4 className="text-xl font-semibold">검토의견 작성</h4>
<Table caption="검토의견 입력" variant="secondary">
<Table caption="검토의견 작성으로 의견내용, 검토결과, 첨부파일 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead scope="row" className="w-[12rem]">의견내용</TableHead>
@@ -301,7 +301,7 @@ const TechReviewOpinionSection = forwardRef<
function TechReviewOpinionTable({ items }: TechReviewOpinionTableProps) {
return (
<div className="overflow-x-auto">
<Table caption="검토의견 목록: 의견자, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<Table caption="검토의견 목록으로 의견자명, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<colgroup>
<col width="10%" />
<col width="55%" />
@@ -35,7 +35,7 @@ function SndngList({
return (
<div className="max-h-[40rem] overflow-auto rounded-md border">
<Table caption="알림톡 발송 대상 목록: 이름, 전화번호, 변수, 버튼 정보 제공" variant="line" className="text-sm">
<Table caption={`발송 목록으로 ${["이름", "전화번호", ...variableNames.map((variableName) => `#${variableName}`), "버튼"].join(", ")} 정보 제공`} variant="line" className="text-sm">
<TableHeader className="top-0">
<TableRow>
<TableHead className="min-w-[100px]">이름</TableHead>
@@ -52,7 +52,7 @@ function ChecklistTaskPanel({
return (
<div className="overflow-x-auto">
<Table caption="체크리스트 검토 입력: 검토항목, 주요 검토내용, 검토결과 정보 제공" variant="secondary">
<Table caption={`체크리스트 목록으로 검토항목, 주요 검토내용, 검토 결과${selectedReviewStep !== "LOCAL" ? ", 기술검토 의견" : ""} 정보 제공`} variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[20rem]" rowSpan={2}>
@@ -35,7 +35,7 @@ function PreviousPlanAreaTable({ data }: PreviousPlanAreaTableProps) {
const yearCells = getPlanYearCells(data);
return (
<Table caption="이전 기본계획 처리구역 현황" variant="secondary">
<Table caption="처리구역별 현황 목록으로 구분, 당초, 기준, 변경 정보 제공" variant="secondary">
<colgroup>
<col width="16%" />
<col width="9.3%" />
@@ -202,7 +202,7 @@ function PreviousPlanFileSection({ clsfSystmNm }: PreviousPlanFileSectionProps)
) : files.length === 0 ? (
<p className="py-8 text-center text-lg text-muted-foreground">파일이 없습니다.</p>
) : (
<Table caption="이전 기본계획 첨부파일 목록" variant="secondary">
<Table caption="기본계획파일 목록으로 번호, 파일명, 등록일, 다운로드 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="!py-2 !text-xl">번호</TableHead>
@@ -13,7 +13,7 @@ function PreviousPlanSummaryTable({ data }: PreviousPlanSummaryTableProps) {
const yearCells = getPlanYearCells(data);
return (
<Table caption="이전 기본계획 목표연도" variant="secondary">
<Table caption="총설 목록으로 구분, 당초, 기준, 변경 정보 제공" variant="secondary">
<colgroup>
<col width="10%" />
<col width="10%" />
@@ -57,7 +57,7 @@ function BasicInfoFormSection() {
return (
<SectionCollapsible title="기본계획 신청">
<Table caption="기본계획 정보 입력" variant="secondary">
<Table caption="기본계획 신청 입력으로 기본계획명, 계획년도, 기준년도, 1단계 목표연도, 2단계 목표연도, 3단계 목표연도, 4단계 목표연도, 계획개요, 구분, 신청 지자체 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -18,7 +18,7 @@ function BasicInfoSection({ det, dtl }: BasicInfoSectionProps) {
return (
<SectionCollapsible title="기본계획 신청">
<Table caption="기본계획 정보" variant="secondary">
<Table caption="기본계획 신청으로 기본계획명, 계획년도, 기준년도, 1단계 목표연도, 2단계 목표연도, 3단계 목표연도, 4단계 목표연도, 계획개요, 구분, 신청 지자체 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -75,7 +75,7 @@ function BizCstMatrixFormSection() {
<SectionCollapsible title="총사업비">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="단계별 총사업비 입력" variant="secondary" className="table-fixed">
<Table caption="총사업비 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -62,7 +62,7 @@ function BizCstMatrixSection({ bizCstList, dtl }: BizCstMatrixSectionProps) {
<SectionCollapsible title="총사업비">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="단계별 총사업비 내역" variant="secondary" className="table-fixed">
<Table caption="총사업비 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -13,7 +13,7 @@ function ContactInfoSection({ dtl }: ContactInfoSectionProps) {
return (
<SectionCollapsible title="담당자 정보">
<Table caption="기본계획 담당자 정보" variant="secondary">
<Table caption="담당자 정보로 신청자, 이름, 연락처, 소속, 이메일, 설계자, 이름, 연락처, 소속, 이메일 정보 제공" variant="secondary">
<TableHeader>
{dtl.aplcntNm ? (
<>
@@ -85,7 +85,7 @@ function FnrsCstFormSection() {
<h3 className="text-xl font-semibold">세부별 총사업비(①) - 재원분담 총사업비(②)</h3>
<span className="font-normal text-muted-foreground">(단위: 백만원)</span>
</div>
<Table caption="총사업비 대비 재원분담 합계 비교" variant="secondary" className="table-fixed">
<Table caption="세부별 총사업비(①) - 재원분담 총사업비(②) 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -125,7 +125,7 @@ function FnrsCstFormSection() {
<h3 className="text-xl font-semibold">재원분담</h3>
<span className="font-normal text-muted-foreground">(단위: 백만원)</span>
</div>
<Table caption="단계별 재원분담 입력" variant="secondary" className="table-fixed">
<Table caption="재원분담 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -79,7 +79,7 @@ function FnrsCstSection({ fnrsCstList, dtl }: FnrsCstSectionProps) {
<h3 className="text-xl font-semibold">세부별 총사업비(①) - 재원분담 총사업비(②)</h3>
<span className="font-normal text-muted-foreground">(단위: 백만원)</span>
</div>
<Table caption="단계별 재원분담 내역" variant="secondary" className="table-fixed">
<Table caption="재원분담 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -79,7 +79,7 @@ function OutlineFormSection() {
이전기본계획조회
</Button>
</div>
<Table caption="사업개요 단계별 입력" variant="secondary">
<Table caption="사업개요 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -29,7 +29,7 @@ function OutlineSection({ otlnList, dtl }: OutlineSectionProps) {
return (
<SectionCollapsible title="사업개요">
<Table caption="사업개요 단계별 현황" variant="secondary">
<Table caption="사업개요 목록으로 구분, 1단계, 2단계, 3단계, 4단계 정보 제공" variant="secondary">
<colgroup>
<col width="12%" />
<col width="22%" />
@@ -187,7 +187,7 @@ const TechReviewOpinionSection = forwardRef<
return (
<div className="space-y-2">
<h4 className="text-xl font-semibold">검토의견 작성</h4>
<Table caption="검토의견 입력" variant="secondary">
<Table caption="검토의견 작성으로 의견내용, 검토결과, 첨부파일 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[12rem]">의견내용</TableHead>
@@ -308,7 +308,7 @@ const TechReviewOpinionSection = forwardRef<
function TechReviewOpinionTable({ items }: TechReviewOpinionTableProps) {
return (
<div className="overflow-x-auto">
<Table caption="검토의견 목록: 의견자, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<Table caption="검토의견 목록으로 의견자명, 의견내용, 검토결과, 첨부파일, 등록일시 정보 제공" variant="secondary">
<colgroup>
<col width="10%" />
<col width="55%" />
@@ -147,7 +147,7 @@ function TmplntFacilityMatrix({
const originalData = Array.isArray(data) ? (data[0] ?? null) : null;
return (
<Table caption="처리시설별 단계별 계획 입력" variant="secondary">
<Table caption="처리시설별 하수도정비기본계획 목록으로 구분, 당초, 현재, 변경 정보 제공" variant="secondary">
<colgroup>
<col width="12%" />
<col width="9.75%" />
@@ -317,7 +317,7 @@ function TmplntFacilityAttachments({
return (
<div className="mt-6 space-y-2">
<h3 className="mb-4 text-xl font-semibold">처리구역 필수 첨부파일</h3>
<Table caption="처리구역 필수 첨부파일" variant="secondary">
<Table caption="처리구역 필수 첨부파일 목록으로 파일명, 파일 확장자, 파일첨부 정보 제공" variant="secondary">
<colgroup>
<col width="40%" />
<col width="15%" />
@@ -102,7 +102,7 @@ function TmplntFacilityMatrix({
const originalData = Array.isArray(data) ? (data[0] ?? null) : null;
return (
<Table caption="처리시설별 단계별 계획 현황" variant="secondary">
<Table caption="처리시설별 하수도정비기본계획 목록으로 구분, 당초, 현재, 변경 정보 제공" variant="secondary">
<colgroup>
<col width="12%" />
<col width="9.75%" />
@@ -242,7 +242,7 @@ function TmplntSection({ tmplntList, det, dtl }: TmplntSectionProps) {
{(item.atchFileGroupId || item.atchFileInfo?.orgnlFileNm) && (
<div className="mt-6 space-y-2">
<h3 className="mb-4 text-xl font-semibold">처리구역 필수 첨부파일</h3>
<Table caption="처리구역 첨부파일" variant="secondary">
<Table caption="처리구역 필수 첨부파일 목록으로 파일명, 파일첨부 정보 제공" variant="secondary">
<colgroup>
<col width="35%" />
<col width="65%" />
@@ -117,7 +117,7 @@ function SewerBscPlanApplyDialog({ open, onOpenChange, onConfirm }: SewerBscPlan
{isPending ? (
<Skeleton className="h-[16rem] w-full" />
) : (
<Table caption="기본계획 신청 정보 입력" variant="secondary">
<Table caption="하수도기본계획 신청으로 시도, 시군구, 계획구분, 업무구분 정보 제공" variant="secondary">
<colgroup>
<col width="15%" />
<col width="35%" />
@@ -331,7 +331,7 @@ function BnsPickerDialog({ open, onClose, onSelect }: BnsPickerDialogProps) {
function BnsBasicInfoTable({ detail }: { detail: BnsDetailResponseDto }) {
return (
<Table caption="사업 검색 결과 목록" variant="secondary" className="w-full">
<Table caption="기본정보로 시도, 구군, 대권역, 단위유역, 중권역, 환경청, 회계구분, 단위사업, 세부사업, 내역사업, 세부내역, 세세부내역, 사업시작년도, 사업종료년도, 보조율(%), 사업상태, 사업명, 사업위치, 기본계획상의 목표년도, 사업추진현황, 상위계획, 기술진단, 사업내용, 비고 정보 제공" variant="secondary" className="w-full">
<TableBody>
<DetailPairRow
leftLabel="시도"
@@ -404,7 +404,7 @@ function BnsBasicInfoTable({ detail }: { detail: BnsDetailResponseDto }) {
function BnsOperationTable({ detail }: { detail: BnsDetailResponseDto }) {
return (
<Table caption="선택 사업 상세 정보" variant="secondary" className="w-full">
<Table caption="운영현황 및 사업효과로 유입하수처리장, 처리방식, 시설용량(현행), 시설용량(사업후), 처리구역면적(현행), 처리구역면적(사업후), 총인구(현행), 처리인구(현행), 처리인구(사업후), 하수관로, 배수설비 총가구수, 펌프장(개소), 방류수계, 방류하천, 사업후 예상유입하수량, 사업후 유입수질(예상BOD), 계획방류수질, 하천수질, 표준사업비, 기타사업물량 정보 제공" variant="secondary" className="w-full">
<TableBody>
<DetailPairRow
leftLabel="유입하수처리장"
@@ -380,7 +380,7 @@ function AttachmentsFormSection({
{essentialFiles.length > 0 && (
<div className="px-2">
<h3 className="mb-4 text-xl font-semibold">필수 첨부파일</h3>
<Table caption="필수 첨부파일 목록: 파일명, 파일 확장자, 파일 첨부 정보 제공" variant="secondary" className="table-fixed">
<Table caption="필수 첨부파일 목록으로 파일명, 파일 확장자, 파일첨부 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="44%" />
<col width="12%" />
@@ -17,7 +17,7 @@ function AttachmentsViewSection({ esntlFileList, etcFileList }: AttachmentsViewS
{esntlFileList.length > 0 && (
<SectionCollapsible title="필수 첨부파일">
<div className="overflow-x-auto">
<Table caption="첨부파일 목록" variant="secondary">
<Table caption="필수 첨부파일 목록으로 필수 자료명, 파일명, 크기 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead>필수 자료명</TableHead>
@@ -77,7 +77,7 @@ function AttachmentsViewSection({ esntlFileList, etcFileList }: AttachmentsViewS
{etcFileList.length > 0 && (
<SectionCollapsible title="기타 첨부파일">
<div className="overflow-x-auto">
<Table caption="첨부파일 목록" variant="secondary">
<Table caption="기타 첨부파일 목록으로 파일명, 크기 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead>파일명</TableHead>
@@ -58,7 +58,7 @@ function BizCstTotalDisplayTable({ costItems, sharItems }: BizCstTotalDisplayTab
<h3 className="text-xl font-semibold">세부별 총사업비(①) - 재원분담 총사업비(②)</h3>
<span className="font-normal text-muted-foreground">(단위: 백만원)</span>
</div>
<Table caption="세부별 총사업비와 재원분담 총사업비 비교" variant="secondary">
<Table caption="세부별 총사업비(①) - 재원분담 총사업비(②) 목록으로 구분, ① 예산반영(A) - ② 현행(A), ① 금회설계시(C) - ② 변경요구(B) 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead>구분</TableHead>
@@ -102,7 +102,7 @@ function BusinessCostFormSection() {
<SectionCollapsible title="세부별 총사업비">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="세부별 총사업비 입력: 구분, 예산반영, 표준사업비, 금회설계, 증감 정보 제공" variant="secondary" className="table-fixed">
<Table caption="세부별 총사업비 목록으로 구분, 예산반영(A), 표준사업비(B), 금회설계시(C), 증감 정보 제공" variant="secondary" className="table-fixed">
<colgroup>
<col width="20%" />
<col width="20%" />
@@ -102,7 +102,7 @@ function BusinessScaleFormSection() {
<SectionCollapsible title="사업규모">
<div className="overflow-x-auto">
<p className="mb-2 text-right font-normal text-muted-foreground">(단위: 백만원)</p>
<Table caption="사업규모 입력: 구분, 기본계획, 예산반영, 금회설계, 증감 정보 제공" variant="secondary">
<Table caption="사업규모 목록으로 구분, 기본계획(A), 예산반영(B), 금회설계시(C), 증감(C-B) 정보 제공" variant="secondary">
<colgroup>
<col width="20%" />
<col width="20%" />
@@ -199,7 +199,7 @@ function ChecklistFormSection({ docSeComCd, fieldPrefix }: ChecklistFormSectionP
{checklistTabs.map((tab) => {
return (
<TabsContent key={tab.code} value={tab.code} className="space-y-4">
<Table caption={`${tab.label} 체크리스트 입력: 검토항목, 주요 검토내용, 검토결과 정보 제공`} variant="secondary">
<Table caption={`${tab.label} 체크리스트 목록으로 검토항목, 주요 검토내용, 검토 결과 정보 제공`} variant="secondary">
<TableHeader>
<TableRow>
<TableHead rowSpan={2} className="w-[30rem]">
@@ -23,7 +23,7 @@ function ContactInfoFormSection({ fieldPrefix }: ContactInfoFormSectionProps) {
return (
<SectionCollapsible title="담당자 정보">
<Table caption="담당자 정보 입력" variant="secondary">
<Table caption="담당자 정보 입력으로 신청자, 이름, 연락처, 소속, 이메일, 설계자, 이름, 연락처, 소속, 이메일 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead scope="row" className="w-[20rem]" rowSpan={2}>
@@ -200,7 +200,7 @@ function FnrsSharFormSection({ initialSharTree, initialSharAtchFiles }: FnrsShar
<h3 className="text-xl font-semibold">재원분담</h3>
<span className="font-normal text-muted-foreground">(단위: 백만원)</span>
</div>
<Table caption="재원분담 입력: 구분, 현행, 변경요구, 증감, 비고 정보 제공" variant="secondary" className="table-fixed">
<Table caption="재원분담 목록으로 구분, 현행(A), 변경요구(B), 증감, 비고 정보 제공" variant="secondary" className="table-fixed">
<TableHeader>
<TableRow>
<TableHead className="w-[24rem]" rowSpan={2}>
@@ -105,7 +105,7 @@ function PbadmsTaskApplyDialog({
{isPending ? (
<Skeleton className="h-[16rem] w-full" />
) : (
<Table caption="행정지원 신청 정보 입력" variant="secondary">
<Table caption={`${title}으로 시도, 시군구, 업무구분 정보 제공`} variant="secondary">
<colgroup>
<col width="20%" />
<col width="30%" />
@@ -23,7 +23,7 @@ function PrivacyConsentSection() {
return (
<SectionCollapsible title="개인정보 수집/이용 동의">
<Table caption="개인정보 수집·이용 동의 내용" variant="secondary">
<Table caption="개인정보 수집/이용 동의로 개인정보 수집 및 이용 정보 제공" variant="secondary">
<TableHeader>
<TableRow>
<TableHead className="w-[20rem]" data-required>
@@ -57,7 +57,7 @@ function ProgressStatusSection({
return (
<SectionCollapsible title="진행 상태">
<Table caption="행정지원 진행상태" variant="secondary" className="table-fixed">
<Table caption={`진행 상태 목록으로 ${columns.map((column) => column.label).join(", ")} 정보 제공`} variant="secondary" className="table-fixed">
<TableHeader>
<TableRow>
{columns.map((column) => (
@@ -239,7 +239,7 @@ function SplmntDmndDialog({
</div>
<div className="overflow-x-auto">
<Table caption="보완 요청 입력: 보완 항목, 보완 의견, 첨부파일 정보 제공" variant="secondary">
<Table caption={`보완 내용 목록으로 보완 항목, 보완 의견, 첨부파일${rows.length > 1 ? ", 관리" : ""} 정보 제공`} variant="secondary">
<colgroup>
<col width="20%" />
<col width="50%" />
@@ -240,7 +240,7 @@ function SplmntDmndFormSection({ initialData, readOnly = false }: SplmntDmndForm
return (
<SectionCollapsible title="보완요청">
<div className="overflow-x-auto">
<Table caption="보완요청 및 처리 현황: 보완항목, 요청일시, 요청내용, 완료내용, 첨부파일, 완료여부 정보 제공" variant="secondary">
<Table caption="보완요청 목록으로 보완항목, 보완요청일시, 보완요청내용, 보완완료내용, 파일첨부, 완료여부 정보 제공" variant="secondary">
<colgroup>
<col width="12%" />
<col width="14%" />
@@ -28,7 +28,7 @@ function SupplementDemandSection({ splmntDmndList }: SupplementDemandSectionProp
return (
<SectionCollapsible title="보완요청 및 완료 현황">
<div className="overflow-x-auto">
<Table caption="보완요청 현황" variant="secondary">
<Table caption="보완요청 및 완료 현황 목록으로 보완항목, 보완요청일시, 보완요청내용, 보완완료일시, 보완완료내용, 완료여부 정보 제공" variant="secondary">
<colgroup>
<col width="14%" />
<col width="8%" />