* Added fields for scanning barcodes

This commit is contained in:
2025-05-28 21:06:39 +02:00
parent 53d99bf65f
commit 269d9c87a4

View File

@@ -20,6 +20,16 @@
<SfTextBox ID="textBox" Placeholder="Wprowadź adresy..." @bind-Value="@EmailAddresses" CssClass="e-outline"/> <SfTextBox ID="textBox" Placeholder="Wprowadź adresy..." @bind-Value="@EmailAddresses" CssClass="e-outline"/>
</CardContent> </CardContent>
</SfCard> </SfCard>
<SfCard>
<CardContent>
<label for="textBox" class="form-label">Wprowadź numer palety:</label>
<SfTextBox ID="palletNumber" Type="InputType.Number" @bind-Value="@PalletNumber" CssClass="e-outline"/>
<label for="textBox" class="form-label">Zeskanowana wartość:</label>
<SfTextBox ID="scannedValue" @onkeydown="ScanValue" @bind-Value="ScannedValue" CssClass="e-outline"/>
<label for="textBox" class="form-label">Zeskanowane wartości:</label>
<SfTextBox ID="scannedText" Multiline="true" @bind-Value="@ScannedValues" Readonly="true" CssClass="e-outline"/>
</CardContent>
</SfCard>
<SfGrid @ref="_grid" <SfGrid @ref="_grid"
AllowFiltering="true" AllowFiltering="true"
AllowPaging="true" AllowPaging="true"
@@ -101,14 +111,21 @@
private SfGrid<WzRowMeyleDto> _grid; private SfGrid<WzRowMeyleDto> _grid;
private IEnumerable<WzRowMeyleDto> _wzRowsMeyle { get; set; } = new List<WzRowMeyleDto>(); private IEnumerable<WzRowMeyleDto> _wzRowsMeyle { get; set; } = new List<WzRowMeyleDto>();
private WzHeaderDto _wzHeader; private WzHeaderDto _wzHeader;
private bool _isValid; private bool _isValid;
private bool Visibility { get; set; } private bool Visibility { get; set; }
private string EmailAddresses { get; set; } = string.Empty; private string? EmailAddresses { get; set; } = string.Empty;
private string PalletNumber { get; set; } = "0";
private string ScannedValues { get; set; } = string.Empty;
private IDictionary<string, string?> ScannedValuesWithItems { get; set; } = new Dictionary<string, string?>();
private string LastScannedValue { get; set; } = string.Empty;
private string ScannedValue { get; set; } = string.Empty;
private void HideModal() private void HideModal()
{ {
Visibility = false; Visibility = false;
@@ -120,20 +137,22 @@
{ {
_wzHeader = await WarehouseService.GetWzHeaderByIdAsync(WzHeader); _wzHeader = await WarehouseService.GetWzHeaderByIdAsync(WzHeader);
_wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader); _wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader);
_wzRowsMeyle.ToList().ForEach(x => ScannedValuesWithItems.Add(x.ItemNumber.Replace(" ", ""), null));
EmailAddresses = _wzHeader.EmailAddresses; EmailAddresses = _wzHeader.EmailAddresses;
StateHasChanged(); StateHasChanged();
} }
} }
private async Task SaveChanges() private async Task SaveChanges()
{ {
if (!string.IsNullOrWhiteSpace(EmailAddresses)) if (!string.IsNullOrWhiteSpace(EmailAddresses))
{ {
await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses); await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses);
} }
await _grid.EndEditAsync(); await _grid.EndEditAsync();
} }
@@ -143,7 +162,7 @@
var changedRecords = changes.ChangedRecords; var changedRecords = changes.ChangedRecords;
if (!changedRecords.Any()) return; if (!changedRecords.Any()) return;
await WarehouseService.UpdateWzRowsMeyleAsync(changedRecords); await WarehouseService.UpdateWzRowsMeyleAsync(changedRecords);
_wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader); _wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader);
@@ -157,7 +176,7 @@
_isValid = count == 0; _isValid = count == 0;
_isValid = _isValid && !string.IsNullOrWhiteSpace(EmailAddresses); _isValid = _isValid && !string.IsNullOrWhiteSpace(EmailAddresses);
if (_isValid) if (_isValid)
{ {
await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses); await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses);
@@ -166,4 +185,21 @@
Visibility = true; Visibility = true;
} }
private void ScanValue(KeyboardEventArgs obj)
{
if (obj.Key != "Enter") return;
LastScannedValue = ScannedValue.Trim();
if (!ScannedValuesWithItems.ContainsKey(ScannedValues.Replace(" ", "").Trim()) && ScannedValuesWithItems.ContainsKey(LastScannedValue.Replace(" ", "").Trim()))
{
ScannedValuesWithItems[LastScannedValue] = ScannedValue.Trim();
ScannedValues += $"{ScannedValue})\n";
}
else if(!string.IsNullOrWhiteSpace(ScannedValue))
{
ScannedValues += $"{ScannedValue}: ";
}
}
} }