Merge pull request '3112 - addd cmr-authorization report' (#817) from 3112-cmr_report into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #817 Reviewed-by: Carlos Jimenez Ruiz <carlosjr@verdnatura.es>
This commit is contained in:
commit
9c518e182d
|
@ -0,0 +1,8 @@
|
|||
const Stylesheet = require(`${appPath}/core/stylesheet`);
|
||||
|
||||
module.exports = new Stylesheet([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${appPath}/common/css/report.css`,
|
||||
`${appPath}/common/css/misc.css`,
|
||||
`${__dirname}/style.css`])
|
||||
.mergeStyles();
|
|
@ -0,0 +1,31 @@
|
|||
.grid-block {
|
||||
font-size: 1.2em
|
||||
}
|
||||
|
||||
.signature .dummy-signature {
|
||||
width: 400px;
|
||||
height: 190px;
|
||||
display: block;
|
||||
content: '';
|
||||
overflow: hidden;
|
||||
clear:both
|
||||
}
|
||||
|
||||
.signature img {
|
||||
width: 400px
|
||||
}
|
||||
|
||||
.signature table {
|
||||
width: 100%;
|
||||
font-size: inherit;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0 10px;
|
||||
}
|
||||
|
||||
.signature table tr > td:first-child {
|
||||
width: 50%
|
||||
}
|
||||
|
||||
.signature table tr > td:last-child {
|
||||
border-bottom: 1px dashed #CCC
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 101 KiB |
|
@ -0,0 +1,99 @@
|
|||
<!DOCTYPE html>
|
||||
<html v-bind:lang="$i18n.locale">
|
||||
<body>
|
||||
<table class="grid">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<!-- Header block -->
|
||||
<report-header v-bind="$props"></report-header>
|
||||
<!-- Block -->
|
||||
<div class="grid-row">
|
||||
<div class="grid-block">
|
||||
<p v-html="$t('description', {
|
||||
socialName: client.socialName,
|
||||
name: client.name,
|
||||
address: client.street,
|
||||
country: client.country,
|
||||
fiscalID: client.fi
|
||||
})"></p>
|
||||
<p v-html="$t('declaration', {
|
||||
socialName: client.socialName
|
||||
})"></p>
|
||||
<p
|
||||
v-for="(declaration, $index) in $t('declarations')"
|
||||
v-html="$t('declarations[' + $index + ']', {
|
||||
socialName: client.socialName,
|
||||
destinationCountry: ticket.country,
|
||||
destinationWarehouse: ticket.warehouse
|
||||
})">
|
||||
</p>
|
||||
|
||||
<div class="columns">
|
||||
<div class="size50 signature">
|
||||
<p class="centered">{{client.name}}</p>
|
||||
<div class="dummy-signature centered"></div>
|
||||
<p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{$t('signer.representative')}}:</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{$t('signer.representativeRole')}}:</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{$t('signer.signed')}}:</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
<div class="size50 signature centered">
|
||||
<p>{{$t('signature')}}</p>
|
||||
<img v-bind:src="getReportSrc('signature.png')">
|
||||
<p>
|
||||
<div>Juan Vicente Ferrer Roig</div>
|
||||
<div>Director</div>
|
||||
<p>{{$t('issued', [
|
||||
'Algemesí',
|
||||
issued.getDate(),
|
||||
$t('months')[issued.getMonth()],
|
||||
issued.getFullYear()])
|
||||
}}
|
||||
</p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="signature">
|
||||
<p>{{$t('issued', [
|
||||
'Algemesí',
|
||||
invoice.issued.getDate(),
|
||||
$t('months')[invoice.issued.getMonth()],
|
||||
invoice.issued.getFullYear()])
|
||||
}}
|
||||
</p>
|
||||
<p><em>({{$t('signature')}})</em></p>
|
||||
<img v-bind:src="getReportSrc('signature.png')">
|
||||
<p>
|
||||
<div>{{$t('signer.name')}}: JUAN VICENTE FERRER ROIG</div>
|
||||
<div>{{$t('signer.ID')}}: 73943586N</div>
|
||||
<div>{{$t('signer.position')}}: ADMINISTRADOR</div>
|
||||
</p>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Footer block -->
|
||||
<report-footer id="pageFooter"
|
||||
v-bind:left-text="$t('client', [client.id])"
|
||||
v-bind="$props">
|
||||
</report-footer>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,29 @@
|
|||
const Component = require(`${appPath}/core/component`);
|
||||
const reportHeader = new Component('report-header');
|
||||
const reportFooter = new Component('report-footer');
|
||||
|
||||
module.exports = {
|
||||
name: 'cmr-authorization',
|
||||
async serverPrefetch() {
|
||||
this.ticket = await this.findOneFromDef('ticket', [this.ticketId]);
|
||||
if (!this.ticket)
|
||||
throw new Error('Something went wrong');
|
||||
|
||||
this.client = await this.findOneFromDef('client', [this.ticket.clientFk]);
|
||||
|
||||
},
|
||||
computed: {
|
||||
issued: function() {
|
||||
return new Date();
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'report-header': reportHeader.build(),
|
||||
'report-footer': reportFooter.build()
|
||||
},
|
||||
props: {
|
||||
ticketId: {
|
||||
required: true
|
||||
}
|
||||
}
|
||||
};
|
|
@ -0,0 +1,41 @@
|
|||
description: '<em>{socialName}</em> una sociedad debidamente constituida con responsabilidad <em>limitada</em>
|
||||
y registrada conforme al derecho de sociedades de {country} y aquí representada por
|
||||
<span>___________________</span>. {socialName}, con domicilio en {address},
|
||||
CIF <em>{fiscalID}</em>. En adelante denominada {name}.'
|
||||
issued: 'En {0}, a {1} de {2} de {3}'
|
||||
client: 'Client {0}'
|
||||
declaration: '<em>{socialName}</em> declara por la presente que:'
|
||||
declarations:
|
||||
- 'Todas las compras realizadas por {socialName} con Verdnatura Levante, S.L. se
|
||||
entregan, Ex Works (Incoterms), en el almacén de Verdnatura Levante, S.L. situado en
|
||||
{destinationWarehouse}.'
|
||||
- '{socialName} reconoce que es importante para Verdnatura Levante, S.L. tener
|
||||
comprobante de la entrega intracomunitaria de la mercancía a {destinationCountry} para
|
||||
poder facturar con 0% de IVA.'
|
||||
- 'Por tanto, al firmar este acuerdo, {socialName} declara que todos los bienes que
|
||||
se compren a Verdnatura Levante, S.L. serán entregados a {destinationCountry}.'
|
||||
- 'Además, {socialName} deberá, a primera solicitud de Verdnatura Levante, S.L.,
|
||||
proporcionar una prueba de que todos los productos comprados a Verdnatura Levante, S.L. han
|
||||
sido entregados en {destinationCountry}.'
|
||||
- 'Además de lo anterior, Verdnatura Levante, S.L. proporcionará a {socialName}
|
||||
un resumen mensual en el que se incluyen todas las facturas (y las entregas correspondientes).
|
||||
{socialName} firmará y devolverá el resumen mensual a Verdnatura Levante,
|
||||
S.L. dentro de los 5 días posteriores a la recepción del resumen.'
|
||||
signature: Verdnatura Levante, S.L.
|
||||
signer:
|
||||
representative: Representante
|
||||
representativeRole: Cargo del representante
|
||||
signed: Fecha de firma
|
||||
months:
|
||||
- 'Enero'
|
||||
- 'Febrero'
|
||||
- 'Marzo'
|
||||
- 'Abril'
|
||||
- 'Mayo'
|
||||
- 'Junio'
|
||||
- 'Julio'
|
||||
- 'Agosto'
|
||||
- 'Septiembre'
|
||||
- 'Octubre'
|
||||
- 'Noviembre'
|
||||
- 'Diciembre'
|
|
@ -0,0 +1,10 @@
|
|||
SELECT
|
||||
c.id,
|
||||
c.socialName,
|
||||
c.name,
|
||||
c.fi,
|
||||
c.street,
|
||||
cty.country
|
||||
FROM client c
|
||||
JOIN country cty ON cty.id = c.countryFk
|
||||
WHERE c.id = ?
|
|
@ -0,0 +1,12 @@
|
|||
SELECT
|
||||
t.id,
|
||||
t.clientFk,
|
||||
cty.country,
|
||||
w.name AS warehouse
|
||||
FROM ticket t
|
||||
JOIN warehouse w ON w.id = t.warehouseFk
|
||||
JOIN address a ON a.id = t.addressFk
|
||||
JOIN province p ON p.id = a.provinceFk
|
||||
JOIN autonomy au ON au.id = p.autonomyFk
|
||||
JOIN country cty ON cty.id = au.countryFk
|
||||
WHERE t.id = ?
|
Loading…
Reference in New Issue