@props([ 'active', 'id' => null, 'mode' => 'create', 'allowedStep' => 1, 'auditMode' => false, 'auditReviewItemId' => null, 'showSaveButton' => false, 'hasSavedAuditChanges' => null, 'canMarkAsAudited' => false, 'isAudited' => false, ]) @php $auditHasSavedChanges = is_bool($hasSavedAuditChanges) ? $hasSavedAuditChanges : false; if (! is_bool($hasSavedAuditChanges) && (bool) $auditMode && $auditReviewItemId) { $auditHasSavedChanges = \Modules\DataAudit\Entities\ReviewLog::query() ->where('review_item_id', (int) $auditReviewItemId) ->where('status', \Modules\DataAudit\Enums\ReviewLogStatus::Draft->value) ->exists(); } $steps = [ ['key' => 'basic', 'label' => 'البيانات الاساسية', 'route' => 'org.licenses.create.basic'], ['key' => 'owners', 'label' => 'المُلاك', 'route' => 'org.licenses.create.owners'], ['key' => 'development', 'label' => 'مستحقات التطوير', 'route' => 'org.licenses.create.development'], ['key' => 'license', 'label' => 'مستحقات الترخيص', 'route' => 'org.licenses.create.license'], ['key' => 'local', 'label' => 'اللجنة المحلية', 'route' => 'org.licenses.create.local'], ['key' => 'central', 'label' => 'اللجنة المركزية', 'route' => 'org.licenses.create.central'], ['key' => 'fines', 'label' => 'مستحقات الغرامات', 'route' => 'org.licenses.create.fines'], ['key' => 'payments', 'label' => 'الدفعات', 'route' => 'org.licenses.create.payments'], ]; if ($mode === 'edit' && $id) { $orgLicense = \Modules\Org\Entities\LicenseData::query() ->select('street_number', 'building_number') ->find((int) $id); $streetNumber = trim((string) ($orgLicense?->street_number ?? '')); $buildingNumber = trim((string) ($orgLicense?->building_number ?? '')); $hasLinkedGisBuilding = $streetNumber !== '' && $buildingNumber !== '' && \Modules\Gis\Entities\Building::query() ->where('street_number', (int) $streetNumber) ->where('building_number', $buildingNumber) ->exists(); if ($hasLinkedGisBuilding) { $steps[] = ['key' => 'gis-floors', 'label' => 'طوابق GIS', 'route' => 'org.licenses.create.gis-floors']; } $steps[] = ['key' => 'archive', 'label' => 'الأرشيف', 'route' => 'org.licenses.create.archive']; } @endphp
@foreach ($steps as $index => $step) @php $stepIndex = $index + 1; $isActive = $active === $step['key']; $isLocked = ($mode === 'create' && $allowedStep < $stepIndex); $routeParams = $id ? ['id' => $id] : []; if ((bool) $auditMode && $auditReviewItemId) { $routeParams['audit_mode'] = 1; $routeParams['review_item_id'] = (int) $auditReviewItemId; } $href = route($step['route'], $routeParams); @endphp @if ($isLocked) {{ $step['label'] }} @else $isActive, 'bg-muted/30 text-foreground hover:bg-muted hover:text-primary hover:shadow-sm' => ! $isActive, ]) > {{ $step['label'] }} @endif @endforeach
@if((bool) $auditMode && $auditReviewItemId) @if($mode === 'edit' && (bool) $showSaveButton) @endif @if(! $auditHasSavedChanges) رجوع @endif @if($auditHasSavedChanges) إرسال للموافقة @endif @elseif($mode === 'edit' && $id) @can('license_data.edit') @if((bool) $showSaveButton) @endif @if((bool) $canMarkAsAudited && ! (bool) $isAudited) @endif @endcan @endif @if($mode === 'create') @can('license_data.create') @if((int) $allowedStep > 1) @endif @endcan @endif {{ $slot }}