ok spostato elemento doorDetails

This commit is contained in:
zaccaria.majid
2023-05-18 11:55:03 +02:00
parent d50b167b9d
commit 2cdb87496b
11 changed files with 368 additions and 64 deletions
@@ -0,0 +1,39 @@
<div style="padding-left: 1.5rem !important; padding-right: 1.5rem !important;">
@if (OrderView != null)
{
<div class="testataOrder px-5 d-flex justify-content-between text-light" style="--bgStepColor: @stepColor">
<div class=" px-3 d-flex justify-content-between small">
<div>Insert Date:</div>
<div>&nbsp;</div>
<div class=" fw-bold">@OrderView.DateIns</div>
</div>
<div class=" px-3 d-flex justify-content-between small">
<div>Order External Code:</div>
<div>&nbsp;</div>
<div class="fw-bold">@OrderView.OrderExtCode</div>
</div>
<div class=" px-3 d-flex justify-content-between small">
<div>Models Number</div>
<div>&nbsp;</div>
<div class="fw-bold">@OrderView.NumType</div>
</div>
<div class=" px-3 d-flex justify-content-between small">
<div class="text-center">Doors Number</div>
<div>&nbsp;</div>
<div class="fw-bold">@OrderView.NumDoors</div>
</div>
</div>
}
<div class="cardStatus" style="--bgStepColor: #34495E">
<OrderStatusStep E_CurrStepColor="@setStepColor" CurrOrderStatus="@OrderView!.OrderStatus"></OrderStatusStep>
</div>
</div>
<div class="p-5 cardDoors">
<DoorList currOrderId="@OrderView!.OrderId" updateRecordCount="UpdateTotCount" actFilter="@currFilter"></DoorList>
<div class="mt-4">
<EgwCoreLib.Razor.DataPager @ref="pagerDoors" PageSize="@numRecord" currPage="@currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="@totalCount" showLoading="@isLoading" />
</div>
</div>
@@ -0,0 +1,172 @@
using EgwCoreLib.Razor;
using Microsoft.AspNetCore.Components;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.Data.DTO;
using WebDoorCreator.UI.Data;
namespace WebDoorCreator.UI.Components.Order
{
public partial class OrderDets
{
#region Public Properties
protected DataPager? pagerDoors = null!;
public string userId
{
get
{
return WDCUService.userId;
}
}
#endregion Public Properties
#region Protected Properties
protected DoorModel? currDoor { get; set; } = null;
protected int currDoorType { get; set; } = 0;
[Parameter]
public OrderStatusViewModel? OrderView { get; set; }
/// <summary>
/// Unit di misura selezionata
/// </summary>
protected string currMeaUnit { get; set; } = "mm";
protected List<DoorModel>? DoorsList { get; set; } = null;
protected WebDoorCreator.Data.DbModels.Edges edgesFirstInst { get; set; } = new WebDoorCreator.Data.DbModels.Edges();
protected int idOrd { get; set; } = -1;
protected int orderStat { get; set; } = -1;
[Inject]
protected NavigationManager NavManager { get; set; } = null!;
protected OrderStatusViewModel? OrderStatus { get; set; } = null;
[Inject]
protected WDCUserService WDCUService { get; set; } = null!;
[Inject]
protected WebDoorCreatorService WDService { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected DDFDto CurrentConf { get; set; } = new DDFDto();
protected async Task createDoor()
{
int doorId = await WDService.createDoor(idOrd, userId, currMeaUnit);
if (doorId > 0)
{
await InvokeAsync(StateHasChanged);
}
// rimando alla pagina... dettaglio...
NavManager.NavigateTo($"DoorDefinition?idOrd={idOrd}&idDoor={doorId}");
}
protected int userCurrCompany
{
get => WDCUService.userCurrComp;
}
protected override async Task OnInitializedAsync()
{
#if false
await Task.Delay(1);
var domani = DateTime.Today.AddDays(1);
var uri = NavManager.ToAbsoluteUri(NavManager.Uri);
if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("idOrd", out var _idOrd) && QueryHelpers.ParseQuery(uri.Query).TryGetValue("orderStat", out var _orderStat))
{
idOrd = int.Parse(_idOrd);
orderStat = int.Parse(_orderStat);
}
var orders = await WDService.OrderStatusGetFilt(userCurrCompany, 0, domani.AddYears(-2), domani);
if (orders != null)
{
orderView = orders.Where(x => x.OrderId == idOrd).FirstOrDefault();
}
#endif
}
protected async override Task OnParametersSetAsync()
{
await Task.Delay(1);
}
protected string stepColor { get; set; } = "";
protected async Task setStepColor(string StepColor)
{
await Task.Delay(1);
stepColor = StepColor;
StateHasChanged();
}
#endregion Protected Methods
#region Private Fields
#endregion Private Fields
protected DoorsSelectFilter currFilter { get; set; } = new DoorsSelectFilter();
private int currPage
{
get => currFilter.CurrPage;
set => currFilter.CurrPage = value;
}
private bool isLoading { get; set; } = false;
private int numRecord
{
get => currFilter.NumRec;
set => currFilter.NumRec = value;
}
private string searchValue
{
get => currFilter.searchValue;
set => currFilter.searchValue = value;
}
protected int totalCount { get; set; }
protected void ForceReload(int newNum)
{
numRecord = newNum;
}
protected void ForceReloadPage(int newNum)
{
currPage = newNum;
}
protected void UpdateTotCount(int newTotCount)
{
totalCount = newTotCount;
}
private async Task updateFilter(DoorsSelectFilter newParams)
{
isLoading = true;
await Task.Delay(1);
currPage = 1;
searchValue = newParams.searchValue;
await Task.Delay(1);
await InvokeAsync(() => StateHasChanged());
currFilter = newParams;
isLoading = false;
}
}
}
@@ -0,0 +1,34 @@
.cardStatus {
border-radius: 60px /*60px 0 0*/;
background-color: var(--bgStepColor);
transform: translate(0, -65px);
padding: 1rem 4rem 4.5rem 4rem;
}
.cardDoors {
/*width: 100%;
//transform: translate(0, -53px);
border-radius: 60px 60px 0 0;
transform: translate(0, -120px);
background-color: #FFF;
padding: 0;
box-shadow: rgba(0, 0, 0, 0.45) 0px -24px 27px -20px;*/
width: 100%;
border-radius: 60px;
transform: translate(0, -120px);
padding: 0;
background-color: #FFF;
box-shadow: rgba(0, 0, 0, 0.45) 0px 20px 22px -2px;
}
.testataOrder {
border: 3px solid var(--bgStepColor);
padding: 1rem 1rem 4.5rem 1rem;
border-radius: 60px 60px 20px 20px;
transform: translate(63px, 0);
width: 93%;
z-index: -99999;
position: relative;
/*display: flex;
justify-content: space-around;*/
font-size: 17px;
background-color: #031926;
}
@@ -0,0 +1,38 @@
.cardStatus {
border-radius: 60px /*60px 0 0*/;
background-color: var(--bgStepColor);
transform: translate(0, -65px);
padding: 1rem 4rem 4.5rem 4rem;
}
.cardDoors {
/*width: 100%;
//transform: translate(0, -53px);
border-radius: 60px 60px 0 0;
transform: translate(0, -120px);
background-color: #FFF;
padding: 0;
box-shadow: rgba(0, 0, 0, 0.45) 0px -24px 27px -20px;*/
width: 100%;
border-radius: 60px;
transform: translate(0, -120px);
padding: 0;
background-color: #FFF;
box-shadow: rgba(0, 0, 0, 0.45) 0px 20px 22px -2px;
}
.testataOrder {
border: 3px solid var(--bgStepColor);
padding: 1rem 1rem 4.5rem 1rem;
border-radius: 60px 60px 20px 20px;
transform: translate(63px, 0);
width: 93%;
z-index: -99999;
position: relative;
/*display: flex;
justify-content: space-around;*/
font-size: 17px;
background-color: #031926;
}
@@ -0,0 +1 @@
.cardStatus{border-radius:60px;background-color:var(--bgStepColor);transform:translate(0,-65px);padding:1rem 4rem 4.5rem 4rem;}.cardDoors{width:100%;border-radius:60px;transform:translate(0,-120px);padding:0;background-color:#fff;box-shadow:rgba(0,0,0,.45) 0 20px 22px -2px;}.testataOrder{border:3px solid var(--bgStepColor);padding:1rem 1rem 4.5rem 1rem;border-radius:60px 60px 20px 20px;transform:translate(63px,0);width:93%;z-index:-99999;position:relative;font-size:17px;background-color:#031926;}
@@ -9,33 +9,34 @@ else
X=@screenX
Y=@screenY
<br />
SIZE:
SIZE:
HEIGHT: @Height
WIDTH: @Width
</div>
<table class="@getElementCoords">
<thead>
<tr class="">
<td></td>
<th>Order Date <Sorter ParamName="OrderDate" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Order Number <Sorter ParamName="OrderNumber" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Order Description</th>
<th class="text-end">Quantity</th>
<th class="text-end">Model Number</th>
<th class="text-end">Order Status</th>
<th class="text-end">TOTAL COST</th>
@*<th>PROGRESS</th>*@
<th class="text-end"></th>
</tr>
</thead>
<tbody>
@if (Ord2Show == null)
{
@if (Ord2Show == null)
{
<table>
<thead>
<tr class="">
<td></td>
<th>Order Date <Sorter ParamName="OrderDate" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Order Number <Sorter ParamName="OrderNumber" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Order Description</th>
<th class="text-end">Quantity</th>
<th class="text-end">Model Number</th>
<th class="text-end">Order Status</th>
<th class="text-end">TOTAL COST</th>
@*<th>PROGRESS</th>*@
<th class="text-end"></th>
</tr>
</thead>
<tbody>
@foreach (var item in ListOrdersStatus)
{
<tr id="@item.OrderId" @onclick="getElementCoords">
@*<tr id="@item.OrderId" @onclick="getElementCoords">*@
<tr>
@*<a class="btn btn-sm btn-warning" href="OrderDetails?idOrd=@item.OrderId&orderStat=@item.OrderStatus" target="_blank"><i class="fa-solid fa-pen-to-square"></i></a>*@
<td><button class="btn btn-sm btn-warning" @onclick="()=>setOrd2Show(item.OrderId)"><i class="fa-solid fa-pen-to-square"></i></button></td>
<td>@item.DateIns</td>
@@ -58,32 +59,36 @@ else
</td>
</tr>
}
}
else
{
<tr class="slideUp" style="--elFirstY: @($"{(Height) + screenY}px")">
@*<a class="btn btn-sm btn-warning" href="OrderDetails?idOrd=@item.OrderId&orderStat=@item.OrderStatus" target="_blank"><i class="fa-solid fa-pen-to-square"></i></a>*@
<td><a class="btn btn-sm btn-warning"><i class="fa-solid fa-pen-to-square"></i></a></td>
<td>@Ord2Show.DateIns</td>
<td>@Ord2Show.OrderExtCode</td>
<td>@Ord2Show.OrderDescript</td>
<td class="text-end">@Ord2Show.NumDoors</td>
<td class="text-end">@Ord2Show.NumType</td>
<td class="text-end">@getOrderStatusLabel(Ord2Show.OrderStatus)</td>
<td class="text-end">@($"{Ord2Show.TotCost:C2}")</td>
@*<td>
<div class="progress">
<div class="progress-bar" role="progressbar" aria-label="Basic example" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: calc(20%item.OrderStatus); background-color: @setPgColor(item.OrderStatus)"></div>
</div>
</td>*@
<td class="text-end">
@if (Ord2Show.OrderStatus <= 10)
{
<button class="btn btn-sm btn-danger" @onclick="() => deleteRecord(Ord2Show)"><i class="fa-solid fa-trash-can"></i></button>
}
</td>
</tr>
}
</tbody>
</table>
</tbody>
</table>
}
else
{
@*<tr class="slideUp" style="--elFirstY: @($"{(Height) + screenY}px")">*@
@*<a class="btn btn-sm btn-warning" href="OrderDetails?idOrd=@item.OrderId&orderStat=@item.OrderStatus" target="_blank"><i class="fa-solid fa-pen-to-square"></i></a>*@
@*<tr>
<td><a class="btn btn-sm btn-warning"><i class="fa-solid fa-pen-to-square"></i></a></td>
<td>@Ord2Show.DateIns</td>
<td>@Ord2Show.OrderExtCode</td>
<td>@Ord2Show.OrderDescript</td>
<td class="text-end">@Ord2Show.NumDoors</td>
<td class="text-end">@Ord2Show.NumType</td>
<td class="text-end">@getOrderStatusLabel(Ord2Show.OrderStatus)</td>
<td class="text-end">@($"{Ord2Show.TotCost:C2}")</td>
<td>
<div class="progress">
<div class="progress-bar" role="progressbar" aria-label="Basic example" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: calc(20%item.OrderStatus); background-color: @setPgColor(item.OrderStatus)"></div>
</div>
</td>
<td class="text-end">
@if (Ord2Show.OrderStatus <= 10)
{
<button class="btn btn-sm btn-danger" @onclick="() => deleteRecord(Ord2Show)"><i class="fa-solid fa-trash-can"></i></button>
}
</td>
</tr>*@
}
}
@@ -35,6 +35,8 @@ namespace WebDoorCreator.UI.Components.Order
[Parameter]
public EventCallback<int> updateRecordCount { get; set; }
[Parameter]
public EventCallback<OrderStatusViewModel> E_SetOrd2Show { get; set; }
public OrderStatusViewModel? Ord2Show { get; set; }
@@ -314,7 +316,7 @@ namespace WebDoorCreator.UI.Components.Order
if(chosenOrd != null)
{
Ord2Show = chosenOrd;
await getDim();
await E_SetOrd2Show.InvokeAsync(chosenOrd);
}
}
}
+1 -9
View File
@@ -24,15 +24,7 @@
<div class="text-center">Doors Number</div>
<div>&nbsp;</div>
<div class="fw-bold">@orderView.NumDoors</div>
</div>
@*
<div class="input-group">
<select @bind="@currMeaUnit" class="form-select">
<option value="mm">mm</option>
<option value="inch">inch</option>
</select>
<button class="btn btn-sm btn-success" @onclick="() => createDoor()">+ Add new door</button>
</div>*@
</div>
</div>
}
+13 -6
View File
@@ -15,13 +15,20 @@
</button>
</div>
</div>
<div style="min-height: 35rem;">
<OrderList updateRecordCount="UpdateTotCount" actFilter="@currFilter" E_currOrderStatus="catchCurrOrder" B_doorChaged="@doorChange" UserCurrCompany="@userCurrCompany"></OrderList>
</div>
@if (ord2Show == null)
{
<div style="min-height: 35rem;">
<OrderList updateRecordCount="UpdateTotCount" actFilter="@currFilter" E_SetOrd2Show="@setOrd2Show" E_currOrderStatus="catchCurrOrder" B_doorChaged="@doorChange" UserCurrCompany="@userCurrCompany"></OrderList>
</div>
<div class="mt-2">
<EgwCoreLib.Razor.DataPager @ref="pagerOrderHP" PageSize="@numRecord" currPage="@currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="@totalCount" showLoading="@isLoading" />
</div>
<div class="mt-2">
<EgwCoreLib.Razor.DataPager @ref="pagerOrderHP" PageSize="@numRecord" currPage="@currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="@totalCount" showLoading="@isLoading" />
</div>
}
else
{
<OrderDets OrderView="@ord2Show"></OrderDets>
}
</div>
<!-- Modal Order -->
<div class="modal fade" id="newOrderModal" tabindex="-1" aria-labelledby="newOrderModalLabel" aria-hidden="true">
@@ -59,6 +59,16 @@ namespace WebDoorCreator.UI.Pages
#region Protected Properties
protected DoorModel? currDoor { get; set; } = null;
protected OrderStatusViewModel? ord2Show { get; set; } = null;
protected async Task setOrd2Show(OrderStatusViewModel currOrd)
{
await Task.Delay(1);
if(currOrd != null)
{
ord2Show = currOrd;
}
}
protected int currDoorType { get; set; } = 0;
+4
View File
@@ -82,5 +82,9 @@
{
"outputFile": "Pages/OrdersHomePage.razor.css",
"inputFile": "Pages/OrdersHomePage.razor.less"
},
{
"outputFile": "Components/Order/OrderDets.razor.css",
"inputFile": "Components/Order/OrderDets.razor.less"
}
]