@extends('layouts.app') @section('title', '安裝申請 #' . $req->id) @section('content')
安裝申請 #{{ $req->id }} @include('install-requests._status', ['req' => $req])
專案:{{ $req->project->name ?? '-' }}・申請人:{{ $req->user->name ?? '-' }}・{{ $req->created_at->format('Y-m-d H:i') }}
@can('view', $req->project) 專案申請列表 @endcan 審核中心
@if($errors->any())
@endif {{-- 進度 --}} @php $progress = [['送出申請', $req->user->name ?? '-', $req->created_at, 'done']]; foreach ($steps as $st) { $progress[] = [$st['label'] . '核准', $st['name'], $st['at'] ? \Illuminate\Support\Carbon::parse($st['at']) : null, match ($st['status']) { 'approved' => 'done', 'rejected' => 'rejected', default => 'todo' }]; } $progress[] = ['系統組安裝', $req->handler->name ?? '系統組', $req->handled_at, $req->status === 'completed' ? 'done' : ($req->handled_at && $req->status === 'rejected' ? 'rejected' : 'todo')]; @endphp
@foreach($progress as $i => [$label, $who, $at, $state])
{!! ['done' => '', 'rejected' => ''][$state] ?? $i + 1 !!}
{{ $label }}
{{ $who }}{{ $at ? '・' . $at->format('m/d H:i') : '' }}
@endforeach
申請內容
目標主機
{{ $req->target_host }}
作業系統
{{ $req->os ?: '-' }}
希望完成日
{{ $req->expected_date?->format('Y-m-d') ?? '-' }}
申請原因
{{ $req->reason ?: '-' }}
@forelse($req->packages ?? [] as $p) @empty @endforelse
軟體版本備註
{{ $p['name'] }} {{ $p['version'] ?: '(未指定)' }} @if(($p['key'] ?? '') === 'php' && !empty($req->php_extensions)) @foreach($req->php_extensions as $ext){{ $ext }}@endforeach @elseif(isset(\App\Models\InstallRequest::BASE_PACKAGES[$p['key'] ?? ''])) 基本安裝 @else 額外安裝 @endif
未勾選軟體
@if($req->install_notes)
其他安裝項目/安裝方法
{{ $req->install_notes }}
@endif
@php $notedSteps = array_filter($steps, fn ($st) => filled($st['note'])); @endphp @if($notedSteps || $req->handler_note)
審核紀錄
@foreach($notedSteps as $st)
{{ $st['label'] }}({{ $st['name'] }}){{ $st['status'] === 'rejected' ? '退回' : '' }}:{{ $st['note'] }}
@endforeach @if($req->handler_note)
系統組({{ $req->handler->name ?? '-' }}):{{ $req->handler_note }}
@endif
@endif @if($canSupervise)
{{ \App\Models\InstallRequest::stepLabel($req->currentStep()['type'] ?? null) }}審核
@csrf
@endif @if($canHandle)
系統組處理
@csrf
@endif
@endsection