var SelexController = { Name: "Selex", RequireLogin: true }; function InitCustomCodeImpostazioniValoriVariabile() { }; function EseguiPersonalizzazionepaginaWebVars(codice, dati, viewModelVars) { }; function ApriMenuCustomImpostazioniValoriVariabile(codice) { if (codice == "INSERIMENTO_CERTIFICATI_LAB") { if (!UI.BringToFrontWindow("FrmSelexInserimentoCertLab")) { var FrmInstance = new FrmSelexInserimentoCertLab(); UI.AddForm(FrmInstance); FrmInstance.Show(); } }; }; function FrmSelexInserimentoCertLab() { this.Name = "FrmSelexInserimentoCertLab"; this.Title = "Gestione Analisi"; this.MainForm = undefined; this.CurrentData = undefined; this.CurrRicerca = undefined; var gg = this; var me = this; this.CurrId = 0; //Inizializzazione parametro di creazione della griglia this.gridParameter = { dataSource: null, keyExpr: "id", height: '100%', editing: { mode: "popup", allowAdding: false, allowDeleting: false, allowUpdating: true, popup: { title: "Dettaglio", showTitle: true, height: 700, onShowing(e){ var btns = e.component.content().parent().find(".dx-button.dx-button-has-text"); if (btns.length > 1) { $(btns[btns.length - 1]).hide(); } } } }, onEditingStart: function (k) { if (k.data) { Service(SelexController, "SegnaEditStart", { EAN: k.data.EAN, CODART: k.data.codart }, me.Name, function (result) { }); }; }, onSelectionChanged: function (e) { if (e.selectedRowKeys) { if (e.selectedRowKeys.length === 1) { CurrId = e.selectedRowKeys[0]; if (e.selectedRowsData[0].FreqAnnoInzio === 1) { $("#FrmSelexInserimentoCertLabTogliInizioAnno").show(); $("#FrmSelexInserimentoCertLabMettiInizioAnno").hide(); } else { if (e.selectedRowsData[0].FreqAnnoInzio === 0 || e.selectedRowsData[0].FreqAnnoInzio === null) { $("#FrmSelexInserimentoCertLabTogliInizioAnno").hide(); $("#FrmSelexInserimentoCertLabMettiInizioAnno").show(); } else { $("#FrmSelexInserimentoCertLabTogliInizioAnno").hide(); $("#FrmSelexInserimentoCertLabMettiInizioAnno").hide(); } } } else { $("#FrmSelexInserimentoCertLabTogliInizioAnno").hide(); $("#FrmSelexInserimentoCertLabMettiInizioAnno").hide(); } if (e.selectedRowKeys.length > 0) { $("#FrmSelexInserimentoCertLabImpostaFattura").show(); } else { $("#FrmSelexInserimentoCertLabImpostaFattura").hide(); } } else { $("#FrmSelexInserimentoCertLabTogliInizioAnno").hide(); $("#FrmSelexInserimentoCertLabMettiInizioAnno").hide(); $("#FrmSelexInserimentoCertLabImpostaFattura").hide(); }; }, onRowUpdating: function (k) { if (me.CurrRicerca.Piano === 'Ortofrutta') { k.newData.COSTO_TOT = 0; if (k.newData.O_MICRO1) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_MICRO1); } else { if (k.oldData.O_MICRO1) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_MICRO1); } } if (k.newData.O_MICRO2) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_MICRO2); } else { if (k.oldData.O_MICRO2) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_MICRO2); } } if (k.newData.O_MICRO3) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_MICRO3); } else { if (k.oldData.O_MICRO3) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_MICRO3); } } if (k.newData.O_MICRO4) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_MICRO4); } else { if (k.oldData.O_MICRO3) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_MICRO3); } } if (k.newData.O_NITRITI_NITRATI) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_NITRITI_NITRATI); } else { if (k.oldData.O_NITRITI_NITRATI) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_NITRITI_NITRATI); } } if (k.newData.O_PbCdCr) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_PbCdCr); } else { if (k.oldData.O_PbCdCr) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_PbCdCr); } } if (k.newData.O_MULTIRESID) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_MULTIRESID); } else { if (k.oldData.O_MULTIRESID) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_MULTIRESID); } } if (k.newData.O_CLORATI_PERCL) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_CLORATI_PERCL); } else { if (k.oldData.O_CLORATI_PERCL) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_CLORATI_PERCL); } } if (k.newData.O_PATULINA) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_PATULINA); } else { if (k.oldData.O_PATULINA) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_PATULINA); } } if (k.newData.O_ALTRO_GrBrix) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_ALTRO_GrBrix); } else { if (k.oldData.O_ALTRO_GrBrix) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_ALTRO_GrBrix); } } if (k.newData.O_ANIDRIDE_SOLF) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_ANIDRIDE_SOLF); } else { if (k.oldData.O_ANIDRIDE_SOLF) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_ANIDRIDE_SOLF); } } //if (k.newData.costo_extra) { // k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.costo_extra); //} else { // if (k.oldData.costo_extra) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.costo_extra); } //} if (k.newData.O_ETICH_NUTRIZ) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_ETICH_NUTRIZ); } else { if (k.oldData.O_ETICH_NUTRIZ) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_ETICH_NUTRIZ); } } if (k.newData.O_ANALISI_MERC) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.newData.O_ANALISI_MERC); } else { if (k.oldData.O_ANALISI_MERC) { k.newData.COSTO_TOT = k.newData.COSTO_TOT + parseFloat(k.oldData.O_ANALISI_MERC); } } k.newData.COSTO_TOT = Number(k.newData.COSTO_TOT).toFixed(2); }; }, onRowUpdated: function (k) { var p = {}; p.ID = k.data.id; p.COD_PACCHETTO = k.data.COD_PACCHETTO; p.NR_PARAM_ANALITICI = k.data.NR_PARAM_ANALITICI; p.O_MICRO1 = k.data.O_MICRO1; p.O_MICRO2 = k.data.O_MICRO2; p.O_MICRO3 = k.data.O_MICRO3; p.O_MICRO4 = k.data.O_MICRO4; p.O_NITRITI_NITRATI = k.data.O_NITRITI_NITRATI; p.O_PbCdCr = k.data.O_PbCdCr; p.O_MULTIRESID = k.data.O_MULTIRESID; p.O_CLORATI_PERCL = k.data.O_CLORATI_PERCL; p.O_PATULINA = k.data.O_PATULINA; p.O_ALTRO_GrBrix = k.data.O_ALTRO_GrBrix; p.O_ANIDRIDE_SOLF = k.data.O_ANIDRIDE_SOLF; p.costo_extra = k.data.costo_extra; p.AnalisiExtra = k.data.AnalisiExtra; p.ParametriExtra = k.data.ParametriExtra; p.O_ETICH_NUTRIZ = k.data.O_ETICH_NUTRIZ; p.O_ANALISI_MERC = k.data.O_ANALISI_MERC; p.NR_PARAM_ANALITICI_EFF = k.data.NR_PARAM_ANALITICI_EFF; p.NR_RAPPORTO_PROVA = k.data.NR_RAPPORTO_PROVA; p.NR_FATTURA = k.data.NR_FATTURA; p.NOTE = k.data.NOTE; p.CERT1 = k.data.CERT1; p.CERT2 = k.data.CERT2; p.COSTO_TOT = k.data.COSTO_TOT; p.FreqAnnoInizio = k.data.FreqAnnoInzio; Service(SelexController, "AggiornaDatiRigaAnalisi", p, gg.Name, function (result) { }); }, selection: { mode: "multiple", showCheckBoxesMode: "always", allowSelectAll: true }, showBorders: true, filterRow: { visible: true }, paging: { pageSize: 99999 }, rowAlternationEnabled: true, headerFilter: { visible: true }, columns: [ { dataField: "id", caption: "ID", allowEditing: false, visible: false }//colonne fatte sotto ], allowColumnReordering: true, allowColumnResizing: true, columnAutoWidth: true, loadPanel: { enabled: true }, columnResizingMode: 'widget', wordWrapEnabled: true, scrolling: { showScrollbar: 'always' }, onContentReady: function (e) { if (e.component.shouldSkipNextReady) { e.component.shouldSkipNextReady = false; } else { e.component.shouldSkipNextReady = true; e.component.columnOption("command:select", "width", 20); e.component.updateDimensions(); } }, onCellPrepared: function (e) { if (e.rowType === "data" && (e.column.dataField === "STATO_ART" )) { if (e.value == "E") { e.cellElement.css("background-color", '#db7093'); } else if (e.value == "S") { e.cellElement.css("background-color", '#fa320a'); } } } }; this.editCellTemplateUpl = function (cellElement, cellInfo) { var me = this; var idElemento = cellInfo.data.id; var numPulsante = 1; var funzione = "UploadCert1" var NomefIle = cellInfo.value; var Griglia = cellInfo.component; var testoBtnElimina = "Elimina Certificati"; var testoBtnScarica = "Download Certificati"; var currValore = NomefIle; if (cellInfo.item.dataField === "CERT2") { funzione = "UploadCert2"; numPulsante = 2; testoBtnElimina = "Elimina Allegati"; testoBtnScarica = "Download Allegati"; } let buttonElement = document.createElement("div"); buttonElement.classList.add("retryButton"); let buttonElementVis = document.createElement("div"); buttonElementVis.classList.add("showButton"); let buttonElementDel = document.createElement("div"); buttonElementDel.classList.add("deleteButton"); let CurrFile = document.createElement("div"); CurrFile.innerText = cellInfo.value; //let imageElement = document.createElement("img"); //imageElement.classList.add("uploadedImage"); //imageElement.setAttribute('src', `${backendURL}${cellInfo.value}`); let fileUploaderElement = document.createElement("div"); cellElement.append(CurrFile); cellElement.append(fileUploaderElement); cellElement.append(buttonElement); cellElement.append(buttonElementVis); cellElement.append(buttonElementDel); let retryButton = $(buttonElement).dxButton({ text: "Retry", visible: false, onClick: function () { // The retry UI/API is not implemented. Use a private API as shown at T611719. for (var i = 0; i < fileUploader._files.length; i++) { delete fileUploader._files[i].uploadStarted; } fileUploader.upload(); } }).dxButton("instance"); let deleteButton = $(buttonElementDel).dxButton({ text: testoBtnElimina, visible: false, onClick: function () { var p = { ID: idElemento, NumCert: numPulsante, NomeFile: NomefIle } if (window.confirm("Verranno Eliminati tutti i files di questa sezione (allegati o certificati), procedere?")) { Service(SelexController, "EliminaCert", p, me.Name, function (result) { cellInfo.setValue(null); CurrFile.innerText = ""; currValore = ""; deleteButton.option("visible", false); donwloadItemBtn.option("visible", false); fileUploader.reset(); }); }; } }).dxButton("instance"); let donwloadItemBtn = $(buttonElementVis).dxButton({ text: testoBtnScarica, visible: false, onClick: function () { var p = { ID: idElemento, NumCert: numPulsante, NomeFile: NomefIle } Service(SelexController, "DownloadCert", p, me.Name, function (result) { if (result.Result) { var URL = GetURL(DownloadController, "DownloadFileGET", [["Ticket", result.Ticket]], true); UI.ViewModel.Download.addFile({ name: result.Name, URL: URL }); Griglia.saveEditData(); } else { ErrorBox(result.FailReason); } }); } }).dxButton("instance"); var pF = { multiple: false, uploadMode: "instantly", uploadUrl: getApiURL(SelexController, funzione), onBeforeSend: function (e) { NomefIle = e.file.name; }, onUploaded: function (e) { if (currValore) { if (currValore != "") { currValore = parseInt(currValore) + 1; } else { currValore = 1; } } else { currValore = 1; } cellInfo.setValue(currValore); CurrFile.innerText = currValore; retryButton.option("visible", false); deleteButton.option("visible", true); donwloadItemBtn.option("visible", true); }, onUploadError: function (e) { let xhttp = e.request; if (xhttp.status === 400) { e.message = e.error.responseText; } if (xhttp.readyState === 4 && xhttp.status === 0) { e.message = "Connection refused"; } retryButton.option("visible", true); deleteButton.option("visible", false); donwloadItemBtn.option("visible", false); } }; if (numPulsante === 1) { pF.accept = "application/pdf"; } else { pF.accept = 'application/pdf,application/zip,image/jpeg,image/png,text/plain,text/csv,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document'; }; let fileUploader = $(fileUploaderElement).dxFileUploader(pF).dxFileUploader("instance"); if (cellInfo.value) { deleteButton.option("visible", true); donwloadItemBtn.option("visible", true); } else { deleteButton.option("visible", false); donwloadItemBtn.option("visible", false); } }; this.CreaColonne = function () { var me = this; me.gridParameter.columns = [ { dataField: "EAN", caption: "EAN", allowEditing: false, fixed: true, fixedPosition: "left",width:120 }, { dataField: "DESCRIZIONE_ARTICOLO", caption: "Descrizione Art.", allowEditing: false, fixed: true, fixedPosition: "left", width: 200 }, { dataField: "DESC_FORNITORE_CONTABILE", caption: "Fornitore", allowEditing: false, fixed: true, fixedPosition: "left", width: 200 }, { dataField: "PEZZATURA", caption: "Formato", allowEditing: false, fixed: true, fixedPosition: "left", width: 120 }, { dataField: "MARCHIO_SEGMENTO", caption: "Marchio + Segmento", allowEditing: false, fixed: true, fixedPosition: "left", width: 120 }, { dataField: "id", caption: "ID", allowEditing: false, visible: false }, { dataField:"STATO_ART", caption: "STATO", allowEditing: false, fixed: true, fixedPosition: "left", width:80 } ]; me.gridParameter.summary = { totalItems: [{ column: 'EAN', summaryType: 'count' }] }; //var numTemplate = function (cellElement, cellInfo) { // var itmConf = { // value: cellInfo.value, // onValueChanged: function (e) { // var v = cellInfo.row.data; // v[cellInfo.dataField] = value; // } // }; // return $("