260 lines
16 KiB
HTML
260 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html v-bind:lang="$i18n.locale">
|
|
<body>
|
|
<table class="grid">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<!-- Header block -->
|
|
<div class="grid-row">
|
|
<div class="grid-block">
|
|
<report-header v-bind="$props"
|
|
v-bind:company-code="ticket.companyCode">
|
|
</report-header>
|
|
</div>
|
|
</div>
|
|
<!-- Block -->
|
|
<div class="grid-row">
|
|
<div class="grid-block">
|
|
<div class="columns">
|
|
<div class="size50">
|
|
<div class="size75">
|
|
<h1 class="title uppercase">{{$t('title')}}</h1>
|
|
<table class="row-oriented">
|
|
<tbody>
|
|
<tr>
|
|
<td class="font gray uppercase">{{$t('clientId')}}</td>
|
|
<th>{{client.id}}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="font gray uppercase">{{$t('ticketId')}}</td>
|
|
<th>{{ticket.id}}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="font gray uppercase">{{$t('date')}}</td>
|
|
<th>{{ticket.shipped | date('%d-%m-%Y')}}</th>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="size50">
|
|
<div class="panel">
|
|
<div class="header">{{$t('deliveryAddress')}}</div>
|
|
<div class="body">
|
|
<h3 class="uppercase">{{address.nickname}}</h3>
|
|
<div>
|
|
{{address.street}}
|
|
</div>
|
|
<div>
|
|
{{address.postalCode}}, {{address.city}} ({{address.province}})
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel">
|
|
<div class="header">{{$t('fiscalData')}}</div>
|
|
<div class="body">
|
|
<div>
|
|
{{client.socialName}}
|
|
</div>
|
|
<div>
|
|
{{client.street}}
|
|
</div>
|
|
<div>
|
|
{{client.fi}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sales block -->
|
|
<h3>{{$t('saleLines')}}</h3>
|
|
<table class="column-oriented">
|
|
<thead>
|
|
<tr>
|
|
<td>{{$t('reference')}}</td>
|
|
<td class="number">{{$t('quantity')}}</td>
|
|
<td width="50%">{{$t('concept')}}</td>
|
|
<td class="number">{{$t('price')}}</td>
|
|
<td class="centered">{{$t('discount')}}</td>
|
|
<td class="centered">{{$t('vat')}}</td>
|
|
<td class="number">{{$t('amount')}}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody v-for="sale in sales">
|
|
<tr class="font bold">
|
|
<td>{{sale.itemFk}}</td>
|
|
<td class="number">{{sale.quantity}}</td>
|
|
<td width="50%">{{sale.concept}}</td>
|
|
<td class="number">{{sale.price | currency('EUR', $i18n.locale)}}</td>
|
|
<td class="centered">{{(sale.discount / 100) | percentage}}</td>
|
|
<td class="centered">{{sale.vatType}}</td>
|
|
<td class="number">{{sale.price * sale.quantity * (1 - sale.discount / 100) | currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
<tr class="description">
|
|
<td colspan="2" class="centered">
|
|
<div v-if="sale.value5">
|
|
<strong class="font gray">{{sale.tag5}}</strong>
|
|
<span>{{sale.value5}}</span>
|
|
</div>
|
|
</td>
|
|
<td colspan="3" class="centered">
|
|
<div v-if="sale.value6">
|
|
<strong class="font gray">{{sale.tag6}}</strong>
|
|
<span>{{sale.value6}}</span>
|
|
</div>
|
|
</td>
|
|
<td colspan="2" class="centered">
|
|
<div v-if="sale.value7">
|
|
<strong class="font gray">{{sale.tag7}}</strong>
|
|
<span>{{sale.value7}}</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr class="description phytosanitary" v-if="sale.passportNumber">
|
|
<td colspan="7">
|
|
{{sale.ediBotanic}} {{sale.denomination}} {{sale.countryCode}}-{{sale.passportNumber}}
|
|
<span v-if="sale.isProtectedZone">ZP</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<td colspan="6">
|
|
<span class="pull-right">{{$t('subtotal')}}</span>
|
|
</td>
|
|
<td class="number">{{getSubTotal() | currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
<!-- End of sales block -->
|
|
|
|
<div class="columns">
|
|
<!-- Services block-->
|
|
<div class="size100 no-page-break" v-if="services.length > 0">
|
|
<h3>{{$t('services')}}</h3>
|
|
<table class="column-oriented">
|
|
<thead>
|
|
<tr>
|
|
<td>{{$t('concept')}}</td>
|
|
<td class="number">{{$t('quantity')}}</td>
|
|
<td>{{$t('vatType')}}</td>
|
|
<td class="number">{{$t('amount')}}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="service in services">
|
|
<td>{{service.description}}</td>
|
|
<td class="number">{{service.quantity}}</td>
|
|
<td>{{service.taxDescription}}</td>
|
|
<td class="number">{{service.price | currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<td colspan="3"></td>
|
|
<td class="number">{{$t('total')}} {{serviceTotal | currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
<!-- End of services block -->
|
|
|
|
<!-- Taxes block -->
|
|
<div id="taxes" class="size50 pull-right no-page-break" v-if="taxes">
|
|
<h3>{{$t('taxBreakdown')}}</h3>
|
|
<table class="column-oriented">
|
|
<thead>
|
|
<tr>
|
|
<td width="45%">{{$t('type')}}</td>
|
|
<td width="20%" class="number">
|
|
{{$t('taxBase')}}
|
|
</td>
|
|
<td>{{$t('tax')}}</td>
|
|
<td class="number">{{$t('fee')}}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="tax in taxes">
|
|
<td width="45%">{{tax.name}}</td>
|
|
<td width="20%" class="number">
|
|
{{tax.Base | currency('EUR', $i18n.locale)}}
|
|
</td>
|
|
<td>{{tax.vatPercent | percentage}}</td>
|
|
<td class="number">{{tax.tax | currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr class="font bold">
|
|
<td width="45%">{{$t('subtotal')}}</td>
|
|
<td width="20%" class="number">
|
|
{{getTotalBase() | currency('EUR', $i18n.locale)}}
|
|
</td>
|
|
<td></td>
|
|
<td class="number">{{getTotalTax()| currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
<tr class="font bold">
|
|
<td colspan="2">{{$t('total')}}</td>
|
|
<td colspan="2" class="number">{{getTotal() | currency('EUR', $i18n.locale)}}</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
<!-- End of taxes block -->
|
|
|
|
<!-- Packages block -->
|
|
<div id="packagings" class="size100 no-page-break" v-if="packagings.length > 0">
|
|
<h3>{{$t('packagings')}}</h3>
|
|
<table class="column-oriented">
|
|
<thead>
|
|
<tr>
|
|
<td>Id</td>
|
|
<td>{{$t('concept')}}</td>
|
|
<td class="number">{{$t('quantity')}}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="packaging in packagings">
|
|
<td>{{packaging.itemFk}}</td>
|
|
<td>{{packaging.name}}</td>
|
|
<td class="number">{{packaging.quantity}}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- End of packages block -->
|
|
|
|
<!-- Signature block -->
|
|
<div class="size50 pull-left no-page-break">
|
|
<div id="signature" class="panel" v-if="signature && signature.id">
|
|
<div class="header">{{$t('digitalSignature')}}</div>
|
|
<div class="body centered">
|
|
<img v-bind:src="dmsPath"/>
|
|
<div>{{signature.created | date('%d-%m-%Y')}}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End of signature block -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Footer block -->
|
|
<div class="grid-row">
|
|
<div class="grid-block">
|
|
<report-footer id="pageFooter"
|
|
v-bind:company-code="ticket.companyCode"
|
|
v-bind:show-phytosanitary="true"
|
|
v-bind:left-text="$t('ticket', [ticket.id])"
|
|
v-bind:center-text="client.socialName"
|
|
v-bind="$props">
|
|
</report-footer>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</body>
|
|
</html> |