fix: changes and fixes for the detail transaction view
This commit is contained in:
@@ -1383,7 +1383,7 @@ Transaction::STATUS_CLEARED => __('Keine Auffälligkeiten. Dokumentieren und arc
|
||||
]));
|
||||
@endphp
|
||||
|
||||
<div class="grid gap-6 xl:grid-cols-[minmax(0,1.65fr)_minmax(0,1fr)]">
|
||||
<div class="grid gap-6">
|
||||
<div @class([ 'rounded-3xl p-7 shadow-lg shadow-slate-900/5 backdrop-blur' ,
|
||||
$caseBoxClass,
|
||||
])>
|
||||
@@ -1476,18 +1476,78 @@ Transaction::STATUS_CLEARED => __('Keine Auffälligkeiten. Dokumentieren und arc
|
||||
<dd class="text-right">{{ $selected->counterparty_country ?? __('Nicht verifiziert') }}</dd>
|
||||
</div>
|
||||
<div class="flex justify-between gap-3">
|
||||
<dt>{{ __('Referenzhinweis') }}</dt>
|
||||
<dd class="text-right">{{ $selected->reference ?: __('Keine Angabe') }}</dd>
|
||||
<dt>{{ __('Sitz') }}</dt>
|
||||
<dd class="text-right">{{ $selected->counterparty_headquarters ?? __('Nicht verifiziert') }}</dd>
|
||||
</div>
|
||||
<div class="flex justify-between gap-3">
|
||||
<dt>{{ __('Next step') }}</dt>
|
||||
<dd class="text-right">{{ __('IBAN/Beneficiary eindeutig zuordnen') }}</dd>
|
||||
<dt>{{ __('Sektor') }}</dt>
|
||||
<dd class="text-right">{{ $selected->counterparty_sector ?? __('Nicht verifiziert') }}</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Historie mit dieser Gegenpartei als Dropdown --}}
|
||||
@if (!empty($counterpartyHistory) && $counterpartyHistory->isNotEmpty())
|
||||
<div class="mt-8 rounded-3xl border border-slate-200/70 bg-white/95 p-6 shadow-sm dark:border-slate-700/70 dark:bg-slate-900/90">
|
||||
<div
|
||||
x-data="{ openHistory: false }"
|
||||
class="rounded-2xl border-2 border-emerald-200/70 bg-gradient-to-br from-emerald-50/70 to-slate-50/70 transition dark:border-emerald-700/70 dark:from-emerald-900/20 dark:to-slate-800/70"
|
||||
>
|
||||
<button
|
||||
@click="openHistory = !openHistory"
|
||||
type="button"
|
||||
class="flex w-full items-center justify-between gap-4 p-6 text-left transition hover:bg-emerald-100/50 dark:hover:bg-emerald-900/30"
|
||||
>
|
||||
<div class="flex-1 space-y-2">
|
||||
<div class="flex items-center gap-3">
|
||||
<span class="inline-flex items-center rounded-full border border-emerald-400/70 bg-emerald-500/20 px-3 py-1 text-xs font-bold uppercase tracking-wide text-emerald-700 dark:border-emerald-500/60 dark:bg-emerald-500/30 dark:text-emerald-200">
|
||||
{{ __('Gegenpartei-Historie') }}
|
||||
</span>
|
||||
<h4 class="text-lg font-bold text-slate-900 dark:text-white">
|
||||
{{ __('Historie mit dieser Gegenpartei') }}
|
||||
</h4>
|
||||
</div>
|
||||
<p class="text-xs text-slate-500 dark:text-slate-400">
|
||||
{{ $counterpartyHistory->count() }} {{ __('Transaktionen gefunden') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<flux:icon
|
||||
name="chevron-down"
|
||||
class="h-6 w-6 text-emerald-600 transition-transform duration-200 dark:text-emerald-400"
|
||||
::class="{ 'rotate-180': openHistory }"
|
||||
/>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<div
|
||||
x-show="openHistory"
|
||||
x-collapse
|
||||
class="border-t-2 border-emerald-200/70 dark:border-emerald-700/60"
|
||||
>
|
||||
<div class="space-y-3 p-6">
|
||||
@foreach ($counterpartyHistory as $history)
|
||||
<div class="flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-slate-200/70 bg-white/90 p-4 text-sm text-slate-600 transition hover:bg-slate-50 dark:border-slate-700/70 dark:bg-slate-800/90 dark:text-slate-300 dark:hover:bg-slate-700/60">
|
||||
<div>
|
||||
<p class="font-semibold text-slate-900 dark:text-slate-100">{{ $history->executed_at?->format('d.m.Y H:i') }}</p>
|
||||
<p class="text-xs text-slate-500 dark:text-slate-400">{{ $history->channel }} • {{ $history->reference }}</p>
|
||||
</div>
|
||||
<div class="flex flex-col items-end gap-1">
|
||||
<span class="text-sm font-semibold text-slate-900 dark:text-slate-100">{{ $formatAmount($history->amount, $history->currency) }}</span>
|
||||
<span class="inline-flex items-center gap-1 rounded-md bg-slate-100/60 px-2 py-0.5 text-xs font-semibold text-slate-700 dark:bg-slate-800/80 dark:text-slate-200">
|
||||
{{ __('Risiko') }} {{ $history->risk_score }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="mt-8 grid gap-4 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]">
|
||||
<div class="rounded-2xl border border-slate-200/70 bg-slate-50/80 p-5 dark:border-slate-700/70 dark:bg-slate-800/70">
|
||||
<p class="text-xs font-semibold uppercase tracking-wide text-slate-400">{{ __('Transaktionsbewertung') }}</p>
|
||||
@@ -1502,7 +1562,7 @@ Transaction::STATUS_CLEARED => __('Keine Auffälligkeiten. Dokumentieren und arc
|
||||
<div class="rounded-2xl border border-emerald-400/40 bg-emerald-500/10 p-5 text-sm text-emerald-900 shadow-sm shadow-emerald-900/10 dark:border-emerald-500/40 dark:bg-emerald-500/10 dark:text-emerald-100">
|
||||
<p class="text-xs font-semibold uppercase tracking-wide">{{ __('Kontrollaufgaben (Zusammenfassung)') }}</p>
|
||||
<p class="mt-2 leading-relaxed">
|
||||
{{ __('Sicherstellen, dass Rechnungskopf, Beneficiary-Daten und 3-Way-Match (PO–GR–Invoice) dokumentiert sind. Interne Listenabgleiche (Sanktionen/PEP) auf den konkreten Rechtsträger erneut ausführen.') }}
|
||||
{{ data_get($selected->tranx_recommendation, 'answer') ?: __('Keine Kontrollaufgaben verfügbar.') }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1524,21 +1584,11 @@ Transaction::STATUS_CLEARED => __('Keine Auffälligkeiten. Dokumentieren und arc
|
||||
<div class="mt-8 rounded-2xl border border-indigo-200/60 bg-indigo-500/10 p-5 text-sm text-indigo-900 dark:border-indigo-500/30 dark:bg-indigo-500/10 dark:text-indigo-100">
|
||||
<p class="text-xs font-semibold uppercase tracking-wide">{{ __('Narrative Zusammenfassung') }}</p>
|
||||
<p class="mt-2 leading-relaxed">
|
||||
{{ __('Die Transaktion verbindet :company (:jurisdiction) mit :counterparty (:country). Der Betrag von :amount wurde über den Kanal :channel ausgeführt. Für die abschließende AML-Beurteilung ist der Nachweis der wirtschaftlich Berechtigten sowie ein Abgleich der Zahlungsempfänger-Daten erforderlich.', [
|
||||
'company' => $company->legal_name ?? $company->name,
|
||||
'jurisdiction' => $company->country ?? __('Jurisdiktion offen'),
|
||||
'counterparty' => $selected->counterparty,
|
||||
'country' => $selected->counterparty_country ?? __('Jurisdiktion offen'),
|
||||
'amount' => $amountValue,
|
||||
'channel' => $selected->channel ?: __('unbekannt'),
|
||||
]) }}
|
||||
</p>
|
||||
<p class="mt-2 text-xs text-indigo-800 dark:text-indigo-200">
|
||||
{{ __('Hinweis: Interne Quellen (ERP, KYC-Stammdaten, Screening) ergänzen, um den Verifizierungsstatus auf „abgeschlossen“ anzuheben.') }}
|
||||
{{ data_get($selected->tranx_report, 'answer') ?: __('Keine narrative Zusammenfassung verfügbar.') }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@if (! empty($analysisClusters))
|
||||
{{-- @if (! empty($analysisClusters))
|
||||
<div class="mt-8 space-y-5">
|
||||
<div class="rounded-3xl border border-slate-200/70 bg-white/95 p-6 shadow-sm transition hover:shadow-md dark:border-slate-700/70 dark:bg-slate-900/90">
|
||||
<div class="flex flex-wrap items-center justify-between gap-3">
|
||||
@@ -1600,7 +1650,7 @@ Transaction::STATUS_CLEARED => __('Keine Auffälligkeiten. Dokumentieren und arc
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
@endif --}}
|
||||
|
||||
@if (! empty($sources))
|
||||
<div class="mt-6 rounded-2xl border border-slate-200/70 bg-slate-50/80 p-5 dark:border-slate-700/70 dark:bg-slate-800/70">
|
||||
@@ -1793,32 +1843,7 @@ Transaction::STATUS_CLEARED => __('Keine Auffälligkeiten. Dokumentieren und arc
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="space-y-6">
|
||||
<div class="rounded-3xl border border-zinc-200/70 bg-white/95 p-6 shadow-sm backdrop-blur dark:border-zinc-700/70 dark:bg-zinc-900/90">
|
||||
<h4 class="text-sm font-semibold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">{{ __('Historie mit dieser Gegenpartei') }}</h4>
|
||||
<div class="mt-4 space-y-3">
|
||||
@forelse ($counterpartyHistory as $history)
|
||||
<div class="flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-zinc-100/70 bg-zinc-50/70 p-4 text-sm text-zinc-600 dark:border-zinc-700/70 dark:bg-zinc-800/70 dark:text-zinc-300">
|
||||
<div>
|
||||
<p class="font-semibold text-zinc-900 dark:text-zinc-100">{{ $history->executed_at?->format('d.m.Y H:i') }}</p>
|
||||
<p class="text-xs text-zinc-500 dark:text-zinc-400">{{ $history->channel }} • {{ $history->reference }}</p>
|
||||
</div>
|
||||
<div class="flex flex-col items-end gap-1">
|
||||
<span class="text-sm font-semibold text-zinc-900 dark:text-zinc-100">{{ $formatAmount($history->amount, $history->currency) }}</span>
|
||||
<span class="inline-flex items-center gap-1 rounded-md bg-slate-100/60 px-2 py-0.5 text-xs font-semibold text-slate-700 dark:bg-slate-800/80 dark:text-slate-200">
|
||||
{{ __('Risiko') }} {{ $history->risk_score }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@empty
|
||||
<div class="rounded-2xl border border-dashed border-zinc-300/60 bg-zinc-50/60 p-4 text-center text-xs text-zinc-500 dark:border-zinc-600/50 dark:bg-zinc-900/60">
|
||||
{{ __('Keine weiteren Transaktionen mit dieser Gegenpartei gefunden.') }}
|
||||
</div>
|
||||
@endforelse
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
|
||||
Reference in New Issue
Block a user