{{-- Disabled for RMR/CMR reports: section not included in wizard (MecReportType::partBWizardSections). --}} @php $qbCatalog = $qbCatalog ?? ['domains' => [], 'activities' => [], 'tests' => []]; /** @var \Illuminate\Support\Collection $qbTestsById */ $qbTestsById = $qbTestsById ?? collect(); $domainsOld = old('report.part_b.quantitative_breakdown.domains'); if (! is_array($domainsOld) || count($domainsOld) === 0) { $domainsOld = [[ 'report_qb_domain_id' => '', 'activities' => [[ 'report_qb_test_definition_id' => '', 'achieved' => '', 'gap' => '0', 'remarks' => '', ]], ]]; } $domainsCol = collect($qbCatalog['domains'] ?? []); $activitiesCol = collect($qbCatalog['activities'] ?? []); $testsCol = collect($qbCatalog['tests'] ?? []); $reportQbCatalogForJs = [ 'domains' => $domainsCol->values(), 'activities' => $activitiesCol->values(), 'tests' => $testsCol->values(), ]; $qbFreeDimensionQuality = old('report.part_b.quantitative_breakdown.discrepancy_dimension_quality_material', ''); $qbFreeQualityTestStandards = old('report.part_b.quantitative_breakdown.discrepancy_quality_test_pc1_pec', ''); @endphp {{-- Part B §1 — Catalog from DB; only Achieved, Gap, Remarks editable --}}
@foreach ($domainsOld as $dIdx => $domainRow) @php $activitiesRows = $domainRow['activities'] ?? []; if (! is_array($activitiesRows) || count($activitiesRows) === 0) { $activitiesRows = [[ 'report_qb_test_definition_id' => '', 'achieved' => '', 'gap' => '0', 'remarks' => '', ]]; } $domainIdVal = old('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.report_qb_domain_id', $domainRow['report_qb_domain_id'] ?? ''); $activitiesForDomain = $domainIdVal !== '' && $domainIdVal !== null ? $activitiesCol->where('report_qb_domain_id', (int) $domainIdVal) : collect(); @endphp
Selected domain
@error('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.report_qb_domain_id') {{ $message }} @enderror
@foreach ($activitiesRows as $aIdx => $row) @php $tid = old('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.report_qb_test_definition_id', $row['report_qb_test_definition_id'] ?? ''); /** @var \App\Models\ReportQbTestDefinition|null $testDef */ $testDef = $tid !== '' && $tid !== null && $qbTestsById->has($tid) ? $qbTestsById->get($tid) : null; $activityIdForRow = $testDef ? (string) $testDef->report_qb_activity_id : ''; $testsForActivity = $activityIdForRow !== '' ? $testsCol->where('report_qb_activity_id', (int) $activityIdForRow) : collect(); $achievedVal = old('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.achieved', $row['achieved'] ?? ''); $gapVal = old('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.gap', $row['gap'] ?? '0'); if ($gapVal === '') { $gapVal = '0'; } $remarksVal = old('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.remarks', $row['remarks'] ?? ''); @endphp @endforeach
Activity / material Name of test Required Achieved Gap Unit Standard Remarks
@error('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.report_qb_test_definition_id') {{ $message }} @enderror {{ $testDef ? ($testDef->required_text ?: '—') : '—' }} @error('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.achieved') {{ $message }} @enderror @error('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.gap') {{ $message }} @enderror {{ $testDef && $testDef->unit !== null && $testDef->unit !== '' ? $testDef->unit : '—' }} {{ $testDef && $testDef->standard !== null && $testDef->standard !== '' ? $testDef->standard : '—' }} @error('report.part_b.quantitative_breakdown.domains.'.$dIdx.'.activities.'.$aIdx.'.remarks') {{ $message }} @enderror
@endforeach
Discrepancy in Dimension in / Quality of material against design parameters/Structure @error('report.part_b.quantitative_breakdown.discrepancy_dimension_quality_material') {{ $message }} @enderror
Discrepancy in quality test against approved PC-1/ PEC standards @error('report.part_b.quantitative_breakdown.discrepancy_quality_test_pc1_pec') {{ $message }} @enderror
@push('scripts') @endpush