@@ -39,7 +39,7 @@
|
||||
@viteReactRefresh
|
||||
@vite(['resources/css/app.css', 'resources/js/app.tsx', "resources/js/pages/{$page['component']}.tsx"])
|
||||
<x-inertia::head>
|
||||
<title>Sistema de Gestão de Compras (SGC)</title>
|
||||
<title>Sistema de Gestão de Contratações (SGC)</title>
|
||||
</x-inertia::head>
|
||||
</head>
|
||||
<body class="font-sans antialiased">
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
SGC — Sistema de Gestão de Contratações
|
||||
|
||||
{{ $purpose === 'verify' ? 'Para confirmar o seu endereço de email, abra a ligação e confirme a operação.' : 'Para definir uma nova palavra-passe, abra a ligação abaixo.' }}
|
||||
|
||||
{{ $link }}
|
||||
|
||||
A ligação é temporária e só pode ser utilizada uma vez. Se não pediu esta operação, ignore esta mensagem.
|
||||
Confirmar o email não constitui verificação da identidade, candidatura ou contratação.
|
||||
@@ -0,0 +1,6 @@
|
||||
@if(!empty($terms))
|
||||
<p class="small">Desconto por unidade antes do IVA; preço líquido arredondado ao centavo.</p>
|
||||
@foreach($terms['lines'] as $line)
|
||||
<p class="small">Linha #{{ $line['requisition_item_id'] }}: preço inicial {{ $money($line['gross_unit_minor']) }} · desconto {{ $line['discount_type'] === 'none' ? 'sem desconto' : ($line['discount_type'] === 'percent' ? $line['discount_value'].'%' : $line['discount_value'].' MZN/unidade') }} · preço líquido {{ $money($line['net_unit_minor']) }}.</p>
|
||||
@endforeach
|
||||
@endif
|
||||
@@ -21,7 +21,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<button type="button" class="no-print" onclick="window.print()">Imprimir acta</button>
|
||||
<header><strong>SGC · Sistema de Gestão de Compras</strong><p>{{ $snapshot['company']['name'] }}</p></header>
|
||||
<header><strong>SGC · Sistema de Gestão de Contratações</strong><p>{{ $snapshot['company']['name'] }}</p></header>
|
||||
<h1>Acta de sessão de abertura de propostas</h1>
|
||||
<p><strong>{{ $opening->reference }}</strong> · Versão {{ $opening->revision }} · {{ $snapshot['requisition']['number'] }}</p>
|
||||
<p class="pre">Objecto: {{ $snapshot['requisition']['justification'] }}</p>
|
||||
@@ -42,6 +42,6 @@
|
||||
@if(count($opening->annexes))<ul>@foreach($opening->annexes as $annex)<li>{{ $annex }}</li>@endforeach</ul>@else<p>Sem referências de anexos registadas.</p>@endif
|
||||
<p class="small">As referências acima não significam que os ficheiros ou assinaturas foram carregados ou verificados no SGC.</p>
|
||||
<h2>Fundamento do registo desta versão</h2><p class="pre">{{ $opening->reason }}</p>
|
||||
<footer class="small">Registado por {{ $snapshot['author']['name'] }} em {{ \Carbon\CarbonImmutable::parse($opening->created_at, 'UTC')->timezone($opening->timezone)->format('d/m/Y H:i') }} · {{ $opening->timezone }}.<br>SGC · Sistema de Gestão de Compras · Documento do processo {{ $snapshot['requisition']['number'] }}.</footer>
|
||||
<footer class="small">Registado por {{ $snapshot['author']['name'] }} em {{ \Carbon\CarbonImmutable::parse($opening->created_at, 'UTC')->timezone($opening->timezone)->format('d/m/Y H:i') }} · {{ $opening->timezone }}.<br>SGC · Sistema de Gestão de Contratações · Documento do processo {{ $snapshot['requisition']['number'] }}.</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -40,9 +40,18 @@
|
||||
<tr><td class="pre">{{ $item->description }}</td><td>{{ $item->quantity }} {{ $item->unit }}</td><td>{{ $money($item->unit_price_minor) }}</td><td>{{ $item->tax_rate }}%</td><td>{{ $money($item->total_minor) }}</td></tr>
|
||||
@endforeach
|
||||
</tbody></table>
|
||||
@foreach($snapshot['decision_matrix'] as $row)
|
||||
@if(!empty($row['commercial_terms']))
|
||||
<h3>{{ $row['supplier']['name'] }} · {{ $row['reference'] }}</h3>
|
||||
@include('purchases.commercial-terms', ['terms' => $row['commercial_terms']])
|
||||
@endif
|
||||
@endforeach
|
||||
<table class="totals"><tr><td>Subtotal sem IVA</td><td>{{ $money($order->subtotal_minor) }}</td></tr><tr><td>IVA</td><td>{{ $money($order->tax_minor) }}</td></tr><tr><th>Total com IVA</th><th>{{ $money($order->total_minor) }}</th></tr></table>
|
||||
<h2>Justificação da adjudicação</h2><p class="pre">{{ $snapshot['award']['justification'] }}</p>
|
||||
<h2>Matriz de avaliação congelada</h2>
|
||||
@if(!empty($snapshot['comparison_policy']))
|
||||
<p class="small">Regra de comparação preservada: revisão {{ $snapshot['comparison_policy']['revision'] }} · mínimo de {{ $snapshot['comparison_policy']['minimum_proposals'] }} fornecedores com propostas elegíveis e {{ $snapshot['comparison_policy']['minimum_evaluators'] }} avaliações independentes por proposta.</p>
|
||||
@endif
|
||||
<table><thead><tr><th>Fornecedor / proposta</th><th>Total com IVA</th><th>Avaliações elegíveis</th><th>Pontuação</th></tr></thead><tbody>
|
||||
@foreach($snapshot['decision_matrix'] as $row)
|
||||
<tr><td>{{ $row['supplier']['name'] }} · {{ $row['reference'] }}<br>@foreach($row['evaluations'] as $evaluation)<span class="small">Avaliador #{{ $evaluation['evaluator_id'] }}: qualidade {{ $evaluation['quality'] }}, histórico {{ $evaluation['history'] }}, pagamento {{ $evaluation['payment'] }}. {{ $evaluation['comment'] }}</span><br>@endforeach</td><td>{{ $money($row['total_minor']) }}</td><td>{{ $row['evaluation_count'] }}</td><td>{{ $row['score'] === null ? 'Não elegível / incompleta' : number_format($row['score'], 2, ',', '.') . ' / 10' }}</td></tr>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Recomendação · {{ $requisition->number }} · Sistema de Gestão de Compras (SGC)</title>
|
||||
<title>Recomendação · {{ $requisition->number }} · Sistema de Gestão de Contratações (SGC)</title>
|
||||
<style>
|
||||
@page { size: A4 landscape; margin: 14mm; }
|
||||
body { font: 12px Arial, sans-serif; color: #111; margin: 24px; }
|
||||
@@ -21,7 +21,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<nav class="controls"><a href="{{ route('recommendations.show', $requisition) }}">Voltar ao processo</a> · <button onclick="window.print()">Imprimir</button></nav>
|
||||
<header><strong>Sistema de Gestão de Compras (SGC)</strong><h1>Recomendação antes da adjudicação · {{ $requisition->number }}</h1><p>Adopção {{ $adoption->revision }} · política {{ $adoption->snapshot['policy_revision'] }} · tentativa {{ $attempt->revision }}</p></header>
|
||||
<header><strong>Sistema de Gestão de Contratações (SGC)</strong><h1>Recomendação antes da adjudicação · {{ $requisition->number }}</h1><p>Adopção {{ $adoption->revision }} · política {{ $adoption->snapshot['policy_revision'] }} · tentativa {{ $attempt->revision }}</p></header>
|
||||
@php
|
||||
$states = ['pending' => 'A aguardar conferência', 'confirmed' => 'Recomendação confirmada', 'returned' => 'Tentativa devolvida'];
|
||||
$rows = $attempt->snapshot['basis']['rows'];
|
||||
@@ -52,6 +52,6 @@
|
||||
<article><strong>Tentativa {{ $entry['attempt']->revision }} · proposta #{{ $entry['attempt']->quotation_id }} · {{ $states[$entry['state']] }} · histórica</strong><p class="reason">{{ $entry['attempt']->reason }}</p>
|
||||
@foreach($entry['reviews'] as $review)<p class="reason">{{ $review->snapshot['name'] }} · {{ $review->verdict === 'approved' ? 'Confirmou' : 'Devolveu' }} · {{ $review->created_at }} UTC · {{ $review->reason }}</p>@endforeach</article>
|
||||
@empty<p>Sem tentativas anteriores nesta adopção.</p>@endforelse
|
||||
<footer>Sistema de Gestão de Compras (SGC) · Registos preservados para conferência. Outras adopções são consultáveis no histórico autenticado do processo.</footer>
|
||||
<footer>Sistema de Gestão de Contratações (SGC) · Registos preservados para conferência. Outras adopções são consultáveis no histórico autenticado do processo.</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user