Files
Samuele Locatelli 8c1f2be1f1 TAB3:
- inizio gestione modifiche x caso manuale (con disabilitazione menù e caricamento dato isManual)
2025-03-31 20:23:57 +02:00

361 lines
18 KiB
Plaintext

@if (isLoading || CRecMSE == null)
{
@if (FullMode)
{
<PlaceholderStatusMap></PlaceholderStatusMap>
}
else
{
<PlaceholderDetail></PlaceholderDetail>
}
}
else
{
@if (FullMode)
{
if (Width > 640)
{
<div class="card bg-dark @cssClassBorder @cssClassOverlay rounded-4" @onclick="ShowDetail">
<img src="@ImgUrlMacc(CRecMSE.Url)" class="card-img-top imgFitToSize rounded-top-4" alt="@CRecMSE.CodMacchina">
<div class="bg-black">
<div class="card-img-overlay p-0 d-flex flex-row-reverse align-items-start">
<div class="labelTop px-2 w-100">
<div class="text-center fs-2 fw-bold">
@CRecMSE.Nome
@if(isManual)
{
<i class="ps-1 text-light fs-3 fa-solid fa-puzzle-piece"></i>
}
</div>
</div>
</div>
</div>
<div class="card-body rounded-bottom-4 p-0 bg-dark">
<div class="@CRecMSE.Semaforo py-0 px-1">
<div class="d-flex justify-content-between fs-5">
<div class="px-0 @cssClassTextDescr">
<span>@CRecMSE.DescrizioneStato </span>
</div>
<div class="px-0">
<b>@(FormatDurata(CRecMSE.Durata))</b>
</div>
</div>
</div>
<div class="d-flex justify-content-around">
<div class="text-center text-success d-flex justify-content-between">
<div>
<i class="fa-regular fa-circle-check"></i>&nbsp; @($" {CRecMSE.PezziConf}") &nbsp;
</div>
<div class="text-danger">
@if (datiProdAct != null && datiProdAct.PzConfScarto > 0)
{
@($"(- {datiProdAct.PzConfScarto})")
}
</div>
</div>
<div class="text-center text-warning ">
<div>
<i class="fa-solid fa-layer-group"></i>&nbsp; @($" {CRecMSE.PezziProd}")
</div>
</div>
</div>
<div class="d-flex justify-content-between">
<div class="col-4">
<EgwCoreLib.Razor.CircleGaugeMulti Titolo="@($"{currMaxVal}")" Testo="#pz rich" maxVal="@currMaxVal" ListInner="@innerCircleVals" ListOuter="@outerCircleVals" ShowCircleBtn="true"></EgwCoreLib.Razor.CircleGaugeMulti>
</div>
<div class="col-8 py-1" style="line-height: 1.6rem;">
<div class="text-center text-light d-flex justify-content-between">
<div class="px-1"><span>ART:</span></div>
<div class="px-1">@($"{CRecMSE.CodArticolo}")</div>
</div>
<div class="text-center text-light d-flex justify-content-between small lh-sm">
<div class="px-1">ODL:</div>
<div class="px-1">@($"{CRecMSE.IdxOdl:000000}")</div>
</div>
<div class="text-center text-light d-flex justify-content-between small lh-sm">
<div class="px-1">PODL:</div>
<div class="px-1">@($"{CRecMSE.IdxPOdl:000000}")</div>
</div>
</div>
</div>
</div>
</div>
}
else
{
<div class="card bg-dark shadow @cssClassBorder @cssClassOverlay rounded-4" @onclick="ShowDetail">
<img src="@ImgUrlMacc(CRecMSE.Url)" class="card-img-top imgFitToSize rounded-top-4" alt="@CRecMSE.CodMacchina">
<div class="bg-black">
<div class="card-img-overlay p-0 d-flex flex-row-reverse align-items-start">
<div class="labelTop px-2 py-0 w-100">
<div class="text-center fs-2 fw-bold">
@CRecMSE.Nome
@if (isManual)
{
<i class="ps-1 text-light fs-3 fa-solid fa-puzzle-piece"></i>
}
</div>
</div>
</div>
</div>
<div class="card-body rounded-bottom-4 p-0 bg-dark">
<div class="@CRecMSE.Semaforo py-0 px-1">
<div class="d-flex justify-content-between fs-5">
<div class="px-0 @cssClassTextDescr">
<span>@CRecMSE.DescrizioneStato</span>
</div>
<div class="px-0">
<b>
@(FormatDurata(CRecMSE.Durata))
</b>
</div>
</div>
</div>
<div class="d-flex justify-content-around">
<div class="text-center text-success d-flex justify-content-between">
<div>
<i class="fa-regular fa-circle-check"></i>&nbsp; @($" {CRecMSE.PezziConf}") &nbsp;
</div>
<div class="text-danger">
@if (datiProdAct != null && datiProdAct.PzConfScarto > 0)
{
@($"(- {datiProdAct.PzConfScarto})")
}
</div>
</div>
<div class="text-center text-warning ">
<div>
<i class="fa-solid fa-layer-group"></i>&nbsp; @($" {CRecMSE.PezziProd}")
</div>
</div>
</div>
<div class="d-flex justify-content-between">
<div class="col-5 px-0">
<EgwCoreLib.Razor.CircleGaugeMulti Titolo="@($"{currMaxVal}")" Testo="#pz rich" maxVal="@currMaxVal" ListInner="@innerCircleVals" ListOuter="@outerCircleVals" ShowCircleBtn="true"></EgwCoreLib.Razor.CircleGaugeMulti>
</div>
<div class="col-7 small py-1 px-0">
<div class="text-center text-light d-flex justify-content-between">
<div class="px-1 small">ART:</div>
<div class="px-1">@($"{CRecMSE.CodArticolo}")</div>
</div>
<div class="text-center text-light d-flex justify-content-between lh-sm">
<div class="px-1 small">ODL:</div>
<div class="px-1">@($"{CRecMSE.IdxOdl:000000}")</div>
</div>
<div class="text-center text-light d-flex justify-content-between lh-sm">
<div class="px-1 small">PODL:</div>
<div class="px-1">@($"{CRecMSE.IdxPOdl:000000}")</div>
</div>
</div>
</div>
</div>
</div>
}
}
else
{
<div class="cardObj px-3 py-1 text-sizer">
<div class="text-center d-flex justify-content-between align-items-center row">
<div class="col-12">
<h4 class="text-center mb-0 fw-bold">
@CRecMSE.Nome
@if (isManual)
{
<i class="ps-1 text-light fs-3 fa-solid fa-puzzle-piece"></i>
}
</h4>
</div>
<div class="col-4 fs-4">
<div class="lh-1">
<div class="text-end text-light fw-bold d-flex justify-content-between border-bottom border-secondary">
<div class="px-0">
Cicli Prod
</div>
<div class="px-0 fs-4">
@if (datiProdAct != null)
{
@($"{datiProdAct.PzTotODL}")
}
else
{
@($"{CRecMSE.PezziProd}")
}
</div>
</div>
@if (datiProdAct != null)
{
@if (datiProdAct.Pz2RecTot > 0)
{
<div class="fs-5 text-end text-warning d-flex justify-content-between">
<div class="px-0">
Da Conferm.
</div>
<div class="px-0 fs-5">
@($"{datiProdAct.Pz2RecTot}")
</div>
</div>
}
else
{
<div class="fs-5 text-end text-secondary d-flex justify-content-between">
<div class="px-0">
Da Conferm.
</div>
<div class="px-0 fs-5">
@($"{datiProdAct.Pz2RecTot}")
</div>
</div>
}
@if (NumScartiConf > 0)
{
<div class="fs-5 text-end text-danger d-flex justify-content-between">
<div class="px-0">
Scarti Versati
</div>
<div class="px-0 fs-5">
@($"{NumScartiConf}")
</div>
</div>
}
else
{
<div class="fs-5 text-end text-secondary d-flex justify-content-between">
<div class="px-0">
Scarti Versati
</div>
<div class="px-0 fs-5">
@($"{NumScartiConf}")
</div>
</div>
}
@if (datiProdAct.PzConfRilav > 0)
{
<div class="fs-5 text-end text-info d-flex justify-content-between">
<div class="px-0">
Rilav Versati
</div>
<div class="px-0 fs-5">
@($"{datiProdAct.PzConfRilav}")
</div>
</div>
}
else
{
<div class="fs-5 text-end text-secondary d-flex justify-content-between">
<div class="px-0">
Rilav Versati
</div>
<div class="px-0 fs-5">
@($"{datiProdAct.PzConfRilav}")
</div>
</div>
}
<div class="text-end text-success d-flex justify-content-between">
<div class="px-0">
Buoni Vers.
</div>
<div class="px-0 fs-5">
@($"{datiProdAct.PzConfBuoni}")
</div>
</div>
}
@if (CRecMSE.extraVal > 0 && showQtaExtra)
{
<div class="text-end text-primary d-flex justify-content-between">
<div class="px-0">
Extra
</div>
<div class="px-0 fs-5">@($"{CRecMSE.extraVal}")</div>
</div>
}
</div>
</div>
<div class="col-4" style="max-height: 8rem; max-width: 7rem;">
<EgwCoreLib.Razor.CircleGaugeMulti Titolo="@($"{currMaxVal}")" Testo="#pz prod" maxVal="@currMaxVal" ListInner="@innerCircleVals" ListOuter="@outerCircleVals" ShowCircleBtn="true"></EgwCoreLib.Razor.CircleGaugeMulti>
</div>
<div class="col-4 d-flex flex-wrap justify-content-center align-items-center lh-1">
<div class="w-100">
@if (!string.IsNullOrEmpty(IdxMacchSub))
{
<div class="text-warning border border-warning rounded-3 small px-2 py-1 mb-1">
@IdxMacchSub
</div>
}
</div>
<div class="w-100 fs-4">
<div class="text-light d-flex justify-content-between small lh-sm">
<div class="px-0">ART</div>
<div class="px-0">@CRecMSE.CodArticolo</div>
</div>
<div class="text-end text-light d-flex justify-content-between small lh-sm">
<div class="px-0">ODL</div>
<div class="px-0">@($"{CRecMSE.IdxOdl:000000}")</div>
</div>
<div class="text-end text-light d-flex justify-content-between small lh-sm">
<div class="px-0">PODL:</div>
<div class="px-0">@($"{CRecMSE.IdxPOdl:000000}")</div>
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-between mt-2 px-0 mx-0">
<div class="col-3">
<div class="px-0 w-100">
@if (showPodl)
{
<button class="btn btn-outline-warning py-2 w-100" @onclick="TogglePOdl" title="Hide ODL Data">ODL <i class="fa-solid fa-file-invoice"></i> <i class="fa-solid fa-chevron-up"></i></button>
}
else
{
<button class="btn btn-warning py-2 w-100 @isDisabled(showDraw)" @onclick="TogglePOdl" title="Show ODL Data">ODL <i class="fa-solid fa-file-invoice"></i> <i class="fa-solid fa-chevron-down"></i></button>
}
</div>
</div>
<div class="col mb-2 mx-1 py-2 @CRecMSE.Semaforo rounded" @onclick="ShowDetail">
<div class="d-flex justify-content-center">
<div class="p-0 mr-auto me-1">
@CRecMSE.DescrizioneStato
</div>
<div class="p-0">
<b>@(FormatDurata(CRecMSE.Durata))</b>
</div>
</div>
</div>
@if (enableDisegno)
{
<div class="col-3">
<div class="px-0 w-100">
@if (showDraw)
{
<button class="btn btn-outline-info py-2 w-100" @onclick="ToggleDraw" title="Show/Hide Drawing Data"><i class="fa-regular fa-file-pdf"></i> <i class="fa-solid fa-chevron-up"></i></button>
}
else
{
<button class="btn btn-info py-2 w-100 @isDisabled(showPodl)" @onclick="ToggleDraw" title="Show/Hide Drawing Data"><i class="fa-regular fa-file-pdf"></i> <i class="fa-solid fa-chevron-down"></i></button>
}
</div>
</div>
}
else
{
<div class="col-3">
<div class="px-0 w-100">
<button class="btn btn-secondary py-2 w-100 disabled" title="Show/Hide Drawing Data"><i class="fa-regular fa-file-pdf"></i> <i class="fa-solid fa-chevron-down"></i></button>
</div>
</div>
}
</div>
</div>
}
@if (enableDisegno && showDraw)
{
string docUrl = string.IsNullOrEmpty(CRecMSE.Disegno) ? $"disegni/{CRecMSE.CodArticolo}.pdf" : $"disegni/{CRecMSE.Disegno}.pdf";
<div class="bg-light p-1">
<PdfDisplay Width="100%" PdfUrl="@docUrl" HeightList="@heightList"></PdfDisplay>
</div>
}
@if (showPodl)
{
<CurrOdlDetail CurrOdl="@currOdl" CurrPodl="@currPodl" IdxPOdlSel="0" ShowOdlDetail="@showOdlDetail" ForceCloseOdl="@forceCloseOdl" InAttr="@inAttr" EC_ToggleOdlDetail="TogglePOdl" ShowClose="false"></CurrOdlDetail>
}
}