Files
David Štaleker db0cc8d3de prvi
2025-07-18 05:33:16 +02:00

266 lines
13 KiB
Plaintext

@page
@using System.Web
@model EveryThing.Pages.TransportLoadingOrder.PrintModel
@{
ViewData["Title"] = "Izpis";
Layout = "~/Pages/Layouts/_Layout.cshtml";
}
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
<span>
<span class="text-muted font-weight-light">Nalog /</span> Izpis
</span>
</h4>
<div class="card pt-2" style="width: 595pt">
<div id="print-content" class="card-body pb-4 pl-4 pt-0" style="padding-right: 2rem !important">
<div class="row">
<div class="col-6 h-100 my-auto">
<img src="~/img/logos/@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.LogoFileName)"/>
</div>
<div class="col-6">
<address class="mb-0">
<strong>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Title)</strong> <br/>
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Street) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.HouseNumber) <br/>
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.PostNumber) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Post) <br/>
<div style="font-size: 0.7rem">
E-pošta: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Email), Tel.: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Phone) <br/>
ID za DDV: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.TaxNumber), Matična številka: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.RegistrationNumber)<br/>
IBAN: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Iban) SWIFT/BIC: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.SwiftBic)
</div>
</address>
</div>
</div>
<hr/>
<address class="mb-2">
<strong>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Title)</strong> <br/>
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Street) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.HouseNumber) <br/>
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.PostNumber) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Post) <br/>
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Country.TranslationSlovenian) <br/>
</address>
<div class="mb-3">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderCity), <strong class="font-weight-semibold">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderDate)</strong></div>
<h6 class="text-big font-weight-bold mb-3">Nakladalni nalog št. @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderYear)-@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderNumber)</h6>
<div class="mb-2" style="font-size: 0.75rem">
@Html.Raw(HttpUtility.HtmlDecode(Model.TransportLoadingOrder.PreText))
</div>
<div class="table-responsive mb-4">
<table class="table m-0">
<thead style="font-size: 0.75rem">
<tr>
<th class="py-1">
Naklad
</th>
<th class="py-1">
Razklad
</th>
<th class="py-1">
Tovor
</th>
</tr>
</thead>
<tbody style="font-size: 0.75rem">
@foreach (var item in Model.TransportLoadingOrderLoadUnloadList)
{
<tr>
<td class="py-3">
@if (item.IdLoadingFk == null)
{
@Html.Raw(item.LoadingText.Replace(Environment.NewLine, "<br/>"))
}
else
{
@Html.DisplayFor(modelItem => item.Loading.Title) <br />
@Html.DisplayFor(modelItem => item.Loading.Street) @($" ") @Html.DisplayFor(modelItem => item.Loading.HouseNumber) <br />
@Html.DisplayFor(modelItem => item.Loading.PostNumber) @($" ") @Html.DisplayFor(modelItem => item.Loading.Post)
}
<br />
@if (item.LoadingDateFrom != null)
{
<br />
@item.LoadingDateFrom.Value.ToString("dd.MM.yyyy")
@if (item.LoadingDateTo != null && item.LoadingDateTo.Value.Date != item.LoadingDateFrom.Value.Date)
{
@($" - ") @item.LoadingDateTo.Value.ToString("dd.MM.yyyy")
}
<br />
@item.LoadingDateFrom.Value.ToString("HH:mm")
@if (item.LoadingDateTo != null)
{
@($" - ") @item.LoadingDateTo.Value.ToString("HH:mm")
}
}
@if (!string.IsNullOrEmpty(item.LoadingReference))
{
<br />
@($"Referenca: ") @Html.DisplayFor(modelItem => item.LoadingReference)
}
@if (!string.IsNullOrEmpty(item.LoadingNote))
{
<br />
@($"Opomba: ") @Html.DisplayFor(modelItem => item.LoadingNote)
}
</td>
<td class="py-3">
@if (item.IdUnloadingFk == null)
{
@Html.Raw(item.UnloadingText.Replace(Environment.NewLine, "<br/>"))
}
else
{
@Html.DisplayFor(modelItem => item.Unloading.Title) <br />
@Html.DisplayFor(modelItem => item.Unloading.Street) @($" ") @Html.DisplayFor(modelItem => item.Unloading.HouseNumber) <br />
@Html.DisplayFor(modelItem => item.Unloading.PostNumber) @($" ") @Html.DisplayFor(modelItem => item.Unloading.Post)
}
<br />
@if (item.UnloadingDateFrom != null)
{
<br />
@item.UnloadingDateFrom.Value.ToString("dd.MM.yyyy")
@if (item.UnloadingDateTo != null && item.UnloadingDateTo.Value.Date != item.UnloadingDateFrom.Value.Date)
{
@($" - ") @item.UnloadingDateTo.Value.ToString("dd.MM.yyyy")
}
<br />
@item.UnloadingDateFrom.Value.ToString("HH:mm")
@if (item.UnloadingDateTo != null)
{
@($" - ") @item.UnloadingDateTo.Value.ToString("HH:mm")
}
}
@if (!string.IsNullOrEmpty(item.UnloadingReference))
{
<br />
@($"Referenca: ") @Html.DisplayFor(modelItem => item.UnloadingReference)
}
@if (!string.IsNullOrEmpty(item.UnloadingNote))
{
<br />
@($"Opomba: ") @Html.DisplayFor(modelItem => item.UnloadingNote)
}
</td>
<td class="py-3">
@Html.Raw(HttpUtility.HtmlDecode(item.CargoDescription))
</td>
</tr>
}
</tbody>
</table>
</div>
<div>
Vozilo: <b>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.VehicleText)</b>
</div>
<div class="mb-4">
Cena za nakladalni nalog: <b>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Total) €</b>
</div>
<div style="font-size: 0.75rem">
@Html.Raw(HttpUtility.HtmlDecode(Model.TransportLoadingOrder.PostText))
</div>
<div class="row pt-3" style="font-size: 0.85rem">
<div class="col-4"></div>
<div class="col-4"></div>
<div class="col-4 text-center">
Direktor <br /> @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Ceo)
</div>
</div>
<div style="display: none" id="footer1">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Title), @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Street) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.HouseNumber), @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.PostNumber) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Post), @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Country.TranslationSlovenian); ID za DDV: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.TaxNumber), E-pošta: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Email), Tel.: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Phone)</div>
<div style="display: none" id="footer2">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Bank); IBAN: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Iban); SWIFT/BIC: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.SwiftBic)</div>
</div>
<div class="card-footer text-right">
<button id="print" type="button" class="btn btn-primary ladda-button" data-style="zoom-out"><i class="ion ion-md-print"></i>&nbsp; Natisni</button>
</div>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
<!-- PDF -->
<script src="~/vendor/libs/html2pdf.js/dist/html2pdf.bundle.min.js" asp-append-version="true"></script>
<script>
var laddaPrint = Ladda.create(document.querySelector('#print'));
var element = document.getElementById('print-content');
var opt = {
pagebreak: { mode: 'avoid-all' },
filename: 'nalog.pdf',
image: { type: 'png' },
enableLinks: false,
margin: [5, 0, 13, 0],
html2canvas: {
scale: 4,
scrollX: 0,
scrollY: 0,
dpi: 300,
letterRendering: true
},
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
};
function print() {
laddaPrint.start();
html2pdf().set(opt).from(element).toPdf().get('pdf').then(function (pdf) {
var totalPages = pdf.internal.getNumberOfPages();
for (i = 1; i <= totalPages; i++) {
pdf.setPage(i);
pdf.setFontSize(8);
pdf.setTextColor(0);
var fontSize = pdf.internal.getFontSize();
var pageWidth = pdf.internal.pageSize.width;
var txt = $('#footer1').text();
var txtWidth = pdf.getStringUnitWidth(txt) * fontSize / pdf.internal.scaleFactor;
var x = (pageWidth - txtWidth) / 2;
pdf.text(x, pdf.internal.pageSize.getHeight() - 8, txt);
txt = $('#footer2').text();
txtWidth = pdf.getStringUnitWidth(txt) * fontSize / pdf.internal.scaleFactor;
x = (pageWidth - txtWidth) / 2;
pdf.text(x, pdf.internal.pageSize.getHeight() - 5, txt);
//pdf.addImage("YOUR_IMAGE", 'JPEG', pdf.internal.pageSize.getWidth() - 1.1, pdf.internal.pageSize.getHeight() - 0.25, 1, 0.2);
}
laddaPrint.stop();
window.open(pdf.output('bloburl'), '_blank');
});
}
$(document).ready(function () {
//print();
});
$("#print").click(function () {
print();
});
</script>
}