101 lines
3.4 KiB
Plaintext
101 lines
3.4 KiB
Plaintext
@using AyCode.Blazor.Components.Components.Grids
|
|
@using DevExpress.Blazor
|
|
@using FruitBank.Common.Entities
|
|
@using System.IO
|
|
@inject IJSRuntime JS
|
|
|
|
<MgGridInfoPanel OnDataItemChanged="OnDataItemChangedAsync">
|
|
@* <HeaderTemplate Context="dataItem">
|
|
<div class="dxbl-grid-header-panel px-3 py-2 border-bottom d-flex align-items-center">
|
|
<span class="me-2">??</span>
|
|
<span class="fw-semibold">Szállítólevél részletei</span>
|
|
</div>
|
|
</HeaderTemplate> *@
|
|
|
|
@* <BeforeColumnsTemplate Context="dataItem">
|
|
@if (dataItem is ShippingDocument doc)
|
|
{
|
|
<div class="alert alert-info mb-2 py-1 px-2 small">
|
|
<strong>Partner:</strong> @doc.Partner?.Name
|
|
</div>
|
|
}
|
|
</BeforeColumnsTemplate> *@
|
|
|
|
<AfterColumnsTemplate Context="dataItem">
|
|
@if (dataItem is ShippingDocument doc)
|
|
{
|
|
<table class="table table-sm table-bordered table-striped" style="margin-top: 35px;">
|
|
<colgroup>
|
|
<col style="width: auto;" />
|
|
<col style="width: 25%;" />
|
|
<col style="width: 65px;" />
|
|
<col style="width: 65px;" />
|
|
<col style="width: 65px;" />
|
|
<col style="width: 65px;" />
|
|
</colgroup>
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th>Név a dokumentumon</th>
|
|
<th>Termék neve</th>
|
|
<th class="text-end">Rakl.</th>
|
|
<th class="text-end">Menny.</th>
|
|
<th class="text-end">Net.súly</th>
|
|
<th class="text-end">Br.súly</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var shippingItem in doc.ShippingItems)
|
|
{
|
|
<tr>
|
|
<td>@shippingItem.NameOnDocument</td>
|
|
<td>@shippingItem.ProductName</td>
|
|
<td class="text-end">@shippingItem.PalletsOnDocument</td>
|
|
<td class="text-end">@shippingItem.QuantityOnDocument</td>
|
|
<td class="text-end">@shippingItem.NetWeightOnDocument</td>
|
|
<td class="text-end">@shippingItem.GrossWeightOnDocument</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
<tfoot class="table-light fw-bold">
|
|
<tr>
|
|
<td>TOTAL:</td>
|
|
<td></td>
|
|
<td class="text-end">@doc.ShippingItems.Sum(x => x.PalletsOnDocument)</td>
|
|
<td class="text-end">@doc.ShippingItems.Sum(x => x.QuantityOnDocument)</td>
|
|
<td class="text-end">@double.Round(doc.ShippingItems.Sum(x => x.NetWeightOnDocument), 1)</td>
|
|
<td class="text-end">@double.Round(doc.ShippingItems.Sum(x => x.GrossWeightOnDocument), 1)</td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
|
|
<div id="pdfContainer" style="width: 100%; height: 800px; overflow-y: auto; margin-top: 30px;">
|
|
</div>
|
|
}
|
|
</AfterColumnsTemplate>
|
|
|
|
@* <FooterTemplate Context="dataItem">
|
|
<div class="p-2 border-top d-flex gap-2">
|
|
<DxButton Text="Nyomtatás" IconCssClass="dx-icon dx-icon-print" RenderStyle="ButtonRenderStyle.Light" />
|
|
<DxButton Text="Export" IconCssClass="dx-icon dx-icon-export" RenderStyle="ButtonRenderStyle.Light" />
|
|
</div>
|
|
</FooterTemplate> *@
|
|
</MgGridInfoPanel>
|
|
|
|
@code
|
|
{
|
|
private readonly string[] _pdfFiles =
|
|
[
|
|
"1_Albaran_AH25007715.pdf",
|
|
"2_BANK FRA.pdf",
|
|
"3_BP-30M35_20251113_163816.pdf"
|
|
];
|
|
|
|
private async Task OnDataItemChangedAsync(object? dataItem)
|
|
{
|
|
// Véletlenszerű PDF kiválasztása minden sor váltáskor
|
|
var randomPdf = _pdfFiles[Random.Shared.Next(_pdfFiles.Length)];
|
|
var pdfUrls = new[] { $"_content/FruitBankHybrid.Shared/uploads/{randomPdf}" };
|
|
await JS.InvokeVoidAsync("pdfViewer.renderPdfs", "pdfContainer", pdfUrls);
|
|
}
|
|
}
|