diff --git a/apps/wr/app/matMng/matDmd/coMatRvw/page.tsx b/apps/wr/app/matMng/coMat/coMatRvw/page.tsx similarity index 95% rename from apps/wr/app/matMng/matDmd/coMatRvw/page.tsx rename to apps/wr/app/matMng/coMat/coMatRvw/page.tsx index 01f3cef8a..248a45484 100644 --- a/apps/wr/app/matMng/matDmd/coMatRvw/page.tsx +++ b/apps/wr/app/matMng/coMat/coMatRvw/page.tsx @@ -3,10 +3,13 @@ import { useWrStore } from "@/app/store"; import { formH1Class, formTableName } from "@/components/lib/class/comClass"; import { getCity } from "@/components/lib/func/commom"; +import { CmpttnModal } from "@/components/ui/modal/coMat/cmpttnModal"; +import { CoMatModal } from "@/components/ui/modal/coMat/coMatModal"; import type { objSearchType } from "@/components/ui/modal/fcltReg/bdstRegModal/bdstRegModal"; import { ContentsDiv, Form, FormField, FormUi, ScrollArea, SearchDiv, SearchFormLeft, SearchFormRight, SearchInput, SelectBox, Title, UiModal, UiTable, type SelectDataType } from "@common/business_components/ui"; import ListDiv from "@common/business_components/ui/list_div"; import { Button, DatePicker, Input, Label } from "@common/components/ui"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@common/components/ui/tooltip"; import { zodResolver } from "@hookform/resolvers/zod"; import { useEffect, useState } from "react"; import { useFieldArray, useForm } from "react-hook-form"; @@ -23,6 +26,12 @@ export default function CoMatRvw() { const [isPrcsMo, setIsPrcsMo] = useState<{ isModal: boolean; }>({ isModal: false }); + const [isTrfMo, setIsTrfMo] = useState<{ + isModal: boolean; + }>({ isModal: false, }); + const [isCmpttnMo, setIsCmpttnMo] = useState<{ + isModal: boolean; + }>({ isModal: false, }); const schema = z.object({ @@ -48,15 +57,6 @@ export default function CoMatRvw() { setObjSearch({ ...objSearch, sgg: String(val) }) }; - const { - fields: [], - append, - remove, - } = useFieldArray({ - control: form.control, - name: "", - }); - useEffect(() => { if (fromDate > toDate) { const newFromDate = new Date(toDate); @@ -613,7 +613,7 @@ export default function CoMatRvw() { @@ -667,7 +667,19 @@ export default function CoMatRvw() {
- + + + } + bodyClass="w-[40vw] max-w-none h-[70vh]" + open={isTrfMo.isModal} + onOpenChange={(open) => { + setIsTrfMo({ isModal: open }); + }} + /> + + } + bodyClass="w-[70vw] max-w-none h-[50vh]" + open={isCmpttnMo.isModal} + onOpenChange={(open) => { + setIsCmpttnMo({ isModal: open }); + }} + />
diff --git a/apps/wr/app/matMng/matDmd/ruseCaseMng/page.tsx b/apps/wr/app/matMng/coMat/ruseCaseMng/page.tsx similarity index 100% rename from apps/wr/app/matMng/matDmd/ruseCaseMng/page.tsx rename to apps/wr/app/matMng/coMat/ruseCaseMng/page.tsx diff --git a/apps/wr/app/matMng/matDmd/ruseRvwHstry/page.tsx b/apps/wr/app/matMng/coMat/ruseRvwHstry/page.tsx similarity index 80% rename from apps/wr/app/matMng/matDmd/ruseRvwHstry/page.tsx rename to apps/wr/app/matMng/coMat/ruseRvwHstry/page.tsx index d6a2b47ac..70d57d0b9 100644 --- a/apps/wr/app/matMng/matDmd/ruseRvwHstry/page.tsx +++ b/apps/wr/app/matMng/coMat/ruseRvwHstry/page.tsx @@ -3,10 +3,13 @@ import { useWrStore } from "@/app/store"; import { formTableName } from "@/components/lib/class/comClass"; import { getCity } from "@/components/lib/func/commom"; +import { CmpttnModal } from "@/components/ui/modal/coMat/cmpttnModal"; +import { CoMatModal } from "@/components/ui/modal/coMat/coMatModal"; import type { objSearchType } from "@/components/ui/modal/fcltReg/bdstRegModal/bdstRegModal"; -import { ContentsDiv, Form, FormField, FormUi, ScrollArea, SearchDiv, SearchFormLeft, SearchFormRight, SearchInput, SelectBox, Title, UiTable, type SelectDataType } from "@common/business_components/ui"; +import { ContentsDiv, Form, FormField, FormUi, ScrollArea, SearchDiv, SearchFormLeft, SearchFormRight, SearchInput, SelectBox, Title, UiModal, UiTable, type SelectDataType } from "@common/business_components/ui"; import ListDiv from "@common/business_components/ui/list_div"; import { Button, DatePicker, Input, Label } from "@common/components/ui"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@common/components/ui/tooltip"; import { zodResolver } from "@hookform/resolvers/zod"; import { useEffect, useState } from "react"; import { useFieldArray, useForm } from "react-hook-form"; @@ -40,18 +43,17 @@ export default function RuseRvwHstry() { fcltCpct: 0, } }); + const [isPrcsMo, setIsPrcsMo] = useState<{ + isModal: boolean; + }>({ isModal: false }); + const [isTrfMo, setIsTrfMo] = useState<{ + isModal: boolean; + }>({ isModal: false, }); + const [isCmpttnMo, setIsCmpttnMo] = useState<{ + isModal: boolean; + }>({ isModal: false, }); - const { - fields: [], - append, - remove, - } = useFieldArray({ - control: form.control, - name: "", - }); - -return ( - <> + return (
@@ -204,7 +206,7 @@ return ( />
- + 처리시설용량에 따른 공사비(백만원) @@ -302,7 +304,19 @@ return (
- +
+ + { }} + onPageChange={() => { }} + /> + + } + bodyClass="w-[25vw] max-w-none h-[60vh]" + open={isPrcsMo.isModal} + onOpenChange={(open) => { + setIsPrcsMo({ isModal: open }); + }} + /> + + } + bodyClass="w-[40vw] max-w-none h-[70vh]" + open={isTrfMo.isModal} + onOpenChange={(open) => { + setIsTrfMo({ isModal: open }); + }} + /> + + } + bodyClass="w-[70vw] max-w-none h-[50vh]" + open={isCmpttnMo.isModal} + onOpenChange={(open) => { + setIsCmpttnMo({ isModal: open }); + }} + />
- -) + ) } \ No newline at end of file diff --git a/apps/wr/app/matMng/matDmd/coReg/page.tsx b/apps/wr/app/matMng/coMng/coReg/page.tsx similarity index 100% rename from apps/wr/app/matMng/matDmd/coReg/page.tsx rename to apps/wr/app/matMng/coMng/coReg/page.tsx diff --git a/apps/wr/app/matMng/matDmd/coSttn/page.tsx b/apps/wr/app/matMng/coMng/coSttn/page.tsx similarity index 100% rename from apps/wr/app/matMng/matDmd/coSttn/page.tsx rename to apps/wr/app/matMng/coMng/coSttn/page.tsx diff --git a/apps/wr/app/matMng/matDmd/dmdReg/page.tsx b/apps/wr/app/matMng/coMng/dmdReg/page.tsx similarity index 100% rename from apps/wr/app/matMng/matDmd/dmdReg/page.tsx rename to apps/wr/app/matMng/coMng/dmdReg/page.tsx diff --git a/apps/wr/app/matMng/matDmd/drgtSttn/page.tsx b/apps/wr/app/matMng/coMng/drgtSttn/page.tsx similarity index 100% rename from apps/wr/app/matMng/matDmd/drgtSttn/page.tsx rename to apps/wr/app/matMng/coMng/drgtSttn/page.tsx diff --git a/apps/wr/app/matMng/matDmd/ldrmntCoSttn/page.tsx b/apps/wr/app/matMng/coMng/ldrmntCoSttn/page.tsx similarity index 100% rename from apps/wr/app/matMng/matDmd/ldrmntCoSttn/page.tsx rename to apps/wr/app/matMng/coMng/ldrmntCoSttn/page.tsx diff --git a/apps/wr/app/page.tsx b/apps/wr/app/page.tsx index dde060704..af9ef6950 100644 --- a/apps/wr/app/page.tsx +++ b/apps/wr/app/page.tsx @@ -111,22 +111,22 @@ export default function Home() {
@@ -138,17 +138,17 @@ export default function Home() {
diff --git a/apps/wr/app/store/matDmd/coMatRvw/headList.tsx b/apps/wr/app/store/matDmd/coMatRvw/headList.tsx index d77dff8c9..8caf7e1b2 100644 --- a/apps/wr/app/store/matDmd/coMatRvw/headList.tsx +++ b/apps/wr/app/store/matDmd/coMatRvw/headList.tsx @@ -106,4 +106,147 @@ export const coRvwNodeListExport: CommonTableProps[] = [ colSpan: 1, }, -]; \ No newline at end of file +]; + +export const cmpttnHeadListExport: CommonTableProps[] = [ + { + id: "ctpv", + title: "구분", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "sgg", + title: "처리시설 용량(m³)", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "500", + title: "500", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "1000", + title: "1,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + },{ + id: "2000", + title: "2,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "3000", //바꾸기 + title: "3,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "5000", //바꾸기 + title: "5,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "10000", //바꾸기 + title: "10,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "20000", //바꾸기 + title: "20,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "30000", //바꾸기 + title: "30,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "50000", //바꾸기 + title: "50,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "100000", //바꾸기 + title: "100,000", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + +]; + + +export const coModalHeadListExport: CommonTableProps[] = [ + { + id: "gubun", + title: "공사비/구분", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "a", + title: "기본조사설계비", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "aa", + title: "실시설계비", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "aaa", + title: "공사감리비", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, + { + id: "aaaa", + title: "시설부대비", + visible: true, + row: 1, + rowSpan: 1, + colSpan: 1, + }, +] \ No newline at end of file diff --git a/apps/wr/components/ui/modal/coMat/cmpttnModal.tsx b/apps/wr/components/ui/modal/coMat/cmpttnModal.tsx new file mode 100644 index 000000000..ab18e3542 --- /dev/null +++ b/apps/wr/components/ui/modal/coMat/cmpttnModal.tsx @@ -0,0 +1,36 @@ +"use client" + +import { cmpttnHeadListExport } from "@/app/store/matDmd/coMatRvw/headList"; +import { yearOptions } from "@/components/lib/func/commom" +import { SelectBox, UiTable } from "@common/business_components/ui" +import { Label } from "@common/components/ui" +import { useState } from "react"; + +export function CmpttnModal({ data }: { data: [] }) { + const [year, setYear] = useState(String(new Date().getFullYear())); + return ( + <> +

공사비 산정표 보기

+
+
+ + setYear(String(val))} /> +
+ { }} + onPageChange={() => { }} + /> + + ) +} \ No newline at end of file diff --git a/apps/wr/components/ui/modal/coMat/coMatModal.tsx b/apps/wr/components/ui/modal/coMat/coMatModal.tsx new file mode 100644 index 000000000..4717a89a3 --- /dev/null +++ b/apps/wr/components/ui/modal/coMat/coMatModal.tsx @@ -0,0 +1,32 @@ +"use client" + +import { coModalHeadListExport } from "@/app/store/matDmd/coMatRvw/headList"; +import { yearOptions } from "@/components/lib/func/commom" +import { SelectBox, UiTable } from "@common/business_components/ui" +import { Label } from "@common/components/ui" +import { useState } from "react"; + +export function CoMatModal({ data }: { data: [] }) { + const [year, setYear] = useState(String(new Date().getFullYear())); + return ( + <> +

요율표 보기

+
+
+ + setYear(String(val))} /> +
+ { }} pageSize={0} total={0} cellClick={undefined} /> + + ) +} \ No newline at end of file