@extends('layouts.app') @section('title', 'Team Weekly Schedules') @section('page-title', 'Team Weekly Schedule Management') @section('styles') @endsection @section('content') @php // Calculate dates for the week $startOfWeek = Carbon\Carbon::now()->setISODate($currentYear, $currentWeek)->startOfWeek(Carbon\Carbon::SUNDAY); $dates = [ 'sunday' => $startOfWeek->copy()->startOfWeek(Carbon\Carbon::SUNDAY)->format('d M Y'), 'monday' => $startOfWeek->copy()->startOfWeek(Carbon\Carbon::SUNDAY)->addDay(1)->format('d M Y'), 'tuesday' => $startOfWeek->copy()->startOfWeek(Carbon\Carbon::SUNDAY)->addDay(2)->format('d M Y'), 'wednesday' => $startOfWeek->copy()->startOfWeek(Carbon\Carbon::SUNDAY)->addDay(3)->format('d M Y'), 'thursday' => $startOfWeek->copy()->startOfWeek(Carbon\Carbon::SUNDAY)->addDay(4)->format('d M Y'), ]; @endphp
Weekly Schedule - Week {{ $currentWeek }}, {{ $currentYear }}
@foreach($teamMembers as $member) @php $memberSchedules = $schedules[$member->id] ?? collect(); $allDaysFilled = true; $daysCount = 0; $submittedCount = 0; $approvedCount = 0; $hasContent = false; foreach(['sunday', 'monday', 'tuesday', 'wednesday', 'thursday'] as $day) { $schedule = $memberSchedules->firstWhere('day_of_week', $day); $clients = $schedule->clients ?? []; if(count($clients) > 0) { $daysCount++; $hasContent = true; } if($schedule && $schedule->status == 'submitted') $submittedCount++; if($schedule && $schedule->status == 'approved') $approvedCount++; } $overallStatus = $approvedCount > 0 ? 'approved' : ($submittedCount > 0 ? 'submitted' : ($hasContent ? 'draft' : 'empty')); $rowClass = ($member->isTeamLeader()) ? 'leader-own-row' : ''; @endphp @foreach(['sunday', 'monday', 'tuesday', 'wednesday', 'thursday'] as $day) @php $schedule = $memberSchedules->firstWhere('day_of_week', $day); $clients = $schedule->clients ?? []; $notes = $schedule->notes ?? ''; @endphp @endforeach @if(!$member->isTeamLeader()) @endif @endforeach
Team Member Sunday
{{ $dates['sunday'] }}
Monday
{{ $dates['monday'] }}
Tuesday
{{ $dates['tuesday'] }}
Wednesday
{{ $dates['wednesday'] }}
Thursday
{{ $dates['thursday'] }}
Status Actions
{{ $member->name }}
{{ ucfirst($member->role) }} @if($member->isTeamLeader())
You @endif
@if(count($clients) > 0) @foreach($clients as $index => $client)
{{ $index + 1 }}. {{ $client['company_name'] ?? $client['name'] ?? 'Client' }} @if(isset($client['address']))
{{ $client['address'] }} @endif
@endforeach @if($notes) {{ Str::limit($notes, 40) }} @endif @else — @endif
@if($overallStatus == 'approved') Approved @elseif($overallStatus == 'submitted') Submitted @elseif($overallStatus == 'draft') Draft @else Not Set @endif
Edit Full Week @if(!$member->isTeamLeader()) @if($overallStatus == 'submitted')
@csrf
@elseif($overallStatus == 'approved') ✓ Approved @else Awaiting Submission @endif @else Your Schedule @endif
Edit Schedule - Create or modify daily client visits Accept & Approve - Approve member's submitted schedule Reject - Reject with reason Leader Row - Your own schedule
@push('scripts') @endpush @endsection