fix invoice and estimate templates

This commit is contained in:
yogesh_gohil
2019-11-11 19:28:20 +05:30
parent 0fbc26bbe1
commit d31bd7849f
10 changed files with 193 additions and 152 deletions

View File

@ -688,7 +688,7 @@ export default {
isValid = false
}
})
if (this.$v.newEstimate.$invalid === false && isValid === true) {
if (!this.$v.selectedCustomer.$invalid && this.$v.newEstimate.$invalid === false && isValid === true) {
return true
}
return false

View File

@ -519,14 +519,6 @@ export default {
...mapActions('item', [
'fetchItems'
]),
isEmpty (obj) {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
return false
}
}
return true
},
selectFixed () {
if (this.newInvoice.discount_type === 'fixed') {
return

View File

@ -72,6 +72,7 @@
.wrapper {
display: block;
padding-top: 60px;
padding-bottom: 60px;
}
.address {
@ -244,6 +245,8 @@
margin-top: 35px;
border-bottom: 1px solid #EAF1FB;
padding: 0px 30px 0 30px;
page-break-before: avoid;
page-break-after: auto;
}
.table2 hr {
@ -257,7 +260,7 @@
padding: 5px;
}
tr.main-table-header td {
tr.main-table-header th {
border-bottom: 1px solid #EAF1FB;
font-style: normal;
font-weight: normal;
@ -284,28 +287,33 @@
padding-bottom: 8px;
}
.padd2 {
padding-top: 2px;
padding-bottom: 2px;
}
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 230px;
height: 100px;
position: absolute;
right: -25;
width: 630px;
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.text-per-item-table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 260px;
/* height: 100px; */
position: absolute;
right: -25;
.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;
}
.inv-item {
border-color: #d9d9d9;
}
@ -322,8 +330,6 @@
margin-top:7px;
color:rgba(0, 0, 0, 0.85);
}
</style>
</head>
<body>

View File

@ -74,6 +74,7 @@
.wrapper {
display: block;
padding-top: 110px;
padding-bottom: 60px;
}
.address {
@ -245,6 +246,8 @@
margin-top: 200px;
border-bottom: 1px solid #EAF1FB;
padding: 0px 30px 0 30px;
page-break-before: avoid;
page-break-after: auto;
}
.table2 hr {
@ -258,7 +261,7 @@
padding: 5px;
}
tr.main-table-header td {
tr.main-table-header th {
border-bottom: 1px solid #EAF1FB;
font-style: normal;
font-weight: normal;
@ -295,27 +298,21 @@
padding-bottom: 8px;
}
.padd2 {
padding-top: 2px;
padding-bottom: 2px;
}
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 230px;
height: 100px;
position: absolute;
right: -25;
width: 630px;
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.text-per-item-table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 260px;
/* height: 100px; */
position: absolute;
right: -25;
}
.inv-item {
border-color: #d9d9d9;

View File

@ -80,6 +80,7 @@
.wrapper {
display: block;
padding-top: 110px;
padding-bottom: 60px;
}
.address {
@ -233,7 +234,7 @@
.main-table-header {
border-bottom: 1px solid red;
}
tr.main-table-header td {
tr.main-table-header th {
font-style: normal;
font-weight: 600;
font-size: 12px;
@ -249,6 +250,8 @@
margin-top: 188px;
border-bottom: 1px solid #EAF1FB;
padding: 0px 30px 0 30px;
page-break-before: avoid;
page-break-after: auto;
}
.table2 hr {
@ -284,26 +287,19 @@
padding-bottom: 8px;
}
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 230px;
height: 100px;
position: absolute;
right: -25;
.padd2 {
padding-top: 2px;
padding-bottom: 2px;
}
.text-per-item-table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
box-sizing: border-box;
width: 260px;
/* height: 100px; */
position: absolute;
right: -25;
width: 630px;
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
td.estimate-total1 {

View File

@ -1,47 +1,54 @@
<table width="100%" class="table2" cellspacing="0" border="0">
<tr class="main-table-header">
<td width="40%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</td>
<td width="17%" class="ItemTableHeader" style="text-align: right; color: #55547A; padding-right: 20px">Quantity</td>
<td width="18%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 40px">Price</td>
<td width="10%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 10px">Discount</td>
<td width="15%" class="ItemTableHeader" style="text-align: right; color: #55547A;">Amount</td>
@if($estimate->discount_per_item === 'NO')
<th width="80%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</th>
@else
<th width="40%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</th>
@endif
<th width="17%" class="ItemTableHeader" style="text-align: right; color: #55547A; padding-right: 20px">Quantity</th>
<th width="18%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 40px">Price</th>
@if($estimate->discount_per_item === 'YES')
<th width="10%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 10px">Discount</th>
@endif
<th width="15%" class="ItemTableHeader" style="text-align: right; color: #55547A;">Amount</th>
</tr>
@foreach ($estimate->items as $item)
<tr class="item-details">
<td width="40%" class="inv-item items" style="text-align: left; color: #040405;padding-left: 0px">
<td class="inv-item items" style="text-align: left; color: #040405;padding-left: 0px">
<span>{{ $item->name }}</span><br>
<span style="text-align: left; color: #595959; font-size: 9px; font-weight:300; line-height: 12px;">{{ $item->description }}</span>
</td>
<td width="17%" class="inv-item items" style="text-align: right; color: #040405; padding-right: 20px">{{$item->quantity}}</td>
<td width="18%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 40px">{{$item->price/100}}</td>
{{-- <td width="10%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">{{$item->discount/100}}%</td> --}}
<td width="10%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">
@if($item->discount_type === 'fixed')
{{$item->discount_val/100}}
@endif
@if($item->discount_type === 'percentage')
{{$item->discount}}%
@endif
</td>
<td width="15%" class="inv-item items" style="text-align: right; color: #040405">{{$item->total/100}}</td>
<td class="inv-item items" style="text-align: right; color: #040405; padding-right: 20px">{{$item->quantity}}</td>
<td class="inv-item items" style="text-align: left; color: #040405; padding-left: 40px">{{$item->price/100}}</td>
@if($estimate->discount_per_item === 'YES')
<td class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">
@if($item->discount_type === 'fixed')
{{$item->discount_val/100}}
@endif
@if($item->discount_type === 'percentage')
{{$item->discount}}%
@endif
</td>
@endif
<td class="inv-item items" style="text-align: right; color: #040405">{{$item->total/100}}</td>
</tr>
@endforeach
</table>
<table width="100%" cellspacing="0px" border="0" class="text-per-item-table3 @if(count($estimate->items) > 12) page-break @endif">
<table width="100%" style="margin-left:420px" cellspacing="0px" border="0" class="table3">
<tr>
<td class="no-borde" style="color: #55547A; padding-left:10px; line-height: 18px; font-size:12px;">Subtotal</td>
<td class="no-borde" style="color: #55547A; padding-left:10px; font-size:12px;">Subtotal</td>
<td class="no-border items"
style="padding-right:10px; text-align: right; line-height: 18px; font-size:12px; color: #040405; font-weight: 500;">{!! format_money_pdf($estimate->sub_total) !!}</td>
style="padding-right:10px; text-align: right; font-size:12px; color: #040405; font-weight: 500;">{!! format_money_pdf($estimate->sub_total) !!}</td>
</tr>
@if ($estimate->tax_per_item === 'YES')
@for ($i = 0; $i < count($labels); $i++)
<tr>
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
{{$labels[$i]}}
</td>
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
<td class="no-border items padd2" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
{!! format_money_pdf($taxes[$i]) !!}
</td>
</tr>
@ -49,10 +56,10 @@
@else
@foreach ($estimate->taxes as $tax)
<tr>
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
{{$tax->name.' ('.$tax->percent.'%)'}}
</td>
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
<td class="no-border items padd2" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
{!! format_money_pdf($tax->amount) !!}
</td>
</tr>
@ -62,29 +69,33 @@
@if ($estimate->discount_per_item === 'NO')
<tr>
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
Discount
Discount ({{$estimate->discount}}%)
</td>
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
<td class="no-border items padd2" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
@if($estimate->discount_type === 'fixed')
{!! format_money_pdf($estimate->discount_val) !!}
@endif
@if($estimate->discount_type === 'percentage')
{{$estimate->discount}}% ({!! format_money_pdf($estimate->discount_val) !!})
{!! format_money_pdf($estimate->discount_val) !!}
@endif
</td>
</tr>
@endif
<tr >
<tr>
<td style="padding:3px 0px"></td>
<td style="padding:3px 0px"></td>
</tr>
<tr>
<td class="no-border total-border-left"
style="padding-left:10px; padding-bottom:10px; text-align:left; padding-top:20px; font-size:12px; line-height: 18px; color: #55547A;"
style="padding-left:10px; padding-bottom:10px; text-align:left; padding-top:20px; font-size:12px; color: #55547A;"
>
<label class="total-bottom"> Total </label>
</td>
<td
class="no-border total-border-right items padd8"
style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; padding-top:20px; color: #5851DB"
style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; padding-top:20px; color: #5851DB"
>
{!! format_money_pdf($estimate->total)!!}
{!! format_money_pdf($estimate->total)!!}
</td>
</tr>
</table>

View File

@ -72,6 +72,7 @@
.wrapper {
display: block;
padding-top: 60px;
padding-bottom: 60px;
}
.address {
@ -244,6 +245,8 @@
margin-top: 35px;
border-bottom: 1px solid #EAF1FB;
padding: 0px 30px 0 30px;
page-break-before: avoid;
page-break-after: auto;
}
.table2 hr {
@ -257,7 +260,7 @@
padding: 5px;
}
tr.main-table-header td {
tr.main-table-header th {
border-bottom: 1px solid #EAF1FB;
font-style: normal;
font-weight: normal;
@ -284,26 +287,36 @@
padding-bottom: 8px;
}
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 230px;
height: 100px;
position: absolute;
right: -25;
.padd2 {
padding-top: 2px;
padding-bottom: 2px;
}
.text-per-item-table3 {
border: 1px solid #EAF1FB;
.table3 {
/* border: 1px solid #EAF1FB; */
border-top: none;
padding-right: 30px;
/* padding-right: 30px; */
box-sizing: border-box;
width: 260px;
/* height: 100px; */
position: absolute;
right: -25;
width: 630px;
/* position: absolute;
right: -25; */
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.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;
}
.inv-item {

View File

@ -74,6 +74,7 @@
.wrapper {
display: block;
padding-top: 110px;
padding-bottom: 60px;
}
.address {
@ -245,6 +246,8 @@
margin-top: 200px;
border-bottom: 1px solid #EAF1FB;
padding: 0px 30px 0 30px;
page-break-before: avoid;
page-break-after: auto;
}
.table2 hr {
@ -258,7 +261,7 @@
padding: 5px;
}
tr.main-table-header td {
tr.main-table-header th {
border-bottom: 1px solid #EAF1FB;
font-style: normal;
font-weight: normal;
@ -295,15 +298,19 @@
padding-bottom: 8px;
}
.padd2 {
padding-top: 2px;
padding-bottom: 2px;
}
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 230px;
height: 100px;
position: absolute;
right: -25;
width: 630px;
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.text-per-item-table3 {

View File

@ -80,6 +80,7 @@
.wrapper {
display: block;
padding-top: 110px;
padding-bottom: 60px;
}
.address {
@ -233,7 +234,7 @@
.main-table-header {
border-bottom: 1px solid red;
}
tr.main-table-header td {
tr.main-table-header th {
font-style: normal;
font-weight: 600;
font-size: 12px;
@ -249,6 +250,8 @@
margin-top: 188px;
border-bottom: 1px solid #EAF1FB;
padding: 0px 30px 0 30px;
page-break-before: avoid;
page-break-after: auto;
}
.table2 hr {
@ -284,15 +287,19 @@
padding-bottom: 8px;
}
.padd2 {
padding-top: 2px;
padding-bottom: 2px;
}
.table3 {
border: 1px solid #EAF1FB;
border-top: none;
padding-right: 30px;
box-sizing: border-box;
width: 230px;
height: 100px;
position: absolute;
right: -25;
width: 630px;
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.text-per-item-table3 {

View File

@ -1,46 +1,54 @@
<table width="100%" class="table2" cellspacing="0" border="0">
<tr class="main-table-header">
<td width="40%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</td>
<td width="17%" class="ItemTableHeader" style="text-align: right; color: #55547A; padding-right: 20px">Quantity</td>
<td width="18%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 40px">Price</td>
<td width="10%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 10px">Discount</td>
<td width="15%" class="ItemTableHeader" style="text-align: right; color: #55547A;">Amount</td>
@if($invoice->discount_per_item === 'NO')
<th width="80%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</th>
@else
<th width="40%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</th>
@endif
<th width="17%" class="ItemTableHeader" style="text-align: right; color: #55547A; padding-right: 20px">Quantity</th>
<th width="18%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 40px">Price</th>
@if($invoice->discount_per_item === 'YES')
<th width="10%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 10px">Discount</th>
@endif
<th width="15%" class="ItemTableHeader" style="text-align: right; color: #55547A;">Amount</th>
</tr>
@foreach ($invoice->items as $item)
<tr class="item-details">
<td width="40%" class="inv-item items" style="text-align: left; color: #040405;padding-left: 0px">
<td class="inv-item items" style="text-align: left; color: #040405;padding-left: 0px">
<span>{{ $item->name }}</span><br>
<span style="text-align: left; color: #595959; font-size: 9px; font-weight:300; line-height: 12px;">{{ $item->description }}</span>
</td>
<td width="17%" class="inv-item items" style="text-align: right; color: #040405; padding-right: 20px">{{$item->quantity}}</td>
<td width="18%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 40px">{{$item->price/100}}</td>
<td width="10%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">
@if($item->discount_type === 'fixed')
{{$item->discount_val/100}}
@endif
@if($item->discount_type === 'percentage')
{{$item->discount}}%
@endif
</td>
<td width="15%" class="inv-item items" style="text-align: right; color: #040405">{{$item->total/100}}</td>
<td class="inv-item items" style="text-align: right; color: #040405; padding-right: 20px">{{$item->quantity}}</td>
<td class="inv-item items" style="text-align: left; color: #040405; padding-left: 40px">{{$item->price/100}}</td>
@if($invoice->discount_per_item === 'YES')
<td class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">
@if($item->discount_type === 'fixed')
{{$item->discount_val/100}}
@endif
@if($item->discount_type === 'percentage')
{{$item->discount}}%
@endif
</td>
@endif
<td class="inv-item items" style="text-align: right; color: #040405">{{$item->total/100}}</td>
</tr>
@endforeach
</table>
<table width="100%" cellspacing="0px" border="0" class="text-per-item-table3 @if(count($invoice->items) > 12) page-break @endif">
<table width="100%" cellspacing="0px" style="margin-left:420px" border="0" class="table3 @if(count($invoice->items) > 12) page-break @endif">
<tr>
<td class="no-borde" style="color: #55547A; padding-left:10px; line-height: 18px; font-size:12px;">Subtotal</td>
<td class="no-borde" style="color: #55547A; padding-left:10px; font-size:12px;">Subtotal</td>
<td class="no-border items"
style="padding-right:10px; text-align: right; line-height: 18px; font-size:12px; color: #040405; font-weight: 500;">{!! format_money_pdf($invoice->sub_total) !!}</td>
style="padding-right:10px; text-align: right; font-size:12px; color: #040405; font-weight: 500;">{!! format_money_pdf($invoice->sub_total) !!}</td>
</tr>
@if ($invoice->tax_per_item === 'YES')
@for ($i = 0; $i < count($labels); $i++)
<tr>
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
{{$labels[$i]}}
</td>
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
<td class="no-border items padd2" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
{!! format_money_pdf($taxes[$i]) !!}
</td>
</tr>
@ -48,10 +56,10 @@
@else
@foreach ($invoice->taxes as $tax)
<tr>
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
{{$tax->name.' ('.$tax->percent.'%)'}}
</td>
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
<td class="no-border items padd2" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
{!! format_money_pdf($tax->amount) !!}
</td>
</tr>
@ -61,27 +69,31 @@
@if ($invoice->discount_per_item === 'NO')
<tr>
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
Discount
Discount ({{$invoice->discount}}%)
</td>
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
<td class="no-border items padd2" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
@if($invoice->discount_type === 'fixed')
{!! format_money_pdf($invoice->discount_val) !!}
@endif
@if($invoice->discount_type === 'percentage')
{{$invoice->discount}}% ({!! format_money_pdf($invoice->discount_val) !!})
{!! format_money_pdf($invoice->discount_val) !!}
@endif
</td>
</tr>
@endif
<tr style="border: 1px solid;" >
<tr>
<td style="padding:3px 0px"></td>
<td style="padding:3px 0px"></td>
</tr>
<tr>
<td class="no-border total-border-left"
style="padding-left:10px; padding-bottom:10px; text-align:left; padding-top:20px; font-size:12px; line-height: 18px; color: #55547A;"
style="padding-left:10px; padding-bottom:10px; text-align:left; padding-top:20px; font-size:12px; color: #55547A;"
>
<label class="total-bottom"> Total </label>
</td>
<td
class="no-border total-border-right items padd8"
style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; padding-top:20px; color: #5851DB"
style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; padding-top:20px; color: #5851DB"
>
{!! format_money_pdf($invoice->total)!!}
</td>