You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

document-totals.blade.php 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. @php
  2. use App\Enums\Accounting\DocumentDiscountMethod;
  3. use App\Utilities\Currency\CurrencyAccessor;
  4. use App\View\Models\DocumentTotalViewModel;
  5. $data = $this->form->getRawState();
  6. $type = $getType();
  7. $viewModel = new DocumentTotalViewModel($data, $type);
  8. extract($viewModel->buildViewData(), EXTR_SKIP);
  9. $discountMethod = DocumentDiscountMethod::parse($data['discount_method']);
  10. $isPerDocumentDiscount = $discountMethod->isPerDocument();
  11. @endphp
  12. <div class="totals-summary w-full lg:pl-[4rem] lg:pr-[6rem] py-8 lg:py-0">
  13. <table class="w-full text-right table-fixed hidden lg:table">
  14. <colgroup>
  15. <col class="w-[30%]"> {{-- Items --}}
  16. <col class="w-[10%]"> {{-- Quantity --}}
  17. <col class="w-[10%]"> {{-- Price --}}
  18. <col class="w-[15%]">
  19. <col class="w-[15%]"> {{-- Adjustments --}}
  20. <col class="w-[10%]"> {{-- Amount --}}
  21. </colgroup>
  22. <tbody>
  23. <tr>
  24. <td colspan="4"></td>
  25. <td class="text-sm p-2 font-semibold text-gray-950 dark:text-white">Subtotal:</td>
  26. <td class="text-sm p-2">{{ $subtotal }}</td>
  27. </tr>
  28. <tr>
  29. <td colspan="4"></td>
  30. <td class="text-sm p-2">Tax:</td>
  31. <td class="text-sm p-2">{{ $taxTotal }}</td>
  32. </tr>
  33. @if($isPerDocumentDiscount)
  34. <tr>
  35. <td colspan="3" class="text-sm p-2">Discount:</td>
  36. <td colspan="2" class="text-sm p-2">
  37. <div class="flex justify-between space-x-2">
  38. @foreach($getChildComponentContainer()->getComponents() as $component)
  39. <div class="flex-1 text-left">{{ $component }}</div>
  40. @endforeach
  41. </div>
  42. </td>
  43. <td class="text-sm p-2">({{ $discountTotal }})</td>
  44. </tr>
  45. @else
  46. <tr>
  47. <td colspan="4"></td>
  48. <td class="text-sm p-2">Discount:</td>
  49. <td class="text-sm p-2">({{ $discountTotal }})</td>
  50. </tr>
  51. @endif
  52. <tr>
  53. <td colspan="4"></td>
  54. <td class="text-sm p-2 font-semibold text-gray-950 dark:text-white">Total:</td>
  55. <td class="text-sm p-2">{{ $grandTotal }}</td>
  56. </tr>
  57. <tr>
  58. <td colspan="4"></td>
  59. <td class="text-sm p-2 font-semibold text-gray-950 dark:text-white border-t-4 border-double">Amount Due ({{ $currencyCode }}):</td>
  60. <td class="text-sm p-2 border-t-4 border-double">{{ $amountDue }}</td>
  61. </tr>
  62. @if($conversionMessage)
  63. <tr>
  64. <td colspan="6" class="text-sm p-2 text-gray-600">
  65. {{ $conversionMessage }}
  66. </td>
  67. </tr>
  68. @endif
  69. </tbody>
  70. </table>
  71. <!-- Mobile View -->
  72. <div class="block lg:hidden">
  73. <div class="flex flex-col space-y-6">
  74. <div class="flex justify-between items-center">
  75. <span class="text-sm font-semibold text-gray-950 dark:text-white">Subtotal:</span>
  76. <span class="text-sm">{{ $subtotal }}</span>
  77. </div>
  78. <div class="flex justify-between items-center">
  79. <span class="text-sm">Tax:</span>
  80. <span class="text-sm">{{ $taxTotal }}</span>
  81. </div>
  82. @if($isPerDocumentDiscount)
  83. <div class="flex flex-col space-y-2">
  84. <span class="text-sm">Discount:</span>
  85. <div class="flex justify-between space-x-2">
  86. @foreach($getChildComponentContainer()->getComponents() as $component)
  87. <div class="w-1/2">{{ $component }}</div>
  88. @endforeach
  89. </div>
  90. </div>
  91. @else
  92. <div class="flex justify-between items-center">
  93. <span class="text-sm">Discount:</span>
  94. <span class="text-sm">({{ $discountTotal }})</span>
  95. </div>
  96. @endif
  97. <div class="flex justify-between items-center">
  98. <span class="text-sm font-semibold text-gray-950 dark:text-white">Total:</span>
  99. <span class="text-sm">{{ $grandTotal }}</span>
  100. </div>
  101. <div class="flex justify-between items-center">
  102. <span class="text-sm font-semibold text-gray-950 dark:text-white">Amount Due ({{ $currencyCode }}):</span>
  103. <span class="text-sm">{{ $amountDue }}</span>
  104. </div>
  105. @if($conversionMessage)
  106. <div class="text-sm text-gray-600">
  107. {{ $conversionMessage }}
  108. </div>
  109. @endif
  110. </div>
  111. </div>
  112. </div>