@extends('layouts.app') @section('title', '年度統計表') @push('styles') @endpush @section('content')
{{-- 控制區 --}}
{{-- 類型篩選 --}}
@php $typeFilterOpts = ['all' => '全部'] + $projectTypes->pluck('label','label')->all(); @endphp @foreach($typeFilterOpts as $val => $lbl) @endforeach
@if($projectsByType->isEmpty())
{{ $currentYear }} 年尚無工時記錄。
@else
{{ $currentYear }} 年度工時統計
@foreach(range(1, 12) as $m) @endforeach @foreach($projectsByType as $type => $projects) @foreach($projects as $project) @php $rowTotal = $rowTotalMd = 0; for($m = 1; $m <= 12; $m++) { $rowTotal += $matrix[$project->id][$m]['hours'] ?? 0; $rowTotalMd += $matrix[$project->id][$m]['man_days'] ?? 0; } @endphp @foreach(range(1, 12) as $m) @php $h = $matrix[$project->id][$m]['hours'] ?? 0; $md = $matrix[$project->id][$m]['man_days'] ?? 0; @endphp @endforeach @endforeach @endforeach @foreach(range(1, 12) as $m) @endforeach
客戶 專案名稱 預計結案日 評估人天{{ $m }}月合計
{{ $type }}
{{ $project->client?->name ?? '—' }} {{ $project->name }} {{ $project->end_date ? \Carbon\Carbon::parse($project->end_date)->format('Y-m-d') : '—' }} @if(!is_null($estimatedManDays[$project->project_id] ?? null)) {{ $estimatedManDays[$project->project_id] }}天 @else @endif @if($h > 0) {{ number_format($h, 1) }} @else @endif {{ $rowTotal > 0 ? number_format($rowTotal, 1).'小時' : '—' }}
月合計 {{ ($monthTotals[$m]['hours'] ?? 0) > 0 ? rtrim(rtrim(number_format($monthTotals[$m]['hours'], 2), '0'), '.') : '—' }} {{ rtrim(rtrim(number_format($totals['hours'], 2), '0'), '.') }}小時
@endif
@endsection @push('scripts') @endpush