FruitBankHybridApp/FruitBankHybrid.Shared/Components/Grids/ShippingDocuments/GridShippingDocumentInfoPan...

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);
}
}