fix(WEB): 검사의뢰서 문서 레이아웃 개선

- InspectionRequestDocument 구조 및 스타일 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-06 09:08:42 +09:00
parent dc0ce471aa
commit 16a349292b

View File

@@ -11,7 +11,6 @@
*/
import { ConstructionApprovalTable } from '@/components/document-system';
import { isOrderSpecSame } from '../mockData';
import type { InspectionRequestDocument as InspectionRequestDocumentType } from '../types';
interface InspectionRequestDocumentProps {
@@ -179,49 +178,65 @@ export function InspectionRequestDocument({ data }: InspectionRequestDocumentPro
</div>
</div>
{/* 검사 요청 시 필독 */}
<div className="border border-gray-400 mb-4">
<div className="bg-gray-800 text-white text-center py-1 font-bold border-b border-gray-400"> </div>
<div className="px-4 py-3 text-[11px] leading-relaxed text-center">
<p>
,
<br />
.
<br />
<span className="text-red-600 font-medium"> .</span>
</p>
<p className="mt-2 text-gray-600">
( .)
</p>
</div>
</div>
{/* 검사대상 사전 고지 정보 */}
<div className="border border-gray-400 mb-4">
<div className="bg-gray-200 text-center py-1 font-bold border-b border-gray-400"> </div>
<div className="bg-gray-800 text-white text-center py-1 font-bold border-b border-gray-400"> </div>
<table className="w-full">
<thead>
{/* 1단: 오픈사이즈 병합 */}
<tr className="bg-gray-100 border-b border-gray-300">
<th className="border-r border-gray-400 px-2 py-1 w-12 text-center" rowSpan={3}>No.</th>
<th className="border-r border-gray-400 px-2 py-1 w-16 text-center" rowSpan={3}></th>
<th className="border-r border-gray-400 px-2 py-1 w-20 text-center" rowSpan={3}></th>
<th className="border-r border-gray-400 px-2 py-1 text-center" colSpan={4}></th>
<th className="px-2 py-1 text-center" rowSpan={3}></th>
</tr>
{/* 2단: 발주 규격, 시공후 규격 */}
<tr className="bg-gray-100 border-b border-gray-300">
<th className="border-r border-gray-400 px-2 py-1 text-center" colSpan={2}> </th>
<th className="border-r border-gray-400 px-2 py-1 text-center" colSpan={2}> </th>
</tr>
{/* 3단: 가로, 세로 */}
<tr className="bg-gray-100 border-b border-gray-400">
<th className="border-r border-gray-400 px-2 py-1 w-10 text-center">No.</th>
<th className="border-r border-gray-400 px-2 py-1"></th>
<th className="border-r border-gray-400 px-2 py-1"></th>
<th className="border-r border-gray-400 px-2 py-1"></th>
<th className="border-r border-gray-400 px-2 py-1 text-center"> </th>
<th className="border-r border-gray-400 px-2 py-1 text-center"> </th>
<th className="border-r border-gray-400 px-2 py-1 text-center"> </th>
<th className="border-r border-gray-400 px-2 py-1 text-center"> </th>
<th className="border-r border-gray-400 px-2 py-1 text-center"></th>
<th className="px-2 py-1"></th>
<th className="border-r border-gray-400 px-2 py-1 w-16 text-center"></th>
<th className="border-r border-gray-400 px-2 py-1 w-16 text-center"></th>
<th className="border-r border-gray-400 px-2 py-1 w-16 text-center"></th>
<th className="border-r border-gray-400 px-2 py-1 w-16 text-center"></th>
</tr>
</thead>
<tbody>
{data.priorNoticeItems.map((item, index) => {
const isSame = isOrderSpecSame(item);
return (
<tr key={item.id} className="border-b border-gray-300">
<td className="border-r border-gray-300 px-2 py-1 text-center">{index + 1}</td>
<td className="border-r border-gray-300 px-2 py-1">{item.orderNumber}</td>
<td className="border-r border-gray-300 px-2 py-1">{item.floor}</td>
<td className="border-r border-gray-300 px-2 py-1">{item.symbol}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.orderWidth}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.orderHeight}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.constructionWidth}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.constructionHeight}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center font-medium">
<span className={isSame ? 'text-green-700' : 'text-red-700'}>
{isSame ? '일치' : '불일치'}
</span>
</td>
<td className="px-2 py-1">{item.changeReason || '-'}</td>
</tr>
);
})}
{data.priorNoticeItems.map((item, index) => (
<tr key={item.id} className="border-b border-gray-300">
<td className="border-r border-gray-300 px-2 py-1 text-center">{index + 1}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.floor}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.symbol}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.orderWidth}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.orderHeight}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.constructionWidth}</td>
<td className="border-r border-gray-300 px-2 py-1 text-center">{item.constructionHeight}</td>
<td className="px-2 py-1">{item.changeReason || '-'}</td>
</tr>
))}
{data.priorNoticeItems.length === 0 && (
<tr>
<td colSpan={10} className="px-2 py-4 text-center text-gray-400">
<td colSpan={8} className="px-2 py-4 text-center text-gray-400">
.
</td>
</tr>