pagina giacenze da config

+ modifiche grafiche list giacenze
This commit is contained in:
zaccaria.majid
2022-12-01 12:17:46 +01:00
parent aed5af0c16
commit eb4ebbb411
10 changed files with 304 additions and 264 deletions
+204 -201
View File
@@ -6,99 +6,99 @@
@if (ListRecords == null)
{
<LoadingData></LoadingData>
<LoadingData></LoadingData>
}
else if (totalCount == 0)
{
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
}
else
{
<!-- INIZIO: MODIFICA FLUSSO -->
<!-- INIZIO: MODIFICA FLUSSO -->
@if (currFluxLogDto != null)
{
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Modifica Parametro
</div>
<div>
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Modifica Parametro
</div>
<div>
@if (isEditing)
{
<span class="text-light">PENDING CHANGES...</span>
<span class="text-light">PENDING CHANGES...</span>
}
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.IdxMacchina">
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.IdxMacchina">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.dtEvento">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA TYPE</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.CodFlux">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">VALORE</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.ValoreEdit" @onclick="()=> enableEditing()" @onselect="()=> enableEditing()">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.dtEvento">
</div>
<div class="row pt-4" style="visibility: @css()">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancel()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => update(currFluxLogDto)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
</div>
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA TYPE</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.CodFlux">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">VALORE</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.ValoreEdit" @onclick="()=> enableEditing()" @onselect="()=> enableEditing()">
</div>
</div>
</div>
<div class="row pt-4" style="visibility: @css()">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancel()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => update(currFluxLogDto)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
<!-- FINE: MODIFICA FLUSSO -->
<!-- INIZIO: NUOVO DOSSIER -->
<!-- FINE: MODIFICA FLUSSO -->
<!-- INIZIO: NUOVO DOSSIER -->
@if (currRecordClone != null)
{
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Nuovo Dossier
</div>
</div>
<div class="card-body">
<!--INIZIO PRIMA RIGA-->
<div class="row">
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<select @bind="@currRecordClone.IdxMacchina" class="form-select" id="macchina" title="Selezionare la macchina" @onclick="()=> enableEditing()">
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Nuovo Dossier
</div>
</div>
<div class="card-body">
<!--INIZIO PRIMA RIGA-->
<div class="row">
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<select @bind="@currRecordClone.IdxMacchina" class="form-select" id="macchina" title="Selezionare la macchina" @onclick="()=> enableEditing()">
@if (ListMacchine != null)
{
foreach (var item in ListMacchine)
@@ -106,89 +106,89 @@ else
@if (item.IdxMacchina == currRecordClone.IdxMacchina)
{
<option value="@item.IdxMacchina" selected>@item.IdxMacchina | @item.Descrizione</option>
<option value="@item.IdxMacchina" selected>@item.IdxMacchina | @item.Descrizione</option>
}
else
{
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.Descrizione</option>
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.Descrizione</option>
}
}
}
</select>
</div>
</div>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">FASE</span>
<select class="form-select" @bind="@currRecordClone.KeyRichiesta" @onclick="()=> enableEditing()" title="Selezionare la fase">
</select>
</div>
</div>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">FASE</span>
<select class="form-select" @bind="@currRecordClone.KeyRichiesta" @onclick="()=> enableEditing()" title="Selezionare la fase">
@if (ListStati != null)
{
foreach (var item in ListStati)
{
@if (item.value == currRecordClone.KeyRichiesta)
{
<option value="@item.value" selected>@item.label</option>
<option value="@item.value" selected>@item.label</option>
}
else
{
<option value="@item.value">@item.label</option>
<option value="@item.value">@item.label</option>
}
}
}
</select>
</div>
</div>
</select>
</div>
</div>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm" @onclick="()=> enableEditing()">ARTICOLI</span>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm" @onclick="()=> enableEditing()">ARTICOLI</span>
<select @bind="@currRecordClone.CodArticolo" class="form-select" id="macchina" title="Selezionare l'articolo">
<select @bind="@currRecordClone.CodArticolo" class="form-select" id="macchina" title="Selezionare l'articolo">
@if (ListArticoli != null)
{
foreach (var item in ListArticoli)
{
@if (item.CodArticolo == currRecordClone.CodArticolo)
{
<option value="@item.CodArticolo" selected>@item.CodArticolo | @item.DescArticolo</option>
<option value="@item.CodArticolo" selected>@item.CodArticolo | @item.DescArticolo</option>
}
else
{
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo</option>
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo</option>
}
}
}
</select>
</div>
</div>
</select>
</div>
<!--FINE PRIMA RIGA-->
</div>
</div>
<!--FINE PRIMA RIGA-->
<div class="row pt-4">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancelNewDoss()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => newDossier(currRecordClone)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
</div>
</div>
<div class="row pt-4">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancelNewDoss()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => newDossier(currRecordClone)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
<!-- FINE: NUOVO DOSSIER -->
<!-- FINE: NUOVO DOSSIER -->
@@ -196,149 +196,152 @@ else
<div class="row">
<div class="d-flex justify justify-content-between">
<table class="table table-sm table-striped small">
<thead>
<tr>
<th>
<div class="text-nowrap">
<div class="row">
<div class="d-flex justify justify-content-between">
<table class="table table-sm table-striped small">
<thead>
<tr>
<th>
<div class="text-nowrap">
@if (currRecord != null)
{
<button @onclick="() => closeTableFlux()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
<button @onclick="()=> cloneRecord(currRecord)" class="btn btn-info btn-sm" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>
<button @onclick="() => closeTableFlux()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
<button @onclick="()=> cloneRecord(currRecord)" class="btn btn-info btn-sm" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>
}
</div>
</th>
<th><i class="fa-solid fa-file"></i> Articolo</th>
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data Snap</th>
<th><i class="fa-solid fa-sliders"></i> ODL</th>
<th></th>
</tr>
</thead>
<tbody>
</div>
</th>
<th><i class="fa-solid fa-file"></i> Articolo</th>
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data Snap</th>
<th><i class="fa-solid fa-sliders"></i> ODL</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var record in ListRecords)
{
<tr class="@checkSelect(@record)">
<td>
<tr class="@checkSelect(@record)">
<td>
@if (isEditing == false)
{
<!--SEL RECORD PER VISUALIZZAZIONE FLUSSI-->
<button class="btn btn-primary btn-sm" @onclick="() => selRecord(record)"><i class="fa-solid fa-magnifying-glass"></i></button>
<!--SEL RECORD PER CLONA DOSSIER-->
<!--SEL RECORD PER VISUALIZZAZIONE FLUSSI-->
<button class="btn btn-primary btn-sm" @onclick="() => selRecord(record)"><i class="fa-solid fa-magnifying-glass"></i></button>
<!--SEL RECORD PER CLONA DOSSIER-->
@*<button @onclick="()=> cloneRecord(record)" class="btn btn-info btn-sm" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>*@
}
else
{
<button class="btn btn-secondary btn-sm disabled"><i class="fa-solid fa-magnifying-glass"></i></button>
<button class="btn btn-secondary btn-sm disabled"><i class="fa-solid fa-magnifying-glass"></i></button>
}
</td>
<td>
</td>
<td>
@record.CodArticolo
<div class="small textConsensed text-secondary">@record.ArticoloNav.DescArticolo</div>
</td>
<td>
<div class="small textConsensed text-secondary">@record.ArticoloNav.DescArticolo</div>
</td>
<td>
@tradFase(record.KeyRichiesta)
</td>
<td>
</td>
<td>
@record.IdxMacchina
</td>
<td>
</td>
<td>
@record.DtRif
</td>
<td>
<div>
<div>
</td>
<td>
<div>
<div>
@record.IdxODL
</div>
@if (record.IdxODL > 0)
</div>
@if (giacenzeConf == "true")
{
<div>
<span class="badge bg-primary textConsensed"><a href="Giacenze?IdxOdl=@record.IdxODL" target="_blank" class="text-light text-decoration-none">APRI GIACENZE</a></span>
</div>
@if (record.IdxODL > 0)
{
<div>
<span class="badge bg-primary textConsensed"><a href="Giacenze?IdxOdl=@record.IdxODL" target="_blank" class="text-light text-decoration-none">APRI GIACENZE</a></span>
</div>
}
}
</div>
</td>
<td>
</div>
</td>
<td>
@if (isEditing == false)
{
<button @onclick="() => deleteRecord(record)" class="btn btn-danger btn-sm"><i class="bi bi-trash-fill"></i></button>
<button @onclick="() => deleteRecord(record)" class="btn btn-danger btn-sm"><i class="bi bi-trash-fill"></i></button>
}
else
{
<button class="btn btn-secondary btn-sm disabled"><i class="bi bi-trash-fill"></i></button>
<button class="btn btn-secondary btn-sm disabled"><i class="bi bi-trash-fill"></i></button>
}
</td>
</tr>
</td>
</tr>
}
</tbody>
</table>
</tbody>
</table>
@if (!visualizzaFlux)
{
if (listaFlux == null)
{
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
}
else
{
<div class="table selBlock p-2">
<table class="table table-light table-sm table-striped small mb-0">
<thead>
<tr>
<th>
<button class="btn btn-info" @onclick="() => closeTableFlux()"><i class="fa-solid fa-xmark"></i></button>
</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data</th>
<th><i class="fa-solid fa-sliders"></i> Data Type</th>
<th style="text-align: right;">
<span class="col-11"> Valore </span>
</th>
</tr>
</thead>
<tbody>
<div class="table selBlock p-2">
<table class="table table-light table-sm table-striped small mb-0">
<thead>
<tr>
<th>
<button class="btn btn-info" @onclick="() => closeTableFlux()"><i class="fa-solid fa-xmark"></i></button>
</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data</th>
<th><i class="fa-solid fa-sliders"></i> Data Type</th>
<th style="text-align: right;">
<span class="col-11"> Valore </span>
</th>
</tr>
</thead>
<tbody>
@foreach (var record in listaFlux)
{
<tr class="@checkSelPar(@record)">
<td>
<button @onclick="() => editRecord(record)" class="btn btn-primary btn-sm" title="Modifica Record"><i class="bi bi-pencil-square"></i></button>
</td>
<td>
<tr class="@checkSelPar(@record)">
<td>
<button @onclick="() => editRecord(record)" class="btn btn-primary btn-sm" title="Modifica Record"><i class="bi bi-pencil-square"></i></button>
</td>
<td>
@record.IdxMacchina
</td>
<td>
</td>
<td>
@record.dtEvento
</td>
<td>
</td>
<td>
@traduci(record.CodFlux)
<div class="small textConsensed text-secondary" title="Valore Registrato">@record.CodFlux</div>
</td>
<td style="text-align: right;">
<div class="small textConsensed text-secondary" title="Valore Registrato">@record.CodFlux</div>
</td>
<td style="text-align: right;">
@if (record.ValoreEdit != record.Valore)
{
<div title="Valore Modificato"><span class="small text-dark"></span><b>@record.ValoreEdit</b></div>
<div class="small text-secondary" title="Valore Registrato">(<i>@record.Valore</i>)</div>
<div title="Valore Modificato"><span class="small text-dark"></span><b>@record.ValoreEdit</b></div>
<div class="small text-secondary" title="Valore Registrato">(<i>@record.Valore</i>)</div>
}
else
{
<div><span class="small text-dark"></span>@record.ValoreEdit</div>
<div><span class="small text-dark"></span>@record.ValoreEdit</div>
}
</td>
</tr>
</td>
</tr>
}
</tbody>
</table>
</div>
</tbody>
</table>
</div>
}
}
</div>
</div>
</div>
}
+8
View File
@@ -79,6 +79,7 @@ namespace MP.SPEC.Components
#region Protected Fields
protected string selAzienda = "*";
protected string giacenzeConf = "false";
#endregion Protected Fields
@@ -221,11 +222,18 @@ namespace MP.SPEC.Components
}
}
//prtected bool hasLic
//{
// get => selAzienda == "GIACOVELLI";
//}
protected override async Task OnInitializedAsync()
{
await MDService.ConfigResetCache();
ListGruppiFase = await MDService.ElencoGruppiFase();
ListStati = await MDService.AnagStatiComm();
selAzienda = await MDService.tryGetConfig("AZIENDA");
giacenzeConf = await MDService.tryGetConfig("SPEC_ShowGiacenze");
ListArticoli = await MDService.ArticoliGetSearch(100000, selAzienda, "");
ListMacchine = await MDService.MacchineGetFilt("*");
await reloadData(true);
+5 -2
View File
@@ -25,13 +25,16 @@
{
@foreach (var item in elencoGiacenze)
{
<tr>
<tr class="@checkSelect(item)">
<td class="fw-bold">
@item.IdxRG
</td>
<td class="small textConsensed">
<button @onclick="() => saveSel(item.IdentRG)">@item.IdentRG</button>
<div class="d-flex justify-content-between">
<span>@item.IdentRG</span>
<button class="btn btn-sm btn-primary" @onclick="() => saveSel(item.IdentRG)"><i class="fa-solid fa-arrow-right"></i></button>
</div>
</td>
<td>
+16
View File
@@ -19,6 +19,22 @@ namespace MP.SPEC.Components
#region Protected Properties
public string checkSelect(AnagGiacenzeModel recordSel)
{
string answ = "";
if (BatchSel != null)
{
try
{
answ = (BatchSel == recordSel.IdentRG) ? "table-info" : "";
}
catch
{ }
}
return answ;
}
protected List<AnagGiacenzeModel>? elencoGiacenze { get; set; } = null;
#endregion Protected Properties
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.SPEC</RootNamespace>
<Version>6.16.2212.108</Version>
<Version>6.16.2212.110</Version>
</PropertyGroup>
<ItemGroup>
+64 -57
View File
@@ -1,68 +1,75 @@
@page "/Giacenze"
<div class="card">
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="px-2">
<h3>Giacenze</h3>
</div>
@if (odlExp == null)
{
<LoadingDataSmall></LoadingDataSmall>
}
else
{
<div class="px-2 text-center">
<div>
<b>ODL @(odlExp.IdxOdl.ToString(padCodXdl))</b>
</div>
<div class="d-flex justify-content-between small">
<div class="px-2">
@odlExp.DataInizio
</div>
<div class="px-2">
>>
</div>
<div class="px-2">
@odlExp.DataFine
</div>
</div>
@if (giacenzeConf == "false")
{
<div class="alert alert-danger">NOT ALLOWED</div>
}
else
{
<div class="card">
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="px-2">
<h3>Giacenze</h3>
</div>
<div class="px-2 text-end">
<div>
<b>@odlExp.CodArticolo</b>
</div>
<div class="small">
@odlExp.DescArticolo
</div>
</div>
}
</div>
</div>
<div class="card-body">
@if (IdxOdl == 0)
{
<LoadingData></LoadingData>
}
else
{
<div class="row">
<div class="@mainTabCss">
<ListGiacenze IdxOdl="@IdxOdl" BatchSelected="saveBatch"></ListGiacenze>
</div>
@if (!string.IsNullOrEmpty(BatchSel))
@if (odlExp == null)
{
<div class="col-2">
<ListOdlLotto BatchSel="@BatchSel"></ListOdlLotto>
<LoadingDataSmall></LoadingDataSmall>
}
else
{
<div class="px-2 text-center">
<div>
<b>ODL @(odlExp.IdxOdl.ToString(padCodXdl))</b>
</div>
<div class="d-flex justify-content-between small">
<div class="px-2">
@odlExp.DataInizio
</div>
<div class="px-2">
>>
</div>
<div class="px-2">
@odlExp.DataFine
</div>
</div>
</div>
<div class="px-2 text-end">
<div>
<b>@odlExp.CodArticolo</b>
</div>
<div class="small">
@odlExp.DescArticolo
</div>
</div>
}
</div>
}
</div>
@*<div class="card-footer">
</div>
<div class="card-body">
@if (IdxOdl == 0)
{
<LoadingData></LoadingData>
}
else
{
<div class="row">
<div class="@mainTabCss">
<ListGiacenze IdxOdl="@IdxOdl" BatchSelected="saveBatch"></ListGiacenze>
</div>
@if (!string.IsNullOrEmpty(BatchSel))
{
<div class="col-2">
<ListOdlLotto BatchSel="@BatchSel"></ListOdlLotto>
</div>
}
</div>
}
</div>
@*<div class="card-footer">
</div>*@
</div>
</div>
}
+3
View File
@@ -26,6 +26,8 @@ namespace MP.SPEC.Pages
protected override async Task OnInitializedAsync()
{
await MDService.ConfigResetCache();
giacenzeConf = await MDService.tryGetConfig("SPEC_ShowGiacenze");
await Task.Delay(1);
padCodXdl = await MDService.tryGetConfig("padCodXdl");
var uri = NavManager.ToAbsoluteUri(NavManager.Uri);
@@ -47,6 +49,7 @@ namespace MP.SPEC.Pages
private NavigationManager NavManager { get; set; } = null!;
private string padCodXdl { get; set; } = "00000";
private string giacenzeConf = "false";
[Inject]
private ISessionStorageService sessionStorage { get; set; } = null!;
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2212.108</h4>
<h4>Versione: 6.16.2212.110</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2212.108
6.16.2212.110
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2212.108</version>
<version>6.16.2212.110</version>
<url>https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>