|
|
|
|
@ -19,34 +19,34 @@
|
|
|
|
|
<h6>Detalles del presupuesto</h6>
|
|
|
|
|
<dl class="row mb-0">
|
|
|
|
|
<dt class="col-6 py-1 fw-normal text-end">Coste papel</dt>
|
|
|
|
|
<dd id="totalCostePapel" class="py-1 col-6 text-end">NaN €</dd>
|
|
|
|
|
<dd id="totalCostePapel" class="py-1 col-6 text-end"><?= old('0', $presupuestoEntity->total_coste_papel) ?>€</dd>
|
|
|
|
|
<dt class="col-6 py-1 fw-normal text-end">Margen papel</dt>
|
|
|
|
|
<dd id="porcentajeMargenPapel" class="col-4 text-end py-1">NaN €</dd>
|
|
|
|
|
<dd id="margenPapel" class="col-2 text-end py-1">NaN €</dd>
|
|
|
|
|
<dd id="porcentajeMargenPapel" class="col-4 text-end py-1"><?= old('0', $presupuestoEntity->total_margenPercent_papel) ?>%</dd>
|
|
|
|
|
<dd id="margenPapel" class="col-2 text-end py-1"><?= old('0', $presupuestoEntity->total_margen_papel) ?>€</dd>
|
|
|
|
|
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Coste impresión</dt>
|
|
|
|
|
<dd id="totalCosteImpresion" class="col-6 text-end">NaN €</dd>
|
|
|
|
|
<dd id="totalCosteImpresion" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_coste_impresion) ?>€</dd>
|
|
|
|
|
<dt class="col-6 py-1 fw-normal text-end">Margen impresión</dt>
|
|
|
|
|
<div class="d-flex col-4 flex-row-reverse"><input id="margenImpresionValue" type='number' value="15" class="update-totales form-control" style="width:50% !important;"></div>
|
|
|
|
|
<dd id="margenImpresion" class="col-2 py-1 text-end">NaN €</dd>
|
|
|
|
|
<dd id="porcentajeMargenImpresion" class="col-4 text-end py-1"><?= old('0', $presupuestoEntity->total_margenPercent_impresion) ?>%</dd>
|
|
|
|
|
<dd id="margenImpresion" class="col-2 py-1 text-end"><?= old('0', $presupuestoEntity->total_margen_impresion) ?>€</dd>
|
|
|
|
|
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Coste servicios</dt>
|
|
|
|
|
<dd id="totalServicios" class="col-6 text-end py-1">NaN €</dd>
|
|
|
|
|
<dd id="totalServicios" class="col-6 text-end py-1"><?= old('0', $presupuestoEntity->total_coste_servicios) ?>€</dd>
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Margen servicios</dt>
|
|
|
|
|
<dd id="porcentajeMargenServicios" class="col-4 text-end py-1">NaN €</dd>
|
|
|
|
|
<dd id="margenServicios" class="col-2 text-end py-1">NaN €</dd>
|
|
|
|
|
<dd id="porcentajeMargenServicios" class="col-4 text-end py-1"><?= old('0', $presupuestoEntity->total_margenPercent_servicios) ?>%</dd>
|
|
|
|
|
<dd id="margenServicios" class="col-2 text-end py-1"><?= old('0', $presupuestoEntity->total_margen_servicios) ?>€</dd>
|
|
|
|
|
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Coste de envío</dt>
|
|
|
|
|
<dd id="totalEnvios"class="col-6 text-end py-1">NaN€</dd>
|
|
|
|
|
<dd id="totalEnvios"class="col-6 text-end py-1"><?= old('0', $presupuestoEntity->total_coste_envios) ?>€</dd>
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Margen envío</dt>
|
|
|
|
|
<dd id="margenEnvios" class="col-6 text-end py-1">NaN €</dd>
|
|
|
|
|
<dd id="margenEnvios" class="col-6 text-end py-1"><?= old('0', $presupuestoEntity->total_margen_envios) ?>€</dd>
|
|
|
|
|
|
|
|
|
|
<hr class="mx-n4">
|
|
|
|
|
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Total Costes</dt>
|
|
|
|
|
<dd id="totalCostes" class="col-6 text-end">NaN €</dd>
|
|
|
|
|
<dd id="totalCostes" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_costes) ?>€</dd>
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Total Margen</dt>
|
|
|
|
|
<dd id="totalMargenes" class="col-6 text-end">NaN €</dd>
|
|
|
|
|
<dd id="totalMargenes" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_margenes) ?>€</dd>
|
|
|
|
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
@ -54,14 +54,14 @@
|
|
|
|
|
|
|
|
|
|
<dl class="row mb-0">
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Total</dt>
|
|
|
|
|
<dd id="totalAntesDescuento" class="col-6 text-end">NaN €</dd>
|
|
|
|
|
<dd id="totalAntesDescuento" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_antes_descuento) ?>€</dd>
|
|
|
|
|
<dt class="col-6 py-1 fw-normal text-end">Descuento</dt>
|
|
|
|
|
<div class="d-flex col-4 flex-row-reverse"><input id="descuento" type='number' value="0" class="update-totales form-control" style="width:50% !important;"></div>
|
|
|
|
|
<dd id="descuentoTotal" class="col-2 py-1 text-end">NaN €</dd>
|
|
|
|
|
<div class="d-flex col-4 flex-row-reverse"><input id="descuento" name="total_descuentoPercent" type='number' value="<?= old('0', $presupuestoEntity->total_descuentoPercent) ?>" class="update-totales form-control" style="width:50% !important;"></div>
|
|
|
|
|
<dd id="descuentoTotal" class="col-2 py-1 text-end"><?= old('0', $presupuestoEntity->total_descuento) ?>€</dd>
|
|
|
|
|
<dt class="col-6 text-end">Total presupuesto</dt>
|
|
|
|
|
<dd id="totalDespuesDecuento" class="col-6 fw-semibold text-end">NaN €</dd>
|
|
|
|
|
<dd id="totalDespuesDecuento" class="col-6 fw-semibold text-end"><?= old('0', $presupuestoEntity->total_presupuesto) ?>€</dd>
|
|
|
|
|
<dt class="col-6 fw-normal text-end">Precio unidad</dt>
|
|
|
|
|
<dd id="precioUnidadPresupuesto" class="col-6 text-end mb-0">NaN €</dd>
|
|
|
|
|
<dd id="precioUnidadPresupuesto" class="col-6 text-end mb-0"><?= old('0', $presupuestoEntity->total_precio_unidad) ?>€</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="d-grid float-end mb-4">
|
|
|
|
|
@ -82,99 +82,114 @@
|
|
|
|
|
<!------------------------------------------------------->
|
|
|
|
|
<?= $this->section("additionalInlineJs") ?>
|
|
|
|
|
|
|
|
|
|
updateTotales()
|
|
|
|
|
|
|
|
|
|
function updateTotales(){
|
|
|
|
|
|
|
|
|
|
function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
|
|
|
|
totalPapel = 0
|
|
|
|
|
margenPapel = 0
|
|
|
|
|
|
|
|
|
|
totalImpresion = 0
|
|
|
|
|
margenImpresion = 0
|
|
|
|
|
|
|
|
|
|
totalServicios = 0
|
|
|
|
|
margenServicios = 0
|
|
|
|
|
|
|
|
|
|
$('#tableLineasPresupuesto tbody tr:visible ').each(function(){
|
|
|
|
|
if($('#' + this.id + '_checkPapel').prop('checked')){
|
|
|
|
|
totalPapel += parseFloat($('#' + this.id + '_totalPapelPedido').val())
|
|
|
|
|
margenPapel += parseFloat($('#' + this.id + '_margenPapelPedido').val())
|
|
|
|
|
if(updateLP){
|
|
|
|
|
if(typeof tableLineasPresupuesto !== 'undefined'){
|
|
|
|
|
tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
|
|
|
|
|
var rowData = this.data();
|
|
|
|
|
if($('#' + rowData.row_id + '_checkPapel').prop('checked')){
|
|
|
|
|
totalPapel += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val())
|
|
|
|
|
margenPapel += parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val())
|
|
|
|
|
}
|
|
|
|
|
if($('#' + rowData.row_id + '_checkClicks').prop('checked')){
|
|
|
|
|
totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
|
|
|
|
|
margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
|
|
|
|
|
if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())))
|
|
|
|
|
totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if($('#' + this.id + '_checkClicks').prop('checked')){
|
|
|
|
|
totalImpresion += parseFloat($('#' + this.id + '_totalClicks').val())
|
|
|
|
|
|
|
|
|
|
var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100)?0:margenPapel/(totalPapel)*100
|
|
|
|
|
$('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
|
|
|
|
|
$('#totalCostePapel').text(totalPapel.toFixed(2)+ '€')
|
|
|
|
|
$('#margenPapel').text(margenPapel.toFixed(2) + '€')
|
|
|
|
|
|
|
|
|
|
var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresion)*100)?0:margenImpresion/(totalImpresion)*100
|
|
|
|
|
$('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%')
|
|
|
|
|
$('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€')
|
|
|
|
|
$('#margenImpresion').text(margenImpresion.toFixed(2) + '€')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(updateServicios){
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosEnc !== 'undefined' && tableServiciosEnc.rows().count() > 0){
|
|
|
|
|
$('#tableOfServiciosEncuadernacion tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosEncuadernacion').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_total_encuadernado_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#enc_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
var porcentajeMargenPapel = margenPapel/(totalPapel)*100
|
|
|
|
|
$('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
|
|
|
|
|
$('#totalCostePapel').text(totalPapel.toFixed(2) + '€')
|
|
|
|
|
$('#margenPapel').text(margenPapel.toFixed(2) + '€')
|
|
|
|
|
|
|
|
|
|
margenImpresion = totalImpresion*$('#margenImpresionValue').val()/100.0
|
|
|
|
|
$('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€')
|
|
|
|
|
$('#margenImpresion').text((totalImpresion*$('#margenImpresionValue').val()/100.0).toFixed(2) + '€')
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosEnc !== 'undefined' && tableServiciosEnc.rows().count() > 0){
|
|
|
|
|
$('#tableOfServiciosEncuadernacion tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosEncuadernacion').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_total_encuadernado_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#enc_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
if ( typeof tableServiciosAcabado !== 'undefined' && tableServiciosAcabado.rows().count() > 0){
|
|
|
|
|
$('#tableOfServiciosAcabado tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosAcabado').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_total_acabado_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#acabado_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosPreimpresion !== 'undefined' && tableServiciosPreimpresion.rows().count() > 0){
|
|
|
|
|
|
|
|
|
|
$('#tableOfServiciosPreimpresion tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosPreimpresion').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_preimpresion_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#preimpresion_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosManipulado !== 'undefined' && tableServiciosManipulado.rows().count() > 0){
|
|
|
|
|
|
|
|
|
|
$('#tableOfServiciosManipulado tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosManipulado').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_total_manipulado_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#manipulado_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
totalServicios -= margenServicios;
|
|
|
|
|
var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100
|
|
|
|
|
$('#porcentajeMargenServicios').text(porcentajeMargenServicios.toFixed(0) + '%')
|
|
|
|
|
$('#totalServicios').text(totalServicios.toFixed(2) + '€')
|
|
|
|
|
$('#margenServicios').text(margenServicios.toFixed(2) + '€')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosAcabado !== 'undefined' && tableServiciosAcabado.rows().count() > 0){
|
|
|
|
|
$('#tableOfServiciosAcabado tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosAcabado').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_total_acabado_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#acabado_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosPreimpresion !== 'undefined' && tableServiciosPreimpresion.rows().count() > 0){
|
|
|
|
|
|
|
|
|
|
$('#tableOfServiciosPreimpresion tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosPreimpresion').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_preimpresion_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#preimpresion_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
if(updateEnvio){
|
|
|
|
|
|
|
|
|
|
var totalEnvios = 0
|
|
|
|
|
var margenEnvios = 0
|
|
|
|
|
if ( typeof tableEnvios !== 'undefined' && tableEnvios.rows().count() > 0){
|
|
|
|
|
tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
|
|
|
|
|
var data = this.data()
|
|
|
|
|
totalEnvios += parseFloat(data.precio)
|
|
|
|
|
margenEnvios += parseFloat((data.precio)*data.margen/100)
|
|
|
|
|
} );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
totalEnvios -= margenEnvios
|
|
|
|
|
$('#totalEnvios').text(totalEnvios.toFixed(2) + '€')
|
|
|
|
|
$('#margenEnvios').text(margenEnvios.toFixed(2) + '€')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( typeof tableServiciosManipulado !== 'undefined' && tableServiciosManipulado.rows().count() > 0){
|
|
|
|
|
|
|
|
|
|
$('#tableOfServiciosManipulado tbody tr').each(function(){
|
|
|
|
|
var currentRow = $(this).closest("tr");
|
|
|
|
|
var subId = $('#tableOfServiciosManipulado').DataTable().cell(currentRow,0).node().innerHTML;
|
|
|
|
|
var total = parseFloat($('#precio_total_manipulado_' + subId)[0].value)
|
|
|
|
|
totalServicios += total
|
|
|
|
|
margenServicios += (total*parseFloat($('#manipulado_margen_' + subId)[0].innerHTML)/100.0)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
totalServicios -= margenServicios;
|
|
|
|
|
var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100
|
|
|
|
|
$('#porcentajeMargenServicios').text(porcentajeMargenServicios.toFixed(0) + '%')
|
|
|
|
|
$('#totalServicios').text(totalServicios.toFixed(2) + '€')
|
|
|
|
|
$('#margenServicios').text(margenServicios.toFixed(2) + '€')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var totalEnvios = 0
|
|
|
|
|
var margenEnvios = 0
|
|
|
|
|
if ( typeof tableEnvios !== 'undefined' && tableEnvios.rows().count() > 0){
|
|
|
|
|
tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
|
|
|
|
|
var data = this.data()
|
|
|
|
|
totalEnvios += parseFloat(data.precio)
|
|
|
|
|
margenEnvios += parseFloat((data.precio)*data.margen/100)
|
|
|
|
|
} );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
totalEnvios -= margenEnvios
|
|
|
|
|
$('#totalEnvios').text(totalEnvios.toFixed(2) + '€')
|
|
|
|
|
$('#margenEnvios').text(margenEnvios.toFixed(2) + '€')
|
|
|
|
|
|
|
|
|
|
var totalCostes = totalPapel + totalImpresion + totalServicios + totalEnvios
|
|
|
|
|
var totalMargenes = margenPapel + margenImpresion + margenServicios + margenEnvios
|
|
|
|
|
$('#totalCostes').text((totalCostes).toFixed(2) + '€')
|
|
|
|
|
@ -189,11 +204,42 @@ function updateTotales(){
|
|
|
|
|
$('#descuentoTotal').text((totalDescuento).toFixed(2) + '€')
|
|
|
|
|
$('#totalDespuesDecuento').text((totalPresupuesto).toFixed(2) + '€')
|
|
|
|
|
$('#precioUnidadPresupuesto').text((precioUnidad).toFixed(2) + '€')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getValuesResumenForm(){
|
|
|
|
|
var formResumen = ""
|
|
|
|
|
formResumen += '&total_coste_papel=' + $('#totalCostePapel').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margen_papel=' + $('#margenPapel').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margenPercent_papel=' + $('#porcentajeMargenPapel').text().replace('%', '')
|
|
|
|
|
|
|
|
|
|
formResumen += '&total_coste_impresion=' + $('#totalCosteImpresion').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margen_impresion=' + $('#margenImpresion').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margenPercent_impresion=' + $('#porcentajeMargenImpresion').text().replace('%', '')
|
|
|
|
|
|
|
|
|
|
formResumen += '&total_coste_servicios=' + $('#totalServicios').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margen_servicios=' + $('#margenServicios').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margenPercent_servicios=' + $('#porcentajeMargenServicios').text().replace('%', '')
|
|
|
|
|
|
|
|
|
|
formResumen += '&total_coste_envios=' + $('#totalEnvios').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margen_envios=' + $('#margenEnvios').text().replace('€', '')
|
|
|
|
|
|
|
|
|
|
formResumen += '&total_costes=' + $('#totalCostes').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_margenes=' + $('#totalMargenes').text().replace('€', '')
|
|
|
|
|
|
|
|
|
|
formResumen += '&total_antes_descuento=' + $('#totalAntesDescuento').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_descuento=' + $('#descuentoTotal').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_presupuesto=' + $('#totalDespuesDecuento').text().replace('€', '')
|
|
|
|
|
formResumen += '&total_precio_unidad=' + $('#precioUnidadPresupuesto').text().replace('€', '')
|
|
|
|
|
|
|
|
|
|
return formResumen
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(".update-totales").on("change", function(){
|
|
|
|
|
updateTotales()
|
|
|
|
|
updateTotales(true, true, true)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
<?= $this->endSection() ?>
|
|
|
|
|
|