wr: theme 적용1

This commit is contained in:
2026-06-24 15:13:16 +09:00
parent 99db9a0b77
commit 5d1ba3fd87
22 changed files with 186 additions and 58 deletions
@@ -432,7 +432,7 @@ export default function PublicReuseFaciltyInsert() {
<div className="card-header text-2xl">
등록된 재이용시설 정보가 없습니다.
</div>
<div className="!mx-[1.6rem] !p-0r flex flex-col items-center justify-center h-64 border rounded-md">
<div className="!mx-[1.6rem] !p-0 flex flex-col items-center justify-center h-64 border rounded-md">
<p className="text-3xl mb-4">
신규등록 버튼을 클릭하여 재이용시설을 등록해주세요.
</p>
+1 -1
View File
@@ -1,4 +1,4 @@
export const formTableName = 'text-xl my-4 font-bold'
export const commonButonSize = "sm"
export const formH1Class = "bg-[#eaf3fb] text-xl text-center border-2 p-2 mt-4 font-medium text-gray-500"
export const formH1Class = "form-section-title"
export const formH2Class = "text-xl my-4 underline font-bold"
@@ -1,4 +1,7 @@
"use client";
/**
* 표준공사비
*/
import { useWrStore } from "@/app/store";
import { usageProcData } from "@/app/store/matDmd/coMatRvw/headList";
import type {
@@ -59,14 +59,14 @@ export default function BdstAdd({ form, readonly }: { form: any; readonly?: bool
<>
<h1 className={formH1Class}>증축, 개축, 재축</h1>
{!readonly && (
<div className="flex justify-end gap-2 mt-4">
<div className="rainreg_actions">
<Button type="button" className="" size={"sm"} onClick={plusHist}>
이력추가
</Button>
<Button
type="button"
className="!bg-red-500 text-white"
variant="destructive"
size={"sm"}
onClick={removeSelected}
>
@@ -151,7 +151,7 @@ export default function BdstAdd({ form, readonly }: { form: any; readonly?: bool
</div>
</div>
))}
<div ref={bottomRef} className="border-b border-gray-300 my-4"> </div>
<div ref={bottomRef} className="rainreg_divider"> </div>
</>
)
}
@@ -266,7 +266,7 @@ export default function HtdflRegForm({
}, [isPowerPlant, form]);
return (
<div className="!mx-[1.6rem] !p-0r">
<div className="!mx-[1.6rem] !p-0">
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)}>
{/* <div className="flex justify-between items-center mx-3"> */}
@@ -0,0 +1,27 @@
@tailwind components;
@layer components {
.pbnstbuse_sum_input {
@apply w-32 rounded-md border border-input pr-8;
}
.pbnstbuse_demand_row {
@apply mt-3 grid grid-cols-12 gap-4 border-b border-border pb-3;
}
.pbnstbuse_modal_body {
@apply mx-auto w-full rounded-lg border border-border bg-background p-6 shadow-md;
}
.pbnstbuse_empty {
@apply !mx-[1.6rem] !p-0 flex h-64 flex-col items-center justify-center rounded-md border border-border text-label;
}
.pbnstbuse_empty_title {
@apply text-lg text-foreground;
}
.pbnstbuse_empty_desc {
@apply mb-4 text-sm text-label;
}
}
@@ -1,4 +1,5 @@
"use client";
import "./bugRegForm.css";
import { useWrStore } from "@/app/store";
import {
@@ -325,7 +326,7 @@ export function PbnstBuseForm({
return (
<>
{pbnstBiz && pbnstBiz?.length > 0 ? (
<div className=" !mx-[1.6rem] !p-0r">
<div className=" !mx-[1.6rem] !p-0">
{/* 차수별 등록 현황 폼 */}
<div className="justify-between">
<Form {...form}>
@@ -465,7 +466,7 @@ export function PbnstBuseForm({
type="text"
value={formatCommaNumber(sumCpct)}
readOnly={true}
className="w-32 border-gray-300 rounded pr-8 "
className="pbnstbuse_sum_input"
/>
{ppiYn === "Y" ? (
<>
@@ -481,7 +482,8 @@ export function PbnstBuseForm({
<Button
type="button"
size={commonButonSize}
className="!text-xl !bg-red-500 !text-white ml-1"
variant="destructive"
className="!text-xl ml-1"
onClick={removeSelected}
disabled={readonly}
>
@@ -563,7 +565,7 @@ export function PbnstBuseForm({
{fcDemands.map((field, index) => (
<div
key={field.id} // useFieldArray의 고유 id를 key로 사용
className="grid grid-cols-12 gap-4 mt-3 border-b border-gray-400 pb-3"
className="pbnstbuse_demand_row"
>
<div key={index + "keySon1"} className="col-span-4">
<FormField
@@ -787,7 +789,7 @@ export function PbnstBuseForm({
data: data as DemandCompType,
});
}}
bodyClassNm={"w-full mx-auto bg-white rounded-lg shadow-md p-6"}
bodyClassNm={"pbnstbuse_modal_body"}
openNetwork={true}
></SdmInsertForm>
}
@@ -795,9 +797,9 @@ export function PbnstBuseForm({
></UiModal>
</div>
) : (
<div className="!mx-[1.6rem] !p-0r flex flex-col items-center justify-center h-64 text-gray-500 border rounded-md">
<p className="text-lg">등록된 차수별 정보가 없습니다.</p>
<p className="text-sm mb-4">
<div className="pbnstbuse_empty">
<p className="pbnstbuse_empty_title">등록된 차수별 정보가 없습니다.</p>
<p className="pbnstbuse_empty_desc">
아래 버튼을 눌러 신규 차수 정보를 등록해주세요.
</p>
<Button
@@ -0,0 +1,19 @@
@tailwind components;
@layer components {
.busewq_input {
@apply w-full rounded-md border border-input py-2 pr-16 text-right;
}
.busewq_suffix {
@apply pointer-events-none absolute inset-y-0 right-3 flex items-center text-xl text-label;
}
.busewq_ph_input {
@apply w-28 !text-xl;
}
.busewq_ph_range {
@apply text-xl text-foreground;
}
}
@@ -1,3 +1,5 @@
import "./buseWaterQulity.css";
import type { PbnstRegArrrayType } from "@/app/store/ruseFcltMng/fcltReg/pbnstReg/type";
import { formH1Class } from "@/components/lib/class/comClass";
import { FormField, FormUi, SelectBox } from "@common/business_components/ui";
@@ -119,7 +121,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -133,7 +135,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={6}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -156,7 +158,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -171,7 +173,7 @@ export function BuseWaterQulity({
maxLength={6}
/>
{/* TODO: 총대장균군수 확인 필요*/}
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -191,7 +193,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -205,7 +207,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={6}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이상
</span>
</div>
@@ -225,7 +227,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -239,7 +241,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={6}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이상
</span>
</div>
@@ -298,7 +300,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -312,7 +314,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={6}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -332,7 +334,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -346,7 +348,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={6}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -367,7 +369,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -381,7 +383,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={6}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -401,7 +403,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -415,7 +417,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={7}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -436,7 +438,7 @@ export function BuseWaterQulity({
<div className="relative flex-1 min-w-0">
<Input
type="text"
className="w-full pr-16 border py-2 text-right rounded-md"
className="busewq_input"
placeholder=""
onChange={(e) => {
const inputValue = e.target.value.replace(/[^0-9.]/g, ""); // 숫자만 저장
@@ -450,7 +452,7 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={7}
/>
<span className="text-xl absolute inset-y-0 right-3 flex items-center text-gray-500 pointer-events-none">
<span className="busewq_suffix">
이하
</span>
</div>
@@ -463,7 +465,7 @@ export function BuseWaterQulity({
<Label className="text-xl">수소이온농도(pH)</Label>
<div className="flex flex-row items-center gap-2">
<Input
className="!text-xl w-28"
className="busewq_ph_input"
placeholder=""
type="text"
onChange={(e) =>
@@ -474,9 +476,9 @@ export function BuseWaterQulity({
readOnly={readonly}
maxLength={3}
/>
<span className="text-xl">~</span>
<span className="busewq_ph_range">~</span>
<Input
className="!text-xl w-28"
className="busewq_ph_input"
placeholder=""
type="text"
onChange={(e) => {
@@ -0,0 +1,7 @@
@tailwind components;
@layer components {
.pbnstmng_file_link {
@apply block cursor-pointer text-2xl text-primary hover:underline;
}
}
@@ -1,4 +1,5 @@
"use client";
import "./mngRegForm.css";
import { useWrStore } from "@/app/store";
import {
@@ -265,7 +266,7 @@ export function PbnstMngForm({
return (
<div className=" !mx-[1.6rem] !p-0r">
<div className=" !mx-[1.6rem] !p-0">
<div>
<Form {...form}>
{/* <form onSubmit={form.handleSubmit()}> */}
@@ -332,13 +333,14 @@ export function PbnstMngForm({
>
추가등록
</Button>
<Button
type="button"
size={commonButonSize}
className="!text-xl !bg-red-500 !text-white ml-1"
onClick={removeSelected}
disabled={readonly}
>
<Button
type="button"
size={commonButonSize}
variant="destructive"
className="!text-xl ml-1"
onClick={removeSelected}
disabled={readonly}
>
삭제
</Button>
</div>
@@ -442,7 +444,7 @@ export function PbnstMngForm({
{relationfiles?.map((item, index) => (
<span
key={index + "plan"}
className="text-2xl block cursor-pointer text-blue-600 hover:underline"
className="pbnstmng_file_link"
onClick={() => fileDownLoadName(item.atflCd, item.file.name)}
>
{item.file.name}
@@ -481,7 +483,7 @@ export function PbnstMngForm({
{planFiles?.map((item, index) => (
<span
key={index + "plan"}
className="text-2xl block cursor-pointer text-blue-600 hover:underline"
className="pbnstmng_file_link"
onClick={() => fileDownLoadName(item.atflCd, item.file.name)}
>
{item.file.name}
@@ -0,0 +1,23 @@
@tailwind components;
@layer components {
.rainreg_header_note {
@apply mt-3 ml-1 text-2xl font-bold text-foreground;
}
.rainreg_header_title {
@apply col-span-10 text-2xl font-medium text-label;
}
.rainreg_section_note {
@apply col-span-10 mt-4 pl-3 text-xl text-foreground;
}
.rainreg_actions {
@apply mt-4 flex justify-end gap-2;
}
.rainreg_divider {
@apply my-4 border-b border-border;
}
}
@@ -1,5 +1,7 @@
"use client";
import "./rainRegForm.css";
import { useWrStore } from "@/app/store";
import {
rainZod,
@@ -180,19 +182,19 @@ export default function RainRegForm({
}, [rainForm]);
return (
<div className="!mx-[1.6rem] !p-0r">
<div className="!mx-[1.6rem] !p-0">
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)}>
<div>
<h1 className="text-2xl font-bold text-gray-900 mt-3 ml-1">
<h1 className="rainreg_header_note">
{readonly && `(시설명 : ${rainForm?.bdstNm})`}
</h1>
<div className="grid grid-cols-12 flex items-center card-header">
<h1 className="text-2xl font-medium text-label col-span-10">
<h1 className="rainreg_header_title">
{isModal ? "건축물 정보" : "빗물이용시설 정보"}
</h1>
{!readonly && (
<div className="flex justify-end gap-2 mt-4">
<div className="rainreg_actions">
<Button
type="submit"
className="col-start-12 col-span-1"
@@ -202,7 +204,7 @@ export default function RainRegForm({
</Button>
<Button
type="button"
className="!bg-red-500 text-white"
variant="destructive"
size={"sm"}
onClick={onDelete}
>
@@ -215,7 +217,7 @@ export default function RainRegForm({
{/* <ScrollArea className={divStyle}> */}
{isModal && rainForm != undefined ? <BdstReg form={form} /> : <></>}
{isModal ? (
<h1 className="pl-3 text-xl col-span-10 mt-4">
<h1 className="rainreg_section_note">
빗물이용시설 정보{" "}
</h1>
) : (
@@ -455,7 +457,7 @@ export default function RainRegForm({
// <div className="flex items-center gap-2">
<FormUi label="처리공정">
<Input
className={" h-full !text-xl col-span-4"}
className={selectClass}
placeholder="처리공정 입력"
type="text"
value={field.value ?? ""}
@@ -174,7 +174,7 @@ export default function RswtrRegForm({
return (
<div className="!mx-[1.6rem] !p-0r">
<div className="!mx-[1.6rem] !p-0">
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)}>
{/* <div className="flex justify-between items-center mx-3"> */}
@@ -0,0 +1,19 @@
@tailwind components;
@layer components {
.wrsearchinput_field {
@apply h-[3.2rem] w-full rounded-md border border-input pl-3 !text-xl text-label focus:outline-none focus:ring-2 focus:ring-ring;
}
.wrsearchinput_list {
@apply z-10 mt-2 h-[90px] w-full overflow-auto rounded-md border border-border bg-popover shadow-lg;
}
.wrsearchinput_item {
@apply w-full cursor-pointer overflow-auto px-5 py-3 text-left !text-xl text-foreground hover:bg-accent;
}
.wrsearchinput_empty {
@apply w-full overflow-auto px-5 py-3 !text-xl text-label;
}
}
@@ -1,3 +1,5 @@
import "./searchInput.css";
import { Input } from "@common/components/ui";
import React, { useCallback, useEffect, useRef, useState } from "react";
@@ -73,18 +75,18 @@ export default function SearchInputText({
value={textValue}
onChange={handleInputChange}
/* onFocus={() => setIsOpen(true)} */
className="w-full h-[3.2rem] !text-xl pl-3 text-gray-600 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
className="wrsearchinput_field"
placeholder={`${label}을(를) 입력하세요`}
readOnly={readonly} // readonly 상태 적용
/>
{isOpen && (
<div className=" z-1 w-full mt-2 bg-white border border-gray-300 rounded-md shadow-lg h-90 overflow-auto">
<div className="wrsearchinput_list">
<div className="max-h-72">
{searchList && searchList.length > 0 ? (
searchList.map((item: SearchType, index: number) => (
<div
key={index}
className="!text-xl w-full text-left px-5 py-3 hover:bg-gray-100 cursor-pointer overflow-auto"
className="wrsearchinput_item"
onClick={() => handleSuggestionClick(item.searchNm)}
role="button"
tabIndex={0}
@@ -99,7 +101,7 @@ export default function SearchInputText({
</div>
))
) : (
<div className="!text-xl w-full px-5 py-3 hover:bg-gray-100 cursor-pointer overflow-auto">
<div className="wrsearchinput_empty">
검색 결과가 없습니다.
</div>
)}
@@ -43,7 +43,7 @@ export function GuideDetailsTable({
return (
<>
<div className={`card !m-[1.2rem] !p-0r `}>
<div className={`card !m-[1.2rem] !p-0 `}>
<Table variant="secondary" className="table-fixed">
<colgroup>
{headList
@@ -68,6 +68,10 @@
@apply border-b-[#3f4042];
}
.form-section-title {
@apply bg-[#5e7b9c] text-[#fff];
}
.gis-layer-panel {
background: #111214;
border-right-color: #2f3136;
@@ -22,6 +22,10 @@
@apply border-b-[#3f4042];
}
.form-section-title {
@apply bg-[#eaf3fb] text-[#647784];
}
}
@@ -22,6 +22,10 @@
@apply border-b-[#3f4042];
}
.form-section-title {
@apply bg-[#ebf7f7] text-[#64908f];
}
}
@@ -22,6 +22,10 @@
@apply border-b-[#3f4042];
}
.form-section-title {
@apply bg-[#f6f6f9] text-[#808080];
}
}
input[type="file"] {
+4
View File
@@ -14,6 +14,10 @@
@apply -mx-[0.6rem] mt-2 flex items-center justify-center border-t border-t-[#e1e7eb] py-4;
}
.form-section-title {
@apply mt-4 border border-border bg-[#eaf3fb] p-2 text-center text-xl font-medium text-[#647784];
}
input[type="file"] {