您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

report-summary-section.blade.php 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. @props([
  2. 'reportLoaded' => false,
  3. 'summaryData' => [],
  4. 'targetLabel' => null,
  5. ])
  6. @php
  7. use App\Utilities\Currency\CurrencyAccessor;
  8. @endphp
  9. <div>
  10. <x-filament::section>
  11. @if($reportLoaded)
  12. <div @class([
  13. 'grid grid-cols-1 gap-1 place-content-center items-end text-center max-w-fit mx-auto',
  14. 'md:grid-cols-[repeat(1,minmax(0,1fr)_minmax(0,4rem))_minmax(0,1fr)]' => count($summaryData) === 2,
  15. 'md:grid-cols-[repeat(2,minmax(0,1fr)_minmax(0,4rem))_minmax(0,1fr)]' => count($summaryData) === 3,
  16. 'md:grid-cols-[repeat(3,minmax(0,1fr)_minmax(0,4rem))_minmax(0,1fr)]' => count($summaryData) === 4,
  17. 'md:grid-cols-[repeat(4,minmax(0,1fr)_minmax(0,4rem))_minmax(0,1fr)]' => count($summaryData) === 5,
  18. ])>
  19. @foreach($summaryData as $summary)
  20. <div class="text-sm">
  21. <div class="text-gray-600 dark:text-gray-200 font-medium mb-2">{{ $summary['label'] }}</div>
  22. @php
  23. $isTargetLabel = $summary['label'] === $targetLabel;
  24. $isPositive = money($summary['value'], CurrencyAccessor::getDefaultCurrency())->isPositive();
  25. @endphp
  26. <strong
  27. @class([
  28. 'text-lg',
  29. 'text-success-700 dark:text-success-400' => $isTargetLabel && $isPositive,
  30. 'text-danger-700 dark:text-danger-400' => $isTargetLabel && ! $isPositive,
  31. ])
  32. >
  33. {{ $summary['value'] }}
  34. </strong>
  35. </div>
  36. @if(! $loop->last)
  37. <div class="flex items-center justify-center">
  38. <strong class="text-lg">
  39. {{ $loop->remaining === 1 ? '=' : '-' }}
  40. </strong>
  41. </div>
  42. @endif
  43. @endforeach
  44. </div>
  45. @endif
  46. </x-filament::section>
  47. </div>