{{-- PDF Preview Card with Inline Annotation --}} @php // Calculate permissions first $isCreator = auth()->id() === $surat->created_by; $canApprove = $surat->canApprove(auth()->user()); $canSign = $surat->canSign(auth()->user()); $canForwardPaurmin = $surat->canForwardAsPaurmin(auth()->user()); $canForwardKasmin = $surat->canForwardAsKasmin(auth()->user()); $canApproveAsWapang = $surat->canApproveAsWapang(auth()->user()); $canSignPangwapang = $surat->canSignAsPangwapang(auth()->user()); $canAnnotate = $canApprove || $canSign || $canForwardPaurmin || $canForwardKasmin || $canApproveAsWapang || $canSignPangwapang; // Untuk penandatangan: hanya boleh pena hitam tipis (untuk tanda tangan) $isSignerMode = ($canSign || $canSignPangwapang) && !$canApprove && !$canForwardPaurmin && !$canForwardKasmin && !$canApproveAsWapang; // Determine which PDF to show (priority: numbered > annotated > current): // - If file_numbered exists (after TU numbering), show numbered version // - If file_annotated exists, show annotated version // - Otherwise show file_current if ($surat->file_numbered) { $pdfToShow = 'numbered'; $pdfVersionLabel = 'Versi Final (dengan Nomor Surat)'; $annotatedTabLabel = 'Ditandatangani'; } elseif ($surat->file_annotated) { $pdfToShow = 'annotated'; // Label berbeda: untuk signer = "Tanda Tangan", untuk lainnya = "Anotasi/Koreksi" if ($surat->signed_at) { $pdfVersionLabel = 'Versi Ditandatangani'; $annotatedTabLabel = 'Ditandatangani'; } elseif ($isSignerMode) { $pdfVersionLabel = 'Tanda Tangan'; $annotatedTabLabel = 'Tanda Tangan'; } else { $pdfVersionLabel = 'Anotasi/Koreksi'; $annotatedTabLabel = 'Anotasi/Koreksi'; } } else { $pdfToShow = 'current'; $pdfVersionLabel = 'Versi Asli'; $annotatedTabLabel = 'Anotasi/Koreksi'; } // Siapa yang bisa annotate di file annotated: // - PAURMIN/KASMIN (untuk koreksi) // - Pangwapang signer (untuk TTD) // - Regular signer (untuk TTD) - PENTING: signer harus bisa TTD di file yang sudah ada anotasi counter paraf // Approver (counter paraf) hanya bisa annotate di file current $canAnnotateOnCurrentPdf = ($canForwardPaurmin || $canForwardKasmin || $canSignPangwapang || $canSign) ? ($pdfToShow === 'current' || $pdfToShow === 'annotated') : ($pdfToShow === 'current'); // Cache-bust untuk preview PDF (hindari Blade inline di JS yang bisa cause SyntaxError) $pdfViewUrl = route('surat-keluar-workflow.view-pdf', ['surat' => $surat]); $cacheBustTs = $surat->updated_at ? $surat->updated_at->timestamp : now()->timestamp; @endphp @push('styles') @endpush
Memuat PDF...
Tidak ada file yang tersedia