feat(WEB): 출고관리 대폭 개선, 차량배차관리 신규 추가 및 QMS/캘린더 기능 강화

- 출고관리: ShipmentCreate/Detail/Edit/List 개선, ShipmentOrderDocument 신규 추가
- 차량배차관리: VehicleDispatchManagement 모듈 신규 추가
- QMS: InspectionModalV2 개선
- 캘린더: WeekTimeView 신규 추가, CalendarHeader/types 확장
- 문서: ConstructionApprovalTable/SalesOrderDocument/DeliveryConfirmation/ShippingSlip 개선
- 작업지시서: 검사보고서/작업일지 문서 개선
- 템플릿: IntegratedListTemplateV2/UniversalListPage 기능 확장

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-02 11:14:05 +09:00
parent e684c495ee
commit 1a69324d59
41 changed files with 4134 additions and 1440 deletions

View File

@@ -54,58 +54,58 @@ export function ConstructionApprovalTable({
};
return (
<table className={cn('border-collapse border border-gray-300 text-sm', className)}>
<table className={cn('border-collapse border border-gray-400 text-sm', className)}>
<tbody>
{/* 헤더 행 */}
<tr>
<th
rowSpan={3}
className="border border-gray-300 px-2 py-1 bg-gray-50 text-center w-8 align-middle"
className="border border-gray-400 px-2 py-1 bg-gray-50 text-center w-8 align-middle"
>
<span className="writing-vertical"><br /></span>
</th>
<th className="border border-gray-300 px-3 py-1 bg-gray-50 text-center w-16">
<th className="border border-gray-400 px-3 py-1 bg-gray-50 text-center w-16">
{labels.writer}
</th>
<th className="border border-gray-300 px-3 py-1 bg-gray-50 text-center w-16">
<th className="border border-gray-400 px-3 py-1 bg-gray-50 text-center w-16">
{labels.approver1}
</th>
<th className="border border-gray-300 px-3 py-1 bg-gray-50 text-center w-16">
<th className="border border-gray-400 px-3 py-1 bg-gray-50 text-center w-16">
{labels.approver2}
</th>
<th className="border border-gray-300 px-3 py-1 bg-gray-50 text-center w-16">
<th className="border border-gray-400 px-3 py-1 bg-gray-50 text-center w-16">
{labels.approver3}
</th>
</tr>
{/* 이름 행 */}
<tr>
<td className="border border-gray-300 px-3 py-2 text-center h-10">
<td className="border border-gray-400 px-3 py-2 text-center h-10">
{approvers.writer?.name || ''}
</td>
<td className="border border-gray-300 px-3 py-2 text-center h-10">
<td className="border border-gray-400 px-3 py-2 text-center h-10">
{approvers.approver1?.name || ''}
</td>
<td className="border border-gray-300 px-3 py-2 text-center h-10">
<td className="border border-gray-400 px-3 py-2 text-center h-10">
{approvers.approver2?.name || ''}
</td>
<td className="border border-gray-300 px-3 py-2 text-center h-10">
<td className="border border-gray-400 px-3 py-2 text-center h-10">
{approvers.approver3?.name || ''}
</td>
</tr>
{/* 부서 행 */}
<tr>
<td className="border border-gray-300 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
<td className="border border-gray-400 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
{approvers.writer?.department || '부서명'}
</td>
<td className="border border-gray-300 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
<td className="border border-gray-400 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
{approvers.approver1?.department || '부서명'}
</td>
<td className="border border-gray-300 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
<td className="border border-gray-400 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
{approvers.approver2?.department || '부서명'}
</td>
<td className="border border-gray-300 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
<td className="border border-gray-400 px-3 py-1 text-center text-xs text-gray-500 whitespace-nowrap">
{approvers.approver3?.department || '부서명'}
</td>
</tr>