wr: 지도 팝업 제목 style 통일

This commit is contained in:
2026-06-29 16:53:43 +09:00
parent 9a6cc1779f
commit 951e2c1f89
5 changed files with 24 additions and 19 deletions
@@ -97,14 +97,13 @@ export default function MapFeaturePopup() {
return (
<>
{isDetail ? (
<div className="box-border m-0 bg-background p-4 pb-24 text-foreground md:p-6">
<div className="box-border m-0 min-h-screen bg-background text-foreground">
<div className="flex min-h-screen flex-col overflow-auto p-4 pb-24 md:p-6">
{layerNm === "tb_wr_bdst_ruse_fclt" ? (
<RuseDetailPopup bscFctCd={isDetail} />
) : layerNm === "tb_il_swage_prcs_fclt" ? (
<div style={{ overflowX: "hidden" }}>
<div className="flex justify-between items-center mb-4">
<Title title="하수처리시설 상세정보" />
</div>
<Title title="하수처리시설 상세정보" />
{/* 높이 조정 */}
<UiTable
tableData={isDetail || []}
@@ -114,6 +113,7 @@ export default function MapFeaturePopup() {
headName={"위치정보"}
cellClick={() => {}}
onPageChange={() => {}}
isHideCount={true}
/>
<UiTable
tableData={isDetail || []}
@@ -123,6 +123,7 @@ export default function MapFeaturePopup() {
headName={"기본정보"}
cellClick={() => {}}
onPageChange={() => {}}
isHideCount={true}
/>
</div>
) : layerNm === "tb_wr_tmpr_dmd_co" ? (
@@ -152,6 +153,7 @@ export default function MapFeaturePopup() {
isMap={true}
/>
)}
</div>
</div>
) : (
<></>
@@ -1,6 +1,7 @@
import { useWrStore } from "@/app/store";
import type { customPbnst } from "@/app/store/ruseFcltMng/fcltReg/pbnstReg/type";
import { PbnstSttnModal } from "@/components/ui/modal/sttn/pbnstSttnModal/pbnstSttnModal";
import { Title } from "@common/business_components/ui";
import {
Tabs,
TabsContent,
@@ -39,6 +40,7 @@ export function RuseDetailPopup({ bscFctCd }: { bscFctCd: string }) {
if (!(ruseDetailList && ruseDetailList[0])) return;
return (
<div className="">
<Title title="하수재이용시설 상세정보" />
<Tabs value={fcltTab} onValueChange={setFcltTab}>
<TabsList className="mt-2 mb-3 gap-2 flex flex-wrap">
{ruseDetailList.map((item, index) => {
@@ -34,7 +34,7 @@ import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import { z } from "zod";
export function PbnstSttnModal({ data, titleVisible,isMap}: { data: customPbnst; titleVisible?: boolean ,isMap?:boolean}) {
export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boolean }) {
const { pbnstSttn, prfmnc, pbnstPrfmncSttn } = useWrStore((state) => state);
const [fcltTab, setFcltTab] = useState<string>("fclt");
const [ruseTab, setRuseTab] = useState<string>("totalPrf");
@@ -254,17 +254,17 @@ export function PbnstSttnModal({ data, titleVisible,isMap}: { data: customPbnst;
}
}, [data, form])
const Wrapper: React.ElementType = isMap ?"div": ScrollArea;
const Wrapper: React.ElementType = isMap ? "div" : ScrollArea;
return (
<>
<div className="min-h-0 px-4 md:px-6 py-4">
{titleVisible && (
{!isMap && (
<>
<Title title={"하수재이용 시설 상세정보"} />
<Title title={"하수재이용시설 상세정보"} />
</>
)}
<Wrapper className={ "h-[70vh]" }>
<Wrapper className={isMap ? "min-h-0" : "h-[70vh]"}>
<PbnstMngForm
form={form}
formType={"sttn"}
@@ -4,7 +4,7 @@ import type { customLdrmnt } from "@/app/store/matDmd/ldrmntCoSttn";
import { ldrmntZod } from "@/app/store/matDmd/ldrmntCoSttn/headList";
import { selectClass } from "@/app/store/ruseFcltMng/fcltReg/rainReg";
import { formatCommaNumber, handleCommaNumberChange } from "@/components/lib/func/common";
import { Form, FormField, FormUi, ScrollArea } from "@common/business_components/ui";
import { Form, FormField, FormUi, ScrollArea, Title } from "@common/business_components/ui";
import { Button, Input } from "@common/components/ui";
import { zodResolver } from "@hookform/resolvers/zod";
import { useEffect } from "react";
@@ -53,9 +53,9 @@ export default function CoDetailModal({
<Form {...form}>
<form onSubmit={form.handleSubmit(onFormSubmit)}>
<div className="grid grid-cols-12 items-center card-header">
<h1 className="text-2xl font-medium text-label col-span-10">
잠재수요처 상세정보
</h1>
<div className="col-span-10">
<Title title="잠재수요처 상세정보" />
</div>
{!isMap ? (
<Button
type="submit"
@@ -8,7 +8,7 @@ import { toast, Toaster } from "sonner";
import * as z from "zod";
import type { SelectDataType } from "../search_input_select";
import { getCookie } from "@common/components/lib";
import { Title } from "@common/business_components/ui";
type thisProps = {
selectSidoData: SelectDataType[];
@@ -19,7 +19,7 @@ type thisProps = {
bodyClassNm?: string;
updateList?:DemandCompType;
readOnly?:boolean;
openNetwork:boolean
openNetwork:boolean;
}
const createFormSchema = (isBznmTotNoDisabled: boolean, isDuplicate: boolean ,updateList?:DemandCompType) => z.object({
@@ -161,10 +161,11 @@ export default function SdmInsertForm({selectSidoData, selectSigunData, dataList
return (
<>
<div className="text-center mb-8">
<h1 className="text-4xl font-bold text-gray-900 underline">
{!updateList? '수요처 등록' :readOnly==true? '수요처 정보':'수요처 수정'}
</h1>
<div className="mb-8">
<Title
title={!updateList ? '수요처 등록' : readOnly == true ? '수요처 상세정보' : '수요처 수정'}
></Title>
</div>
<div className= {bodyClassNm?bodyClassNm:"!max-w-3xl mx-auto bg-white rounded-lg shadow-md p-6"}>