Files
mapo-core/MP-TAB3/Components/OdlMan.razor
T
2024-02-27 19:13:26 +01:00

372 lines
19 KiB
Plaintext

<div class="row">
<div class="col-12">
<MachSel RecMSE="RecMSE" E_MachSel="SetMacc"></MachSel>
<ShowProcessing IsProcessing="@isProcessing"></ShowProcessing>
</div>
@if (isProcessing)
{
<ProgressDisplay RefreshInterval="200" Title="ODL Processing" MaxVal="@MaxVal" CurrVal="@currVal" NextVal="@nextVal" ExpTimeMSec="@expTimeMsec"></ProgressDisplay>
<LoadingData Title="Elaborazione..." DisplaySize="LoadingData.CtrlSize.Large" DisplayMode="LoadingData.SpinMode.Growl"></LoadingData>
}
else
{
@if (isSlave)
{
<div class="col-12 my-2">
<div class="btn btn-danger text-warning w-100">
<div class="fs-1">@(Traduci("lblWarnHeadSlave"))</div>
<div class="fs-4">@(Traduci("lblWarnBodySlave"))</div>
</div>
</div>
}
else
{
@if (needConfProd)
{
@if (showSplitOdlOnTavVal || showReopOdlTav)
{
<div class="col-12 py-3">
<div class="row bg-danger">
<div class="col-12 col-md-6">
@if (showSplitOdlOnTavVal)
{
<button class="btn btn-lg btn-warning w-100" @onclick="OdlSetSameAsOtherTav"><i class="fa fa-check"></i> Attrezza stesso ODL da altra tavola <i class="fa fa-check"></i></button>
}
</div>
<div class="col-12 col-md-6">
@if (showReopOdlTav)
{
<button class="btn btn-lg btn-info w-100" @onclick="OdlReopenTav"><i class="fa fa-exclamation-triangle"></i> Riprendi ODL chiuso su tavola <i class="fa-solid fa-check me-1"></i></button>
}
</div>
</div>
</div>
}
<div class="col-12 my-2">
<button class="btn btn-danger w-100" @onclick="GoToMachDetail">
<div class="fs-1">@lblWarnHead</div>
<div class="fs-4">
@lblWarnBody
<div>
Pezzi NC: <b>@numPz2Conf</b>
</div>
</div>
</button>
</div>
@if (!odlOk)
{
<div class="col-12">
<FixOdl IdxMaccCurr="@IdxMaccSel" E_RefreshData="refreshAfterFixOdl"></FixOdl>
</div>
}
}
else
{
@if (showSplitOdlOnTavVal || showReopOdlTav)
{
<div class="col-12 bg-danger py-3">
<div class="row">
<div class="col-12 col-md-6">
@if (showSplitOdlOnTavVal)
{
<button class="btn btn-lg btn-warning w-100" @onclick="OdlSetSameAsOtherTav"><i class="fa fa-check"></i> Attrezza stesso ODL da altra tavola <i class="fa fa-check"></i></button>
}
</div>
<div class="col-12 col-md-6">
@if (showReopOdlTav)
{
<button class="btn btn-lg btn-info w-100" @onclick="OdlReopenTav"><i class="fa fa-exclamation-triangle"></i> Riprendi ODL chiuso su tavola <i class="fa-solid fa-check me-1"></i></button>
}
</div>
</div>
</div>
}
@* <div class="col-12">
Check articolo in revisione
</div> *@
@if (cancelSetupEnabled && RecMSE != null && RecMSE.PezziConf == 0)
{
<div class="col-12 col-md-6 p-2">
<button class="btn btn-lg btn-danger w-100" @onclick="OdlAnnullaSetup">Annulla Setup ODL <i class="fa-solid fa-ban me-1"></i></button>
</div>
}
@if (!inAttr && !showOdlDetail)
{
<div class="col-12 my-1">
<button class="btn btn-lg btn-warning w-100" disabled="@inAttr" @onclick="ToggleOdlDetail"><i class="fa-solid fa-chevron-down"></i> @txtBtnOdlDetail</button>
</div>
}
@if (showOdlDetail || inAttr)
{
<div class="col-12 my-1">
<div class="card">
<div class="card-header @cssDetailOdl d-flex justify-content-between">
<div>
<h4>@titleOdlDetail</h4>
</div>
@if (idxPOdlSel == 0)
{
<div class="d-flex text-end">
<div class="form-check form-switch px-2">
<label class="form-check-label">@txtShowXDL</label>
<input class="form-check-input" type="checkbox" @bind="@showPOdlData">
</div>
@if (!inAttr)
{
<div>
<button class="btn btn-dark w-100" @onclick="ToggleOdlDetail"><i class="fa-solid fa-chevron-up"></i> @txtBtnOdlDetail</button>
</div>
}
</div>
}
</div>
<div class="card-body">
<div class="row">
<div class="col d-flex justify-content-between">
<div class="px-0 small">
@if (!showPOdlData)
{
<b>ODL:</b>
}
else
{
<b>P.ODL:</b>
}
</div>
<div class="px-0 text-end fw-bold">
@if (currOdl != null && !showPOdlData)
{
@currOdl.IdxOdl
}
else
{
@currPodl.IdxPromessa
}
</div>
</div>
<div class="col d-flex justify-content-between">
<div class="px-0 small">
Rif:
</div>
<div class="px-0 text-end fw-bold">
@currPodl.KeyRichiesta
</div>
</div>
<div class="col d-flex justify-content-between">
<div class="px-0 small">
Cod:
</div>
<div class="px-0 text-end fw-bold">
@currPodl.CodArticolo
</div>
</div>
</div>
<div class="row border-top border-bottom border-secondary">
<div class="col d-flex justify-content-between">
<div class="px-0 small">
Articolo:
</div>
<div class="px-0 text-end fw-bold">
@currPodl.DescArticolo
</div>
</div>
</div>
<div class="row">
<div class="col d-flex justify-content-between">
<div class="px-0 small">
Pezzi:
</div>
<div class="px-0 text-end fw-bold">
@currPodl.NumPezzi.ToString("N0")
</div>
</div>
<div class="col d-flex justify-content-between">
<div class="px-0 small">
TCiclo:
</div>
<div class="px-0 text-end fw-bold">
@if (currOdl != null && currOdl.Tcassegnato > 0 && !showPOdlData)
{
@currOdl.Tcassegnato.ToString("N2")
}
else
{
@currPodl.Tcassegnato.ToString("N2")
}
</div>
</div>
<div class="col d-flex justify-content-between">
<div class="px-0 small">
Pz/pallet:
</div>
<div class="px-0 text-end fw-bold">
@if (currOdl != null && !showPOdlData)
{
@currOdl.PzPallet
}
else
{
@currPodl.PzPallet
}
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col text-start fw-bold">
@if (currOdl != null && !showPOdlData)
{
@currOdl.Nome
}
else
{
@currPodl.Nome
}
</div>
<div class="col d-flex justify-content-between">
@if (!showPOdlData)
{
}
else
{
<div class="px-0 small">
Priorita:
</div>
<div class="px-0 text-end fw-bold">
@currPodl.Priorita
</div>
}
</div>
<div class="col d-flex justify-content-between">
@if (!showPOdlData)
{
}
else
{
<div class="px-0 small">
Data:
</div>
<div class="px-0 text-end fw-bold">
@($"{currPodl.DueDate:yyyy.MM.dd}")
</div>
}
</div>
</div>
</div>
</div>
</div>
}
@if (!inAttr && !showSplitOdlRiattr)
{
<div class="col-12 col-md-6 my-2">
@if (idxPOdlSel > 0)
{
<button class="btn btn-lg btn-primary w-100" @onclick="OdlSetupStart"><i class="fa-solid fa-check me-1"></i> INIZIO Attrezzaggio</button>
}
else
{
<button class="btn btn-lg btn-primary w-100" disabled="@endProdDisabled" @onclick="ProdEnd"><i class="fa-solid fa-ban me-1"></i>FINE Produzione</button>
}
</div>
<div class="col-12 col-md-6 my-2">
<div class="input-group input-group-lg">
<button class="btn btn-outline-secondary px-2" @onclick="SearchPodlReset"><i class="fa-solid fa-x"></i></button>
<input type="text" class="form-control w-25 small" placeholder="Cerca" aria-label="Cerca" @bind="@SearchPodl">
<select class="form-select w-50" @bind="IdxPOdlSel">
@foreach (var item in ListODL)
{
<option value="@item.value">@item.label</option>
}
</select>
<div class="input-group-text px-1">
<input class="form-check-input mt-0 me-1" id="chk_all" type="checkbox" @bind="ShowAll">
<label class="form-check-label form-check-label-sm" for="chk_all">
tutti
</label>
</div>
</div>
</div>
}
@if (idxPOdlSel > 0 || inAttr || showSplitOdlRiattr)
{
<div class="col-12 col-sm-6">
<div class="form-floating">
<textarea type="text" class="form-control" style="height: 7rem;" @bind="@noteAttr"></textarea>
<label for="floatingComm">Note Attrezzaggio (opzionale)</label>
</div>
</div>
<div class="col-12 col-sm-6">
<SelTempoMSMC TempoMC="@tcRichAttr" modoControllo="SelTempoMSMC.timeControlMode.selettori" E_TCRich="SaveTCRich"></SelTempoMSMC>
<div class="input-group">
<div class="input-group-text">
Pz Pallet
</div>
<select class="form-select" @bind="PzPallet">
@for (int i = 1; i <= 20; i++)
{
<option value="@i">@i</option>
}
</select>
</div>
</div>
}
@if (inAttr)
{
<div class="col-12 col-md-6 my-2">
<button class="btn btn-lg btn-warning w-100" disabled="@needConfProd" @onclick="OdlSetupEnd"><i class="fa-solid fa-check me-1"></i> FINE Attr / INIZIO Prod.</button>
</div>
}
else
{
if (odlOk && showChkCloseOdlVal && !showSplitOdlRiattr)
{
<div class="col-12 col-md-6 my-2">
<div class="form-check form-switch fs-3">
<input class="form-check-input" type="checkbox" @bind="@forceCloseOdl">
<label class="form-check-label">@txtForceCloseOdl</label>
</div>
</div>
}
}
@if (enableRiattrezzaggio)
{
<div class="col-12 col-md-6 my-2">
@if (showSplitOdlRiattr)
{
<button class="btn btn-lg btn-info w-100" @onclick="() => SplitOdl()"><i class="fa-solid fa-triangle-exclamation me-1"></i> Effettua Riattrezzaggio</button>
}
else
{
if (!inAttr && odlOk)
{
<button class="btn btn-lg btn-info w-100" disabled="@needConfProd" @onclick="() => ShowRiattrezzaggio()"><i class="fa-solid fa-triangle-exclamation me-1"></i> Mostra Riattrezzaggio</button>
}
}
</div>
}
@if (!inAttr && enableFixSetup)
{
<div class="col-12 col-md-6 my-2">
<button class="btn btn-lg btn-success w-100" @onclick="() => SendFixEndSetup()"><i class="fa-solid fa-wrench me-1"></i> Fix Chiusura Attrezzaggio (PLC)</button>
</div>
}
@* @if (showOdlProvv)
{
<div class="col-12 col-md-6 p-2">
<button class="btn btn-lg btn-danger w-100" disabled="@needConfProd"><i class="fa-solid fa-circle-exclamation me-1"></i> Creazione ODL Provvisorio</button>
</div>
} *@
<div class="col-12 text-center text-danger">
@((MarkupString)lblOut)
</div>
}
}
}
</div>