Modifica interfaccia ordini fornitori

This commit is contained in:
Annamaria Sassi
2026-06-11 12:19:00 +02:00
parent 19a01d258f
commit fb50fb26de
14 changed files with 70 additions and 212 deletions
@@ -18,28 +18,13 @@
</div>
</div>
</div>
@* <div class="card-header py-1">
<div class="@currCss d-flex justify-content-between align-items-center">
<div class="px-0 fw-bold">@CurrPOR.OrderRowUID <button class="btn btn-info btn-sm" @onclick="ToggleDetail"><i class="fa-solid @CssDetail"></i></button></div>
<div class="px-0">
@if (balEnabled)
{
<button class="btn btn-sm btn-dark" @onclick="() => DoBalance(CurrPOR.OrderRowID)" title="Invia a Stima"><i class="fa-solid fa-angles-right"></i></button>
}
else
{
<button class="btn btn-sm btn-secondary disabled" title="Invia a Stima"><i class="fa-solid fa-angles-right"></i></button>
}
</div>
</div>
</div> *@
@if (ShowDetail)
{
<div class="card-body py-1">
<div class="list-group-item d-flex justify-content-between align-items-center small">
<div class="list-group-item d-flex justify-content-between align-items-center small">
<div class="px-0" title="# pezzi totale"><i class="fa-solid fa-folder-tree"></i> @CurrPOR.ProdItemQtyTot Parts</div>
<div class="px-0" title="Tempo massimo stimato">Time <i class="fa-solid fa-clock"></i> @FormatEstTime(CurrPOR.ProdEstimTime)</div>
</div>
<div class="px-0" title="Tempo massimo stimato"><i class="fa-solid fa-clock"></i> @FormatEstTime(CurrPOR.ProdEstimTime)</div>
</div>
</div>
}
</div>
@@ -12,12 +12,16 @@ else
}
else
{
<div class="row mb-2">
<div class="col-6">
<button class="btn btn-primary border-0 w-100" @onclick="ToggleDetail"><i class="fa-solid @CssDetail"></i> @Traduci("caricoMac_attivaTutti")</button>
</div>
<div class="col-6">
<button class="btn btn-primary bg-primary bg-opacity-75 border-0 w-100" @onclick="SendAllAsync">@Traduci("caricoMac_inviaTutti") <i class="fa-solid fa-angles-right"></i></button>
<div class="d-flex w-100 justify-content-between align-items-center pb-2">
<h5 class="ps-1"><b>Ordini disponibili</b></h5>
<div class="d-flex align-items-center gap-2 px-0">
<button class="btn btn-primary border-0" @onclick="ToggleDetail">
<i class="fa-solid @CssDetail"></i> @ButtonEspandi()
</button>
<button class="btn btn-primary bg-primary bg-opacity-75 border-0" @onclick="SendAllAsync">
@Traduci("caricoMac_inviaTutti")
<i class="fa-solid fa-angles-right"></i>
</button>
</div>
</div>
<div class="row">
@@ -37,5 +37,15 @@ namespace Lux.UI.Components.Compo.Planner
{
return EC_DoBalance.InvokeAsync(OrderRowID);
}
private string ButtonEspandi()
{
string ans = "";
if (showDetail)
ans = Traduci("caricoMac_riduci");
else
ans = Traduci("caricoMac_espandi");
return ans;
}
}
}
@@ -7,42 +7,49 @@
else
{
<div class="card mb-1">
<div class="card-header bg-info bg-gradient bg-opacity-25 py-1 px-2">
<div @onclick="() => ToggleGruppo()" style="cursor: pointer;">
<div class="row w-100 g-1 align-items-center">
<div class="col-4 px-0 d-flex align-items-center">
<i class="bi @ToggleIcon"></i>
<strong>@CurrRec.BuyOrderCode</strong> <span class="badge rounded-pill bg-dark ms-2">@totalCount</span>
<div class="card-header bg-primary bg-gradient bg-opacity-10 py-1 px-2">
<div class="row">
<div class="d-flex justify-content-between align-items-center">
<div class="px-0 align-items-center" style="cursor: pointer;" @onclick="() => ToggleGruppo()">
<div class="px-0 d-flex align-items-center">
<i class="fs-3 bi @ToggleIcon pb-0 mb-0"></i>
<span class="border rounded-4 py-1 px-2 text-light bg-dark text-center mx-2" style="width: 2.5rem;">@totalCount</span>
<div class="px-0 fs-5"><strong>@CurrRec.BuyOrderCode</strong></div>
</div>
</div>
<div class="col-4 text-center">
@CurrRec.BuyOrderRowNav.First().ClassCode
<div class="p-0 align-items-center">
<div class="text-center">
@CurrRec.BuyOrderRowNav.First().ClassCode
</div>
</div>
<div class="col-4 px-0 d-flex justify-content-end align-items-center gap-2">
@CurrRec.Inserted
<div class="btn-group" role="group">
<a href="@(DownloadUrl(CurrRec.BuyOrderID))" title="@Traduci("fornitore_stampa")" @onclick:stopPropagation="true" target="_blank" class="btn btn-sm btn-primary">
<i class="fa-solid fa-print"></i>
</a>
<button class="btn btn-sm btn-primary" title="@Traduci("fornitore_selTemplate")" @onclick:stopPropagation="true" @onclick="() => SelectOptPrint(CurrRec.BuyOrderID)">
<i class="fa-solid fa-chevron-down small"></i>
</button>
<div class="p-0 align-items-center">
<div class="px-0 align-items-center gap-2">
@CurrRec.Inserted
<div class="btn-group" role="group">
<a href="@(DownloadUrl(CurrRec.BuyOrderID))" title="@Traduci("fornitore_stampa")" @onclick:stopPropagation="true" target="_blank" class="btn btn-sm btn-primary">
<i class="fa-solid fa-print"></i>
</a>
<button class="btn btn-sm btn-primary" title="@Traduci("fornitore_selTemplate")" @onclick:stopPropagation="true" @onclick="() => SelectOptPrint(CurrRec.BuyOrderID)">
<i class="fa-solid fa-chevron-down small"></i>
</button>
</div>
</div>
</div>
</div>
<div class="row w-100 g-1 mt-1 align-items-center">
<div class="col ps-3 pe-0 input-group input-group-sm text-start">
@if (descriptEdit)
{
<button class="btn btn-sm btn-primary" @onclick:stopPropagation="true" @onclick="() => SaveEditDescript(CurrRec)"><i class="fa-solid fa-floppy-disk"></i></button>
<input type="text" class="form-control fs-6" @onclick:stopPropagation="true" @bind="@CurrRec.Description">
<button class="btn btn-sm btn-warning" @onclick:stopPropagation="true" @onclick="CancelEditDescript"><i class="fa-solid fa-ban"></i></button>
}
else
{
<div class="form-control bg-info bg-gradient bg-opacity-25 fs-6">@CurrRec.Description</div>
<button class="btn btn-sm btn-primary" @onclick:stopPropagation="true" @onclick="SetEditDescript"><i class="fa-solid fa-pen"></i></button>
}
</div>
</div>
<div class="row ps-4 align-items-center">
<div class="input-group input-group-sm text-start">
@if (descriptEdit)
{
<button class="btn btn-sm btn-primary" @onclick:stopPropagation="true" @onclick="() => SaveEditDescript(CurrRec)"><i class="fa-solid fa-floppy-disk"></i></button>
<input type="text" class="form-control fs-6" @onclick:stopPropagation="true" @bind="@CurrRec.Description">
<button class="btn btn-sm btn-warning" @onclick:stopPropagation="true" @onclick="CancelEditDescript"><i class="fa-solid fa-ban"></i></button>
}
else
{
<div class="form-control bg-primary bg-gradient bg-opacity-10 fs-6">@CurrRec.Description</div>
<button class="btn btn-sm btn-primary" @onclick:stopPropagation="true" @onclick="SetEditDescript"><i class="fa-solid fa-pen"></i></button>
}
</div>
</div>
</div>
@@ -68,7 +68,7 @@ namespace Lux.UI.Components.Compo.Warehouse
private string ToggleIcon
{
get => showDetail ? "bi-chevron-down" : "bi-chevron-right";
get => showDetail ? "bi-chevron-up" : "bi-chevron-down";
}
#endregion Private Properties
@@ -1,27 +0,0 @@
@inherits BaseComp
<div class="col-2">
<div class="p-2 shadow">
<div class="d-flex align-items-center justify-content-between">
<div class="px-0 fs-4">
<b>@Traduci("fabbisogno_genOrd")</b>
</div>
</div>
<div class="my-2 py-1">
<div class="row gy-2 px-3">
@foreach (var item in CurrSelDict)
{
if (item.Value.Any())
{
<button class="btn btn-genOrd" @onclick="() => CreateBuyOrder(item)">
<div class="d-flex justify-content-between align-items-center">
<b class="fs-6">@item.Key</b>
<span class="badge rounded-pill bg-dark">@item.Value.Count</span>
</div>
</button>
}
}
</div>
</div>
</div>
</div>
@@ -1,19 +0,0 @@
using System.Security.Cryptography.Xml;
using static Lux.UI.Components.Compo.Warehouse.MatReqGroup;
namespace Lux.UI.Components.Compo.Warehouse
{
public partial class MatReq2BuyOrder
{
[Parameter]
public Dictionary<string, List<int>> CurrSelDict { get; set; } = null!;
[Parameter]
public EventCallback<KeyValuePair<string, List<int>>> EC_CreateBuyOrder { get; set; }
private Task CreateBuyOrder(KeyValuePair<string, List<int>> ReqInfo)
{
return EC_CreateBuyOrder.InvokeAsync(ReqInfo);
}
}
}
@@ -1,21 +0,0 @@
/* Questo trasforma il bottone in un elemento di un menu */
.btn-genOrd {
background: none;
border: none;
text-align: left;
padding: 10px 20px;
font-size: 1.1rem;
background-color: #82bbf5;
color: black !important;
border-radius: 8px;
transition: all 0.2s ease-in-out;
width: 100%;
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
/* Effetto quando passi il mouse sopra */
.btn-genOrd:hover {
background-color: #6baef2;
color: black !important;
/*transform: scale(1.02);*/
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
@@ -1,23 +0,0 @@
/* Questo trasforma il bottone in un elemento di un menu */
.btn-genOrd {
background: none;
border: none;
text-align: left;
padding: 10px 20px;
font-size: 1.1rem;
background-color: #82bbf5;
color: black !important;
border-radius: 8px;
transition: all 0.2s ease-in-out;
width: 100%;
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
/* Effetto quando passi il mouse sopra */
.btn-genOrd:hover {
background-color: #6baef2;
color: black !important;
/*transform: scale(1.02);*/
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
@@ -1 +0,0 @@
.btn-genOrd{background:none;border:0;text-align:left;padding:10px 20px;font-size:1.1rem;background-color:#82bbf5;color:#000!important;border-radius:8px;transition:all .2s ease-in-out;width:100%;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;}.btn-genOrd:hover{background-color:#6baef2;color:#000!important;box-shadow:0 2px 8px rgba(0,0,0,.3);}
@@ -6,22 +6,13 @@
}
else
{
<div class="card">
<div class="card-header bg-primary bg-gradient bg-opacity-25 py-1 px-2">
<div class="d-flex justify-content-between align-items-center">
@* <div class="px-0 d-flex flex-grow-1 align-items-center" @onclick="() => ToggleGruppo()" style="cursor: pointer;">
<div class="px-0">
<i class="fs-3 bi @ToggleIcon"></i>
<span class="border rounded py-1 px-2 text-light bg-dark mx-2">@totalCount</span>
</div>
<div class="px-0 fs-4">
<strong>@GrpName</strong>
</div>
</div> *@
<div class="card mb-1">
<div class="card-header bg-primary bg-gradient bg-opacity-10 py-1 px-2">
<div class="d-flex justify-content-between align-items-center">
<div class="px-0 d-flex flex-grow-1 align-items-center" style="cursor: pointer;" @onclick="() => ToggleGruppo()">
<div class="px-0 d-flex align-items-center">
<i class="fs-3 bi bi-chevron-down pb-0 mb-0"></i>
<span class="border rounded py-1 px-2 text-light bg-dark text-center mx-2" style="width: 2.5rem;">@totalCount</span>
<i class="fs-3 bi @ToggleIcon pb-0 mb-0"></i>
<span class="border rounded-4 py-1 px-2 text-light bg-dark text-center mx-2" style="width: 2.5rem;">@totalCount</span>
</div>
<div class="px-0 fs-5"><strong>@GrpName</strong></div>
</div>
@@ -118,7 +118,7 @@ namespace Lux.UI.Components.Compo.Warehouse
private string ToggleIcon
{
get => showDetail ? "bi-chevron-down" : "bi-chevron-right";
get => showDetail ? "bi-chevron-up" : "bi-chevron-down";
}
#endregion Private Properties
+1 -49
View File
@@ -8,59 +8,11 @@
<div class="px-1 fs-3">
<b>@EditRecord.OrderCode</b>
</div>
@* <div class="px-0 row">
<div class="col px-0">
<span @onclick="() => AdvStep(CompileStep.Header)">
<StepArrow ObjId="1" StepText="Testata" BlockStyle="@(ArrowBackCol(CompileStep.Header))" StrokeWidth="4" ObjW="360" ObjH="60" StrokeColors="@listBord01" TipAngle="90" TextStyle="@txtStyle"></StepArrow>
</span>
</div>
<div class="col px-0">
<span @onclick="() => AdvStep(CompileStep.General)">
<StepArrow ObjId="2" StepText="Generale" BlockStyle="@(ArrowBackCol(CompileStep.General))" StrokeWidth="4" ObjW="360" ObjH="60" StrokeColors="@listBord01" TipAngle="90" TextStyle="@txtStyle"></StepArrow>
</span>
</div>
<div class="col px-0">
<span @onclick="() => AdvStep(CompileStep.Rows)">
<StepArrow ObjId="3" StepText="Righe" BlockStyle="@(ArrowBackCol(CompileStep.Rows))" StrokeWidth="4" ObjW="360" ObjH="60" StrokeColors="@listBord01" TipAngle="90" TextStyle="@txtStyle"></StepArrow>
</span>
</div>
<div class="col px-0">
<span @onclick="() => AdvStep(CompileStep.Delivery)">
<StepArrow ObjId="4" StepText="Consegna" BlockStyle="@(ArrowBackCol(CompileStep.Delivery))" StrokeWidth="4" ObjW="360" ObjH="60" StrokeColors="@listBord01" TipAngle="90" TextStyle="@txtStyle"></StepArrow>
</span>
</div>
<div class="col px-0">
<span @onclick="() => AdvStep(CompileStep.FinalCheck)">
<StepArrow ObjId="5" StepText="Controlli" BlockStyle="@(ArrowBackCol(CompileStep.FinalCheck))" StrokeWidth="4" ObjW="360" ObjH="60" StrokeColors="@listBord01" TipAngle="90" TextStyle="@txtStyle"></StepArrow>
</span>
</div>
</div> *@
<button type="button" class="btn-close shadow-sm rounded-4 px-3" data-bs-dismiss="card" aria-label="Close" @onclick="DoReset">
</button>
</div>
<div class="my-2 py-1 rounded-2">
<OrderRowMan CurrRecord="EditRecord" DisplayMode="EgwCoreLib.Lux.Core.Enums.DisplayMode.Edit" EC_Updated="() => ForceReload()" EC_Action="DoAction"></OrderRowMan>
@* @if (currStep == CompileStep.Header)
{
<OfferMan CurrRecord="EditRecord" EC_Close="DoClose" EC_Updated="DoSave"></OfferMan>
}
else if (currStep == CompileStep.General)
{
<OfferCommonPar CurrRecord="EditRecord" EC_Close="DoClose" EC_Updated="DoSave"></OfferCommonPar>
}
else if (currStep == CompileStep.Rows)
{
<OfferRowMan CurrRecord="EditRecord" DisplayMode="EgwCoreLib.Lux.Core.Enums.DisplayMode.Edit"></OfferRowMan>
}
else if (currStep == CompileStep.Delivery)
{
<OfferDelivery CurrRecord="EditRecord" EC_Close="DoClose" EC_Updated="DoSave"></OfferDelivery>
}
else if (currStep == CompileStep.FinalCheck)
{
<OfferCheck CurrRecord="EditRecord" EC_Close="DoClose"></OfferCheck>
} *@
<OrderRowMan CurrRecord="EditRecord" DisplayMode="EgwCoreLib.Lux.Core.Enums.DisplayMode.Edit" EC_Updated="() => ForceReload()" EC_Action="DoAction"></OrderRowMan>
</div>
</div>
}
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>aspnet-Lux.UI-a758c101-a2f4-4e38-977d-1c4887dbbd50</UserSecretsId>
<Version>1.1.2606.1016</Version>
<Version>1.1.2606.1111</Version>
</PropertyGroup>
<ItemGroup>