210 lines
13 KiB
Plaintext
210 lines
13 KiB
Plaintext
<div class="modal" tabindex="-1" style="display:block; background-color: rgba(10,10,10,.6);" role="dialog">
|
|
<div class="modal-dialog modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<div class="row w-100">
|
|
<div class="col-4 fs-3">
|
|
Assegnazione Workload
|
|
@if (DetailRecord.Workable)
|
|
{
|
|
<i class="fa-solid fa-thumbs-up text-success"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-thumbs-down text-danger"></i>
|
|
}
|
|
</div>
|
|
<div class="col-4 text-center border border-2 rounded">
|
|
<div class="fw-bold">Impianti considerati</div>
|
|
<small class="small">@DetailRecord.ListMachinesJoin</small>
|
|
</div>
|
|
<div class="col-4 text-end fs-4">
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" @onclick="() => ClosePopup()">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-body">
|
|
@if (CurrMode == SetMode.Balance)
|
|
{
|
|
<AssegnaBilancia BalanceReq=@cBalanceReq GroupList=@GroupOkList Mode=SetMode.Balance EC_RunBalance=@ReqBalance></AssegnaBilancia>
|
|
}
|
|
else if (CurrMode == SetMode.AssignOk)
|
|
{
|
|
<AssegnaBilancia BalanceReq=@cBalanceReq GroupList=@GroupOkVincList Mode=SetMode.AssignOk EC_RunBalance=@ReqBalance></AssegnaBilancia>
|
|
}
|
|
<div class="row mt-2 mx-0">
|
|
@if (DetailRecord.NumKo > 0)
|
|
{
|
|
<div class="card px-0 mb-2">
|
|
<div class="card-header align-items-center justify-content-between">
|
|
<div class="row">
|
|
<div class="col-9">Non producibili: <span class="fw-bold px-1">@DetailRecord.NumKo</span></div>
|
|
<div class="col-3">
|
|
<button class="btn btn-sm btn-danger w-100" @onclick="() => AssignUnwork(GroupKoList, SetMode.AssignUnwork)" title="Assegna per Esclusione / Manuale / Esterno">Escludi <i class="fa-solid fa-triangle-exclamation"></i></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
@if (DetailRecord.NumOkVin > 0)
|
|
{
|
|
<div class="card px-0 mb-2">
|
|
<div class="card-header align-items-center justify-content-between">
|
|
<div class="row">
|
|
<div class="col-9">Vincolati: <span class="fw-bold px-1">@DetailRecord.NumOkVin</span></div>
|
|
<div class="col-3">
|
|
@* <button class="btn btn-sm btn-info w-100" @onclick="() => ToggleAssignMode(GroupOkVincList, SetMode.AssignOk)">Assegna <i class="fa-solid fa-thumbtack"></i></button> *@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<table class="table table-sm table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th class="col-1">
|
|
<button class="btn btn-sm btn-success" @onclick="() => ToggleAssignMode(GroupOkVincList, SetMode.None)"><i class="fa-solid fa-rotate-right"></i></button>
|
|
</th>
|
|
<th class="col-6">
|
|
Impianti
|
|
</th>
|
|
<th class="col-2 text-end">
|
|
# Parts
|
|
</th>
|
|
<th class="col-3 text-end">
|
|
Time
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if (AllProdGroup != null && AllProdGroup.Count > 0)
|
|
{
|
|
@foreach (var item in GroupOkVincList)
|
|
{
|
|
foreach (var wld in item.WorkGroupList)
|
|
{
|
|
<tr>
|
|
<td>
|
|
<button class="btn btn-sm btn-info w-50" @onclick="() => ToggleAssignMode(item, SetMode.AssignOk)"><i class="fa-solid fa-thumbtack"></i></button>
|
|
</td>
|
|
<td>
|
|
@wld.Key
|
|
</td>
|
|
<td class="text-end">
|
|
@NumParts(item)
|
|
</td>
|
|
<td class="text-end">
|
|
@DisplayDurata(item.TotalEstimTime)
|
|
</td>
|
|
</tr>
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<tr>
|
|
<td colspan="12" class="alert alert-warning">Nessun record trovato!</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@if (DetailRecord.NumOk > 0)
|
|
{
|
|
<div class="card px-0">
|
|
<div class="card-header align-items-center justify-content-between">
|
|
<div class="row">
|
|
<div class="col-9">Producibili ovunque: <span class="fw-bold px-1">@DetailRecord.NumOk</span></div>
|
|
<div class="col-3">
|
|
@* <button class="btn btn-sm btn-success w-100" @onclick="() => ToggleAssignMode(GroupOkList, SetMode.Balance)">Bilancia <i class="fa-solid fa-scale-unbalanced"></i></button> *@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<table class="table table-sm table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th class="col-1">
|
|
<button class="btn btn-sm btn-success" @onclick="() => ToggleAssignMode(GroupOkList, SetMode.None)"><i class="fa-solid fa-rotate-right"></i></button>
|
|
</th>
|
|
<th class="col-4">
|
|
Impianti
|
|
</th>
|
|
@if (GroupOkList != null && GroupOkList.Count > 0 && (GroupOkList.Count > 1 || GroupOkList.FirstOrDefault()?.WorkGroupList.Count() > 1))
|
|
{
|
|
<th class="col-2 text-end">
|
|
Time
|
|
</th>
|
|
}
|
|
<th class="col-2 text-end">
|
|
# Parts
|
|
</th>
|
|
<th class="col-3 text-end">
|
|
Max Time
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if (AllProdGroup != null && AllProdGroup.Count > 0 && GroupOkList != null)
|
|
{
|
|
@foreach (var item in GroupOkList)
|
|
{
|
|
int ordine = 0;
|
|
foreach (var wld in item.WorkGroupList)
|
|
{
|
|
ordine++;
|
|
<tr>
|
|
@if (ordine % 2 == 1)
|
|
{
|
|
|
|
<td class="align-middle" rowspan="2">
|
|
<button class="btn btn-sm btn-success w-50" @onclick="() => ToggleAssignMode(item, SetMode.Balance)"><i class="fa-solid fa-scale-unbalanced"></i></button>
|
|
</td>
|
|
}
|
|
<td>
|
|
@wld.Key
|
|
</td>
|
|
@if (GroupOkList != null && GroupOkList.Count > 0 && (GroupOkList.Count > 1 || GroupOkList.FirstOrDefault()?.WorkGroupList.Count() > 1))
|
|
{
|
|
<td class="text-end">
|
|
<div>@DisplayDurata(wld.Value.Time)</div>
|
|
</td>
|
|
}
|
|
<td class="text-end @TitleTableCss">
|
|
@wld.Value.NumParts
|
|
</td>
|
|
<td class="text-end @TitleTableCss">
|
|
@DisplayDurata(item.TotalEstimTime)
|
|
</td>
|
|
</tr>
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<tr>
|
|
<td colspan="12" class="alert alert-warning">Nessun record trovato!</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
<div class="d-grid gap-1 d-md-flex justify-content-md-end">
|
|
<button class="btn btn-primary mx-4" @onclick="() => ReRunJob()">
|
|
<i class="fa-solid fa-share-from-square mx-1" title="Riesecuzione Estimate"></i>Re-Run
|
|
</button>
|
|
<button class="btn btn-warning" @onclick="ForceResetAssign">Reset Assegnazioni</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<BootstrapModal @ref=Modal Title=@mTitle Message=@mMessage Mode="mMode" UserOptions=@modalOpt></BootstrapModal>
|