diff --git a/resources/views/documents/show.blade.php b/resources/views/documents/show.blade.php index f5335e13..91b67732 100644 --- a/resources/views/documents/show.blade.php +++ b/resources/views/documents/show.blade.php @@ -108,12 +108,13 @@ class="bg-gray-200 hover:bg-gray-300 text-gray-700 px-4 py-2 rounded-lg transiti
@foreach($document->template->basicFields as $field) @php - $fieldData = $document->data->where('field_key', $field->field_key)->first(); + $fieldKey = \Illuminate\Support\Str::slug($field->label, '_'); + $fieldData = $document->data->where('field_key', $fieldKey)->first(); $value = $fieldData?->field_value ?? '-'; @endphp -
+
{{ $field->label }}
-
{{ $value }}
+
{{ $value }}
@endforeach
@@ -124,8 +125,163 @@ class="bg-gray-200 hover:bg-gray-300 text-gray-700 px-4 py-2 rounded-lg transiti @if($document->template?->sections && $document->template->sections->count() > 0) @foreach($document->template->sections as $section)
-

{{ $section->name }}

-

테이블 형태의 데이터 표시는 추후 구현 예정입니다.

+

{{ $section->title }}

+ @if($section->image_path) + {{ $section->title }} + @endif + + {{-- 검사 데이터 테이블 (읽기 전용) --}} + @if($section->items->count() > 0 && $document->template->columns->count() > 0) +
+ + {{-- 테이블 헤더 --}} + + + @foreach($document->template->columns as $col) + @if($col->column_type === 'complex' && $col->sub_labels) + + @else + + @endif + @endforeach + + {{-- 서브 라벨 행 --}} + @if($document->template->columns->contains(fn($c) => $c->column_type === 'complex' && $c->sub_labels)) + + @foreach($document->template->columns as $col) + @if($col->column_type === 'complex' && $col->sub_labels) + @foreach($col->sub_labels as $subLabel) + + @endforeach + @endif + @endforeach + + @endif + + {{-- 테이블 바디 (읽기 전용) --}} + + @foreach($section->items as $rowIndex => $item) + + @foreach($document->template->columns as $col) + @if($col->column_type === 'complex' && $col->sub_labels) + {{-- complex: 서브 라벨별 데이터 --}} + @foreach($col->sub_labels as $subIndex => $subLabel) + @php + $fieldKey = "s{$section->id}_r{$rowIndex}_c{$col->id}_sub{$subIndex}"; + $savedVal = $document->data->where('field_key', $fieldKey)->first()?->field_value ?? ''; + @endphp + + @endforeach + @elseif($col->column_type === 'select') + {{-- select: 판정 결과 --}} + @php + $fieldKey = "s{$section->id}_r{$rowIndex}_c{$col->id}"; + $savedVal = $document->data->where('field_key', $fieldKey)->first()?->field_value ?? ''; + @endphp + + @elseif($col->column_type === 'check') + {{-- check: 체크 결과 --}} + @php + $fieldKey = "s{$section->id}_r{$rowIndex}_c{$col->id}"; + $savedVal = $document->data->where('field_key', $fieldKey)->first()?->field_value ?? ''; + @endphp + + @elseif($col->column_type === 'measurement') + {{-- measurement: 수치 데이터 --}} + @php + $fieldKey = "s{$section->id}_r{$rowIndex}_c{$col->id}"; + $savedVal = $document->data->where('field_key', $fieldKey)->first()?->field_value ?? ''; + @endphp + + @else + {{-- text: 정적 데이터 또는 입력된 텍스트 --}} + @php + $staticValue = match(true) { + str_contains(strtolower($col->label), 'no') && strlen($col->label) <= 4 => $rowIndex + 1, + in_array($col->label, ['검사항목', '항목']) => $item->item, + in_array($col->label, ['검사기준', '기준']) => $item->standard, + in_array($col->label, ['검사방식', '방식', '검사방법']) => $item->method, + in_array($col->label, ['검사주기', '주기']) => $item->frequency, + in_array($col->label, ['규격', '적용규격', '관련규정']) => $item->regulation, + in_array($col->label, ['분류', '카테고리']) => $item->category, + default => null, + }; + @endphp + @if($staticValue !== null) + + @else + @php + $fieldKey = "s{$section->id}_r{$rowIndex}_c{$col->id}"; + $savedVal = $document->data->where('field_key', $fieldKey)->first()?->field_value ?? ''; + @endphp + + @endif + @endif + @endforeach + + @endforeach + +
+ {{ $col->label }} + + {{ $col->label }} +
+ {{ $subLabel }} +
{{ $savedVal ?: '-' }} + @if($savedVal) + + {{ $savedVal }} + + @else + - + @endif + + @if($savedVal === 'OK') + + + + @else + - + @endif + {{ $savedVal ?: '-' }} + {{ $staticValue }} + {{ $savedVal ?: '-' }}
+
+ @endif + + {{-- 종합판정 / 비고 (마지막 섹션에만) --}} + @if($loop->last && $document->template->footer_judgement_label) +
+
+
{{ $document->template->footer_remark_label ?? '비고' }}
+ @php + $remarkVal = $document->data->where('field_key', 'footer_remark')->first()?->field_value ?? ''; + @endphp +
{{ $remarkVal ?: '-' }}
+
+
+
{{ $document->template->footer_judgement_label ?? '종합판정' }}
+ @php + $judgementVal = $document->data->where('field_key', 'footer_judgement')->first()?->field_value ?? ''; + @endphp +
+ @if($judgementVal) + + {{ $judgementVal }} + + @else + - + @endif +
+
+
+ @endif
@endforeach @endif