mirror of
https://github.com/crater-invoice/crater.git
synced 2025-11-01 06:01:08 -04:00
Fix issues on invoice template
This commit is contained in:
@ -123,7 +123,7 @@
|
||||
}
|
||||
|
||||
.shipping-address-name {
|
||||
max-width: 250px;
|
||||
max-width: 160px;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
@ -155,7 +155,7 @@
|
||||
}
|
||||
|
||||
.billing-address-name {
|
||||
max-width: 250px;
|
||||
max-width: 160px;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
@ -214,21 +214,23 @@
|
||||
.item-description {
|
||||
color: #595959;
|
||||
font-size: 9px;
|
||||
font-weight:300;
|
||||
line-height: 12px;
|
||||
}
|
||||
|
||||
/* -- Total Display Table -- */
|
||||
|
||||
.total-display-container {
|
||||
padding: 0 25px;
|
||||
}
|
||||
|
||||
.total-display-table {
|
||||
border-top: none;
|
||||
box-sizing: border-box;
|
||||
width: 630px;
|
||||
page-break-inside: avoid;
|
||||
page-break-before: auto;
|
||||
page-break-after: auto;
|
||||
margin-left: 420px;
|
||||
margin-top: 10px;
|
||||
margin-left: 500px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.total-table-attribute-label {
|
||||
@ -239,7 +241,7 @@
|
||||
}
|
||||
|
||||
.total-table-attribute-value {
|
||||
font-weight: 500;
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
font-size: 13px;
|
||||
color: #040405;
|
||||
|
||||
@ -75,7 +75,6 @@
|
||||
|
||||
.invoice-details-container h1 {
|
||||
margin: 0;
|
||||
font-weight: 500;
|
||||
font-size: 24px;
|
||||
line-height: 36px;
|
||||
text-align: right;
|
||||
@ -200,7 +199,7 @@
|
||||
/* -- Items Table -- */
|
||||
|
||||
.items-table {
|
||||
margin-top: 30px;
|
||||
margin-top: 35px;
|
||||
padding: 0px 30px 10px 30px;
|
||||
page-break-before: avoid;
|
||||
page-break-after: auto;
|
||||
@ -210,20 +209,12 @@
|
||||
height: 0.1px;
|
||||
}
|
||||
|
||||
.item-table-heading-row td {
|
||||
padding: 5px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.item-table-heading-row {
|
||||
border-bottom: 1px solid red;
|
||||
}
|
||||
|
||||
.item-table-heading {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
color: #55547A;
|
||||
}
|
||||
|
||||
tr.item-table-heading-row th {
|
||||
@ -239,24 +230,36 @@
|
||||
|
||||
.item-cell {
|
||||
font-size: 13;
|
||||
color: #040405;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
padding-top: 10px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.item-description {
|
||||
color: #595959;
|
||||
font-size: 9px;
|
||||
line-height: 12px;
|
||||
}
|
||||
|
||||
/* -- Total Display Table -- */
|
||||
|
||||
.total-display-container {
|
||||
padding: 0 25px;
|
||||
}
|
||||
|
||||
.item-cell-table-hr {
|
||||
margin: 0 25px 0 30px;
|
||||
}
|
||||
|
||||
.total-display-table {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
box-sizing: border-box;
|
||||
width: 630px;
|
||||
page-break-inside: avoid;
|
||||
page-break-before: auto;
|
||||
page-break-after: auto;
|
||||
margin-left:420px;
|
||||
margin-top: 10px
|
||||
margin-left: 500px;
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.total-table-attribute-label {
|
||||
|
||||
@ -100,13 +100,12 @@
|
||||
|
||||
.content-wrapper {
|
||||
display: block;
|
||||
padding-top: 50px;
|
||||
padding-top: 100px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
display: inline-block;
|
||||
padding-top: 100px;
|
||||
|
||||
}
|
||||
|
||||
.customer-address-container {
|
||||
@ -119,10 +118,13 @@
|
||||
/* -- Shipping -- */
|
||||
.shipping-address-container {
|
||||
float:right;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.shipping-address-container--left {
|
||||
float:left;
|
||||
display: block;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.shipping-address-label {
|
||||
@ -137,6 +139,7 @@
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
margin: 0px;
|
||||
max-width: 160px;
|
||||
}
|
||||
|
||||
.shipping-address {
|
||||
@ -150,13 +153,12 @@
|
||||
/* -- Billing -- */
|
||||
|
||||
.billing-address-container {
|
||||
display: block;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.billing-address-label {
|
||||
padding-top: 5px;
|
||||
|
||||
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 0px;
|
||||
@ -167,6 +169,7 @@
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
margin: 0px;
|
||||
max-width: 160px;
|
||||
}
|
||||
|
||||
.billing-address {
|
||||
@ -201,6 +204,7 @@
|
||||
/* -- Items Table -- */
|
||||
|
||||
.items-table {
|
||||
margin-top: 35px;
|
||||
padding: 0px 30px 10px 30px;
|
||||
page-break-before: avoid;
|
||||
page-break-after: auto;
|
||||
@ -208,19 +212,18 @@
|
||||
|
||||
.items-table hr {
|
||||
height: 0.1px;
|
||||
margin: 0 30px 0 30px;
|
||||
}
|
||||
|
||||
.item-table-heading-row td {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.item-table-heading-row {
|
||||
border-bottom: 1px solid red;
|
||||
.item-table-heading {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
color: #55547A;
|
||||
}
|
||||
|
||||
tr.item-table-heading-row th {
|
||||
font-weight: 600;
|
||||
border-bottom: 0.620315px solid #E8E8E8;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
@ -230,32 +233,38 @@
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.item-table-heading {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.item-cell {
|
||||
font-size: 13;
|
||||
color: #040405;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
padding-top: 10px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.item-description {
|
||||
color: #595959;
|
||||
font-size: 9px;
|
||||
line-height: 12px;
|
||||
}
|
||||
|
||||
.item-cell-table-hr {
|
||||
margin: 0 30px 0 30px;
|
||||
}
|
||||
|
||||
/* -- Total Display Table -- */
|
||||
|
||||
.total-display-container {
|
||||
padding: 0 25px;
|
||||
}
|
||||
|
||||
|
||||
.total-display-table {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
box-sizing: border-box;
|
||||
width: 630px;
|
||||
page-break-inside: avoid;
|
||||
page-break-before: auto;
|
||||
page-break-after: auto;
|
||||
margin-left:420px;
|
||||
margin-top: 10px
|
||||
margin-left: 500px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.total-table-attribute-label {
|
||||
@ -266,7 +275,7 @@
|
||||
}
|
||||
|
||||
.total-table-attribute-value {
|
||||
font-weight: 500;
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
color: #040405;
|
||||
@ -275,6 +284,20 @@
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
.total-border-left {
|
||||
border: 1px solid #E8E8E8 !important;
|
||||
border-right: 0px !important;
|
||||
padding-top: 0px;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
.total-border-right {
|
||||
border: 1px solid #E8E8E8 !important;
|
||||
border-left: 0px !important;
|
||||
padding-top: 0px;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
/* -- Notes -- */
|
||||
.notes {
|
||||
font-size: 12px;
|
||||
@ -382,9 +405,9 @@
|
||||
</div>
|
||||
@if($invoice->user->billingaddress)
|
||||
<div class="shipping-address-container">
|
||||
@else
|
||||
<div class="shipping-address-container--left">
|
||||
@endif
|
||||
@else
|
||||
<div class="shipping-address-container--left">
|
||||
@endif
|
||||
@include('app.pdf.invoice.partials.shipping-address')
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
@ -411,6 +434,7 @@
|
||||
@include('app.pdf.invoice.partials.table')
|
||||
@include('app.pdf.invoice.partials.notes')
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<th class="item-table-heading text-right pr-20">Quantity</th>
|
||||
<th class="item-table-heading pr-20 text-right">Price</th>
|
||||
@if($invoice->discount_per_item === 'YES')
|
||||
<th class="item-table-heading pl-10">Discount</th>
|
||||
<th class="item-table-heading text-right pl-10">Discount</th>
|
||||
@endif
|
||||
<th class="item-table-heading text-right">Amount</th>
|
||||
</tr>
|
||||
@ -22,22 +22,28 @@
|
||||
</td>
|
||||
<td
|
||||
class="item-cell text-left pl-0"
|
||||
style="vertical-align: top;"
|
||||
>
|
||||
<span>{{ $item->name }}</span><br>
|
||||
<span class="item-description">{!! nl2br(htmlspecialchars($item->description)) !!}</span>
|
||||
</td>
|
||||
<td
|
||||
class="item-cell pr-20 text-right"
|
||||
style="vertical-align: top;"
|
||||
>
|
||||
{{$item->quantity}}
|
||||
</td>
|
||||
<td
|
||||
class="item-cell text-right pr-20"
|
||||
style="vertical-align: top;"
|
||||
>
|
||||
{!! format_money_pdf($item->price, $invoice->user->currency) !!}
|
||||
</td>
|
||||
@if($invoice->discount_per_item === 'YES')
|
||||
<td class="item-cell text-right pl-10">
|
||||
<td
|
||||
class="item-cell text-right pl-10"
|
||||
style="vertical-align: top;"
|
||||
>
|
||||
@if($item->discount_type === 'fixed')
|
||||
{!! format_money_pdf($item->discount_val, $invoice->user->currency) !!}
|
||||
@endif
|
||||
@ -48,6 +54,7 @@
|
||||
@endif
|
||||
<td
|
||||
class="item-cell text-right"
|
||||
style="vertical-align: top;"
|
||||
>
|
||||
{!! format_money_pdf($item->total, $invoice->user->currency) !!}
|
||||
</td>
|
||||
@ -60,70 +67,72 @@
|
||||
|
||||
<hr class="item-cell-table-hr">
|
||||
|
||||
<table width="100%" cellspacing="0px" border="0" class="total-display-table @if(count($invoice->items) > 12) page-break @endif">
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">Subtotal</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value">
|
||||
{!! format_money_pdf($invoice->sub_total, $invoice->user->currency) !!}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@if ($invoice->tax_per_item === 'YES')
|
||||
@for ($i = 0; $i < count($labels); $i++)
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">
|
||||
{{$labels[$i]}}
|
||||
</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value">
|
||||
{!! format_money_pdf($taxes[$i], $invoice->user->currency) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
@foreach ($invoice->taxes as $tax)
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">
|
||||
{{$tax->name.' ('.$tax->percent.'%)'}}
|
||||
</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value">
|
||||
{!! format_money_pdf($tax->amount, $invoice->user->currency) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if ($invoice->discount_per_item === 'NO')
|
||||
<div class="total-display-container">
|
||||
<table width="100%" cellspacing="0px" border="0" class="total-display-table @if(count($invoice->items) > 12) page-break @endif">
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">
|
||||
@if($invoice->discount_type === 'fixed')
|
||||
Discount
|
||||
@endif
|
||||
@if($invoice->discount_type === 'percentage')
|
||||
Discount ({{$invoice->discount}}%)
|
||||
@endif
|
||||
</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value" >
|
||||
@if($invoice->discount_type === 'fixed')
|
||||
{!! format_money_pdf($invoice->discount_val, $invoice->user->currency) !!}
|
||||
@endif
|
||||
@if($invoice->discount_type === 'percentage')
|
||||
{!! format_money_pdf($invoice->discount_val, $invoice->user->currency) !!}
|
||||
@endif
|
||||
<td class="border-0 total-table-attribute-label">Subtotal</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value">
|
||||
{!! format_money_pdf($invoice->sub_total, $invoice->user->currency) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td class="py-3"></td>
|
||||
<td class="py-3"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-0 total-border-left total-table-attribute-label">
|
||||
Total
|
||||
</td>
|
||||
<td
|
||||
class="border-0 total-border-right item-cell py-8 total-table-attribute-value text-primary"
|
||||
>
|
||||
{!! format_money_pdf($invoice->total, $invoice->user->currency)!!}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@if ($invoice->tax_per_item === 'YES')
|
||||
@for ($i = 0; $i < count($labels); $i++)
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">
|
||||
{{$labels[$i]}}
|
||||
</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value">
|
||||
{!! format_money_pdf($taxes[$i], $invoice->user->currency) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
@foreach ($invoice->taxes as $tax)
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">
|
||||
{{$tax->name.' ('.$tax->percent.'%)'}}
|
||||
</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value">
|
||||
{!! format_money_pdf($tax->amount, $invoice->user->currency) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if ($invoice->discount_per_item === 'NO')
|
||||
<tr>
|
||||
<td class="border-0 total-table-attribute-label">
|
||||
@if($invoice->discount_type === 'fixed')
|
||||
Discount
|
||||
@endif
|
||||
@if($invoice->discount_type === 'percentage')
|
||||
Discount ({{$invoice->discount}}%)
|
||||
@endif
|
||||
</td>
|
||||
<td class="border-0 item-cell py-2 total-table-attribute-value" >
|
||||
@if($invoice->discount_type === 'fixed')
|
||||
{!! format_money_pdf($invoice->discount_val, $invoice->user->currency) !!}
|
||||
@endif
|
||||
@if($invoice->discount_type === 'percentage')
|
||||
{!! format_money_pdf($invoice->discount_val, $invoice->user->currency) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td class="py-3"></td>
|
||||
<td class="py-3"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-0 total-border-left total-table-attribute-label">
|
||||
Total
|
||||
</td>
|
||||
<td
|
||||
class="border-0 total-border-right item-cell py-8 total-table-attribute-value text-primary"
|
||||
>
|
||||
{!! format_money_pdf($invoice->total, $invoice->user->currency)!!}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user