- Aggiunta possibile nuova pagina configurazioni

- Correzioni inserimento nuova offerta
This commit is contained in:
Annamaria Sassi
2026-05-28 14:28:01 +02:00
parent 38f2c73c14
commit ed74ccb839
23 changed files with 305 additions and 35 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>1.1.2605.2109</Version>
<Version>1.1.2605.2814</Version>
</PropertyGroup>
<ItemGroup>
+13 -10
View File
@@ -1,8 +1,8 @@
<div class="card shadow">
<div class="card-header">
<div class="card-header text-bg-secondary">
<div class="d-flex justify-content-between">
<div class="px-0">
<h5>Conf. Vetro</h5>
<h5>Tipologie di Vetro</h5>
</div>
<div class="px-0">
<div class="px-0 d-flex justify-content-between">
@@ -10,12 +10,15 @@
<div class="input-group input-group-sm" title="ricerca">
<span class="input-group-text"><i class="fas fa-search"></i></span>
<input type="text" class="form-control" @bind="@SearchVal">
<button class="btn btn-outline-secondary" @onclick="ResetSearch"><i class="fas fa-ban"></i></button>
<button class="btn @btnResetCss" @onclick="ResetSearch"><i class="fas fa-ban"></i></button>
</div>
</div>
</div>
</div>
</div>
<div class="row small px-2">
NB: le configurazioni sono modificabili
</div>
</div>
<div class="card-body p-1">
@if (isLoading || ListRecords == null)
@@ -31,14 +34,14 @@
<table class="table table-sm table-striped">
<thead>
<tr>
<th class="text-nowrap text-center">
<th class="col-1 text-nowrap text-center">
<button class="btn btn-sm btn-primary" title="Reset selezione" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button>
</th>
@* <th>ID</th> *@
<th class="text-nowrap">Cod.</th>
<th class="w-100">Descrizione</th>
<th class="text-nowrap text-end">Size mm</th>
<th class="text-nowrap text-end">
<th class="col-1 text-nowrap">Cod.</th>
<th class="col-7">Descrizione</th>
<th class="col-2 text-nowrap text-center">Size mm</th>
<th class="col-1 text-nowrap text-end">
<button class="btn btn-sm btn-success" @onclick="DoAdd"><i class="fa-solid fa-plus"></i></button>
</th>
</tr>
@@ -50,8 +53,8 @@
<tr>
<td class="text-center">@item.GlassID</td>
<td class="">@item.Code</td>
<td class="w-100">@item.Description</td>
<td class="text-end">@($"{item.Thickness:N2}")</td>
<td class="">@item.Description</td>
<td class="text-center">@($"{item.Thickness:N2}")</td>
<td class="text-nowrap text-end">
@if (false)
{
@@ -115,7 +115,7 @@ namespace Lux.UI.Components.Compo.Config
private GlassModel? EditRecord = null;
private bool isLoading = false;
private List<GlassModel> ListRecords = new();
private int numRecord = 5;
private int numRecord = 10;
private GlassModel? SelRecord = null;
private int totalCount = 0;
@@ -195,6 +195,11 @@ namespace Lux.UI.Components.Compo.Config
isLoading = false;
}
private string btnResetCss
{
get => string.IsNullOrEmpty(searchVal) ? "btn-outline-light" : "btn-primary";
}
#endregion Private Methods
}
}
@@ -3,7 +3,7 @@
<div class="d-flex justify-content-between">
<div class="px-0 d-flex">
<div class="px-0">
<h5>Conf. Hardware</h5>
<h5>Tipologie di Hardware</h5>
</div>
<div class="px-2">
<button class="btn btn-sm btn-primary" title="Richiesta Update" @onclick="DoReqUpdate"><i class="fa-solid fa-arrow-rotate-right"></i></button>
@@ -21,6 +21,9 @@
</div>
</div>
</div>
<div class="row small px-2">
NB: le configurazioni sono ricevute dal sistema CAD/CAM di calcolo
</div>
</div>
<div class="card-body p-1">
@if (isLoading || ListRecords == null)
@@ -57,7 +57,7 @@ namespace Lux.UI.Components.Compo.Config
private List<HardwareModel> ListRecords = new();
private int numRecord = 5;
private int numRecord = 10;
private int totalCount = 0;
@@ -1,4 +1,55 @@
<div class="modal" tabindex="-1" style="display:block; background-color: rgba(10,10,10,.6);" role="dialog">
<div class="card shadow my-4">
<div class="card-header text-bg-info bg-gradient bg-opacity-50">
<div class="d-flex justify-content-between align-items-center">
<h5 class="fs-4">Dettaglio Soglie</h5>
<button type="button" class="btn-close" @onclick="DoClose"></button>
</div>
</div>
<div class="card-body">
@if (isLoading)
{
<LoadingData></LoadingData>
}
else if (ListRecords == null || totalCount == 0)
{
<div class="alert alert-warning fs-4">Nessun record trovato</div>
}
else
{
<table class="table table-sm table-striped">
<thead>
<tr>
<th class="col-2 px-3 text-left text-nowrap">Type</th>
<th class="text-lef text-nowrap">Name</th>
</tr>
</thead>
<tbody>
@foreach (var item in ListRecords)
{
<tr>
<td class="px-3 text-lef">@item.Type</td>
<td class="text-lef">@item.Name</td>
</tr>
}
</tbody>
@if (totalCount > numRecord)
{
<tfoot>
<tr>
<td colspan="15">
<EgwCoreLib.Razor.DataPager currPage="@currPage" PageSize="@numRecord" totalCount="@totalCount" numPageChanged="SavePage" numRecordChanged="SaveNumRec"></EgwCoreLib.Razor.DataPager>
</td>
</tr>
</tfoot>
}
</table>
}
</div>
</div>
@* <div class="modal" tabindex="-1" style="display:block; background-color: rgba(10,10,10,.6);" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header text-bg-info bg-gradient bg-opacity-50">
@@ -48,6 +99,4 @@
</div>
</div>
</div>
</div>
</div> *@
@@ -54,5 +54,6 @@ namespace Lux.UI.Components.Compo.Config
{
await EC_ReqClose.InvokeAsync(true);
}
}
}
@@ -3,7 +3,7 @@
<div class="d-flex justify-content-between">
<div class="px-0 d-flex">
<div class="px-0">
<h5>Conf. Profilo</h5>
<h5>Tipi di Profili</h5>
</div>
<div class="px-2">
<button class="btn btn-sm btn-primary" title="Richiesta Update Profili" @onclick="DoReqUpdate">Profili <i class="fa-solid fa-arrow-rotate-right"></i></button>
@@ -24,6 +24,9 @@
</div>
</div>
</div>
<div class="row small px-2">
NB: le configurazioni sono ricevute dal sistema CAD/CAM di calcolo
</div>
</div>
<div class="card-body p-1">
@if (isLoading || ListRecords == null)
+13 -10
View File
@@ -1,8 +1,8 @@
<div class="card shadow">
<div class="card-header">
<div class="card-header text-bg-secondary">
<div class="d-flex justify-content-between">
<div class="px-0">
<h5>Conf. Legno</h5>
<h5>Tipologie di Legno</h5>
</div>
<div class="px-0">
<div class="px-0 d-flex justify-content-between">
@@ -10,12 +10,15 @@
<div class="input-group input-group-sm" title="ricerca">
<span class="input-group-text"><i class="fas fa-search"></i></span>
<input type="text" class="form-control" @bind="@SearchVal">
<button class="btn btn-outline-secondary" @onclick="ResetSearch"><i class="fas fa-ban"></i></button>
<button class="btn @btnResetCss" @onclick="ResetSearch"><i class="fas fa-ban"></i></button>
</div>
</div>
</div>
</div>
</div>
<div class="row small px-2">
NB: le configurazioni sono modificabili
</div>
</div>
<div class="card-body p-1">
@if (isLoading || ListRecords == null)
@@ -31,14 +34,14 @@
<table class="table table-sm table-striped">
<thead>
<tr>
<th class="text-nowrap text-center">
<th class="col-1 text-nowrap text-center">
<button class="btn btn-sm btn-primary" title="Reset selezione" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button>
</th>
@* <th>ID</th> *@
<th class="text-nowrap">Cod.</th>
<th class="w-100">Descrizione</th>
<th class="text-nowrap text-end">Tipo</th>
<th class="text-nowrap text-end">
<th class="col-1 text-nowrap">Cod.</th>
<th class="col-8">Descrizione</th>
<th class="col-1 text-nowrap text-center">Tipo</th>
<th class="col-1 text-nowrap text-end">
<button class="btn btn-sm btn-success" @onclick="DoAdd"><i class="fa-solid fa-plus"></i></button>
</th>
</tr>
@@ -50,8 +53,8 @@
<tr>
<td class="text-center">@item.WoodID</td>
<td class="">@item.Code</td>
<td class="w-100">@item.Description</td>
<td class="text-end">@item.Type</td>
<td class="">@item.Description</td>
<td class="text-center">@item.Type</td>
<td class="text-nowrap text-end">
@if (false)
{
@@ -199,6 +199,11 @@ namespace Lux.UI.Components.Compo.Config
isLoading = false;
}
private string btnResetCss
{
get => string.IsNullOrEmpty(searchVal) ? "btn-outline-light" : "btn-primary";
}
#endregion Private Methods
}
}
@@ -35,8 +35,10 @@
<div class="card shadow image-big-hover-pop p-0" @onclick="() => DoAddOrderRow(item)">
@* <img src="@(imgUrl(item.ImgType, item.ImgUID, $"{item.Envir}"))" class="card-img-top card-img-fixed img-fluid"> *@
<img src="@imgSrc(item.ImgUrl)" class="card-img-top card-img-fixed img-fluid">
<div class="card-body bg-secondary bg-opacity-25 bg-gradient px-2" style="height: 5rem;">
<div class="card-title fs-5 condensed text-truncate" title="@item.TemplateRowUID">@item.TemplateRowUID</div>
<div class="card-body bg-secondary bg-opacity-25 bg-gradient px-2 py-2" style="height: 5rem;">
<div class="card-text fs-5 condensed text-truncate" title="@item.TemplateRowUID">
@item.TemplateRowUID
</div>
<div class="card-text text-secondary condensed text-truncate" tit="@item.Name">
@item.Name
</div>
+5
View File
@@ -77,6 +77,11 @@
<span class="fa-solid fa-list-check px-2 fs-4" aria-hidden="true"></span> <span class="@hideText">Configurazioni</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="ConfListNew">
<span class="fa-solid fa-list-check px-2 fs-4" aria-hidden="true"></span> <span class="@hideText">Configurazioni2</span>
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="stats">
<span class="fa-solid fa-chart-line px-2 fs-4" aria-hidden="true"></span> <span class="@hideText">Stats</span>
+56
View File
@@ -0,0 +1,56 @@
@page "/ConfListNew"
<div class="card shadow calc-height d-flex flex-column border-1 rounded-1">
<div class="card-header">
<div class="d-flex justify-content-between align-items-center">
<div class="px-0 fs-3">
<b>Configurazioni</b>
</div>
</div>
</div>
<div class="card-body flex-grow-1 overflow-auto p-3">
@if (isLoading)
{
<LoadingData DisplaySize="LoadingData.CtrlSize.Large" DisplayMode="LoadingData.SpinMode.Growl"></LoadingData>
}
else
{
<div class="row g-3">
<div class="col-2 g-2">
<div class="d-flex flex-column align-items-start gap-2">
<button class="btn-menu @ButtonCss(0)" @onclick="() => DoOpen(0)">Legno</button>
<button class="btn-menu @ButtonCss(1)" @onclick="() => DoOpen(1)">Vetro</button>
<button class="btn-menu @ButtonCss(2)" @onclick="() => DoOpen(2)">Profili</button>
<button class="btn-menu @ButtonCss(3)" @onclick="() => DoOpen(3)">Hardware</button>
</div>
</div>
@if (showConf == 0)
{
<div class="col-6 g-2" style="min-height: 22rem;">
<WoodMan></WoodMan>
</div>
}
else if (showConf == 1)
{
<div class="col-6 g-2" style="min-height: 22rem;">
<GlassMan></GlassMan>
</div>
}
else if (showConf == 2)
{
<div class="col-6 g-2" style="min-height: 22rem;">
<ProfileMan></ProfileMan>
</div>
}
else if (showConf == 3)
{
<div class="col-6 g-2" style="min-height: 22rem;">
<HardwareMan></HardwareMan>
</div>
}
</div>
}
</div>
</div>
@@ -0,0 +1,66 @@
namespace Lux.UI.Components.Pages
{
public partial class ConfListNew
{
#region Protected Properties
protected string SearchVal
{
get => searchVal;
set
{
isLoading = true;
searchVal = value;
isLoading = false;
}
}
#endregion Protected Properties
#if false
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await Task.Delay(500);
isLoading = false;
await InvokeAsync(StateHasChanged);
}
}
#endif
#region Protected Methods
protected void ResetSearch()
{
SearchVal = "";
}
#endregion Protected Methods
#region Private Fields
private bool isLoading = false;
private string searchVal = "";
private int showConf = 0;
#endregion Private Fields
#region Private Methods
private void DoOpen(int index)
{
showConf = index;
}
private string ButtonCss(int index)
{
string ans = "";
if (showConf == index)
ans = "active";
return ans;
}
#endregion Private Methods
}
}
@@ -0,0 +1,28 @@
/* Questo trasforma il bottone in un elemento di un menu */
.btn-menu {
background: none;
border: none;
text-align: left;
padding: 10px 20px;
font-size: 1.1rem;
background-color: #b9e3fa;
color: white !important;
border-radius: 8px;
transition: all 0.2s ease-in-out;
width: 100%;
/* Lo fa occupare tutta la larghezza della colonna */
}
/* Effetto quando passi il mouse sopra */
.btn-menu:hover {
background-color: #2690c9;
color: #000;
}
/* Effetto quando il bottone è selezionato */
.btn-menu.active {
background-color: #57b6eb;
color: white !important;
font-weight: bold;
}
.calc-height {
height: calc(100vh - 115px);
}
@@ -0,0 +1,30 @@
/* Questo trasforma il bottone in un elemento di un menu */
.btn-menu {
background: none;
border: none;
text-align: left;
padding: 10px 20px;
font-size: 1.1rem;
background-color: #b9e3fa;
color: white !important;
border-radius: 8px;
transition: all 0.2s ease-in-out;
width: 100%; /* Lo fa occupare tutta la larghezza della colonna */
}
/* Effetto quando passi il mouse sopra */
.btn-menu:hover {
background-color: #2690c9;
color: #000;
}
/* Effetto quando il bottone è selezionato */
.btn-menu.active {
background-color: #57b6eb;
color: white !important;
font-weight: bold;
}
.calc-height {
height: calc(100vh - 115px);
}
+1
View File
@@ -0,0 +1 @@
.btn-menu{background:none;border:0;text-align:left;padding:10px 20px;font-size:1.1rem;background-color:#b9e3fa;color:#fff!important;border-radius:8px;transition:all .2s ease-in-out;width:100%;}.btn-menu:hover{background-color:#2690c9;color:#000;}.btn-menu.active{background-color:#57b6eb;color:#fff!important;font-weight:bold;}.calc-height{height:calc(100vh - 115px);}
+2
View File
@@ -219,9 +219,11 @@ namespace Lux.UI.Components.Pages
EditRecord = new OfferModel()
{
RefYear = DateTime.Today.Year,
Inserted = DateTime.Today,
Description = $"Nuova Offerta {DateTime.Today:ddd yyyy.MM.dd}",
ValidUntil = DateTime.Today.AddMonths(1)
};
currStep = CompileStep.Header;
}
private async Task DoClone(OfferModel rec2clone)
+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.2605.2109</Version>
<Version>1.1.2605.2814</Version>
</PropertyGroup>
<ItemGroup>
+8
View File
@@ -22,5 +22,13 @@
{
"outputFile": "Components/Layout/Item.razor.css",
"inputFile": "Components/Layout/Item.razor.less"
},
{
"outputFile": "Components/Pages/ConfList.razor.css",
"inputFile": "Components/Pages/ConfList.razor.less"
},
{
"outputFile": "Components/Pages/ConfListNew.razor.css",
"inputFile": "Components/Pages/ConfListNew.razor.less"
}
]
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>LUX - Web Windows MES</i>
<h4>Versione: 1.1.2605.2109</h4>
<h4>Versione: 1.1.2605.2814</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
1.1.2605.2109
1.1.2605.2814
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.1.2605.2109</version>
<version>1.1.2605.2814</version>
<url>http://nexus.steamware.net/repository/SWS/GPW/stable/GPW.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/GPW/stable/ChangeLog.html</changelog>
<mandatory>false</mandatory>