[as instl] 설치인가 등록페이지 설정

This commit is contained in:
2026-05-21 13:42:50 +09:00
parent 9e7dea7e9f
commit 9dec42a584
@@ -32,6 +32,24 @@ const emptyAmt = (): BzAmtRow => ({ bscPl: "", budgetReflct: "", thtiDsgn: "" })
const num = (v: string) => parseFloat(v.replace(/,/g, "") || "0");
const fmt = (v: number) => (isNaN(v) ? "" : v.toLocaleString());
/* ------------------------------------------------------------------ */
/* 공통 셀 컴포넌트 (컴포넌트 외부에 선언해야 re-mount 방지) */
/* ------------------------------------------------------------------ */
const NumCell = ({ value, onChange }: { value: string; onChange: (v: string) => void }) => (
<td>
<input
type="text"
className="cnfm-input w-full min-w-0 text-right"
value={value}
onChange={(e) => onChange(e.target.value)}
/>
</td>
);
const ReadCell = ({ value }: { value: string | number }) => (
<td className="bg-gray-50 pr-2 text-right text-[1.25rem] font-semibold">{value}</td>
);
/* ------------------------------------------------------------------ */
/* 메인 컴포넌트 */
/* ------------------------------------------------------------------ */
@@ -180,22 +198,6 @@ function CnfmRegistPage() {
setter((prev) => ({ ...prev, [col]: val }));
}
/* ── 공통 숫자 셀 ── */
const NumCell = ({ value, onChange }: { value: string; onChange: (v: string) => void }) => (
<td>
<input
type="text"
className="cnfm-input w-full text-right"
value={value}
onChange={(e) => onChange(e.target.value)}
/>
</td>
);
const ReadCell = ({ value }: { value: string | number }) => (
<td className="bg-gray-50 pr-2 text-right text-[1.25rem] font-semibold">{value}</td>
);
/* ---------------------------------------------------------------- */
return (
<div className="mt-6 space-y-4">
@@ -484,24 +486,20 @@ function CnfmRegistPage() {
총사업비 <span className="text-[1.2rem] font-normal text-gray-400">(단위: 백만원)</span>
</h3>
<div className="cnfm-table-wrap">
<table className="cnfm-table">
<table className="cnfm-table w-full table-fixed">
<thead>
<tr>
<th colSpan={2} className="w-[20rem]">
<th colSpan={2} className="w-[30rem]" rowSpan={2}>
구분
</th>
<th>예산반영(A)</th>
<th>표준사업비(B)</th>
<th>금회설계시(C)</th>
<th rowSpan={2}>예산반영(A)</th>
<th rowSpan={2}>표준사업비(B)</th>
<th rowSpan={2}>금회설계시(C)</th>
<th colSpan={2}>증감</th>
</tr>
<tr>
<th colSpan={2}></th>
<th></th>
<th></th>
<th></th>
<th>(C-B)</th>
<th>%</th>
<th className="w-[12rem]">(C-B)</th>
<th className="w-[6rem]">%</th>
</tr>
</thead>
<tbody>