Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedente | |||
| dashboard:test_report_2018-224_semplice [2025/07/04 22:05] – admin | dashboard:test_report_2018-224_semplice [2025/07/04 22:05] (versione attuale) – eliminata admin | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| - | < | ||
| - | <html lang=" | ||
| - | < | ||
| - | <meta charset=" | ||
| - | <meta name=" | ||
| - | < | ||
| - | <script src=" | ||
| - | < | ||
| - | body { | ||
| - | font-family: | ||
| - | background: linear-gradient(135deg, | ||
| - | margin: 0; | ||
| - | padding: 20px; | ||
| - | min-height: 100vh; | ||
| - | } | ||
| - | | ||
| - | .container { | ||
| - | max-width: 1400px; | ||
| - | margin: 0 auto; | ||
| - | background: rgba(255, 255, 255, 0.95); | ||
| - | border-radius: | ||
| - | padding: 30px; | ||
| - | box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); | ||
| - | backdrop-filter: | ||
| - | } | ||
| - | | ||
| - | .header { | ||
| - | text-align: center; | ||
| - | margin-bottom: | ||
| - | color: #2c3e50; | ||
| - | } | ||
| - | | ||
| - | .header h1 { | ||
| - | font-size: 2.5em; | ||
| - | margin: 0; | ||
| - | text-shadow: | ||
| - | background: linear-gradient(45deg, | ||
| - | -webkit-background-clip: | ||
| - | -webkit-text-fill-color: | ||
| - | background-clip: | ||
| - | } | ||
| - | | ||
| - | .header p { | ||
| - | font-size: 1.2em; | ||
| - | margin: 10px 0 0 0; | ||
| - | color: #7f8c8d; | ||
| - | } | ||
| - | | ||
| - | .charts-grid { | ||
| - | display: grid; | ||
| - | grid-template-columns: | ||
| - | gap: 30px; | ||
| - | margin-top: 30px; | ||
| - | } | ||
| - | | ||
| - | .chart-container { | ||
| - | background: white; | ||
| - | border-radius: | ||
| - | padding: 25px; | ||
| - | box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); | ||
| - | transition: transform 0.3s ease, box-shadow 0.3s ease; | ||
| - | border: 2px solid transparent; | ||
| - | background-clip: | ||
| - | } | ||
| - | | ||
| - | .chart-container: | ||
| - | transform: translateY(-5px); | ||
| - | box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); | ||
| - | border-color: | ||
| - | } | ||
| - | | ||
| - | .chart-title { | ||
| - | font-size: 1.3em; | ||
| - | font-weight: | ||
| - | text-align: center; | ||
| - | margin-bottom: | ||
| - | color: #2c3e50; | ||
| - | padding-bottom: | ||
| - | border-bottom: | ||
| - | } | ||
| - | | ||
| - | .current-value { | ||
| - | text-align: center; | ||
| - | font-size: 2em; | ||
| - | font-weight: | ||
| - | margin-bottom: | ||
| - | padding: 10px; | ||
| - | border-radius: | ||
| - | background: linear-gradient(45deg, | ||
| - | display: none; | ||
| - | } | ||
| - | | ||
| - | .value-good { | ||
| - | color: #27ae60; | ||
| - | background: linear-gradient(45deg, | ||
| - | } | ||
| - | | ||
| - | .value-warning { | ||
| - | color: #f39c12; | ||
| - | background: linear-gradient(45deg, | ||
| - | } | ||
| - | | ||
| - | .value-danger { | ||
| - | color: #e74c3c; | ||
| - | background: linear-gradient(45deg, | ||
| - | } | ||
| - | | ||
| - | .chart-canvas { | ||
| - | height: 300px !important; | ||
| - | } | ||
| - | | ||
| - | .legend { | ||
| - | display: flex; | ||
| - | justify-content: | ||
| - | gap: 20px; | ||
| - | margin-top: 15px; | ||
| - | flex-wrap: wrap; | ||
| - | } | ||
| - | | ||
| - | .legend-item { | ||
| - | display: flex; | ||
| - | align-items: | ||
| - | gap: 8px; | ||
| - | font-size: 0.9em; | ||
| - | padding: 5px 10px; | ||
| - | border-radius: | ||
| - | background: #f8f9fa; | ||
| - | } | ||
| - | | ||
| - | .legend-color { | ||
| - | width: 16px; | ||
| - | height: 16px; | ||
| - | border-radius: | ||
| - | } | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <canvas id=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | // Dati per i grafici | ||
| - | const data = { | ||
| - | years: [2018, 2019, 2020, 2021, 2022, 2023, 2024], | ||
| - | | ||
| - | mortality: { | ||
| - | values: [0.0, 3.8, 6.1, 0.0, 10.3, 6.9, 2.9], | ||
| - | q1: 5.7, | ||
| - | q3: 14.8 | ||
| - | }, | ||
| - | | ||
| - | deathOrMorbidity: | ||
| - | values: [19.4, 26.9, 27.3, 30.8, 34.5, 41.4, 35.3], | ||
| - | q1: 27.3, | ||
| - | q3: 50.0 | ||
| - | }, | ||
| - | | ||
| - | anyLateInfection: | ||
| - | values: [13.9, 15.4, 18.8, 15.4, 19.4, 11.1, 5.9], | ||
| - | q1: 2.9, | ||
| - | q3: 13.7 | ||
| - | }, | ||
| - | | ||
| - | necrotizingEnterocolitis: | ||
| - | values: [5.6, 3.7, 0.0, 0.0, 15.6, 7.1, 14.7], | ||
| - | q1: 0.0, | ||
| - | q3: 6.7 | ||
| - | }, | ||
| - | | ||
| - | chronicLungDisease: | ||
| - | values: [6.7, 15.8, 17.2, 19.0, 20.0, 27.3, 11.1], | ||
| - | q1: 10.5, | ||
| - | q3: 35.3 | ||
| - | }, | ||
| - | | ||
| - | pneumothorax: | ||
| - | values: [0.0, 0.0, 0.0, 7.7, 0.0, 0.0, 11.8], | ||
| - | q1: 0.0, | ||
| - | q3: 5.6 | ||
| - | }, | ||
| - | | ||
| - | severeIVH: { | ||
| - | values: [2.9, 7.4, 3.1, 3.8, 3.3, 0.0, 5.9], | ||
| - | q1: 0.0, | ||
| - | q3: 10.0 | ||
| - | }, | ||
| - | | ||
| - | cysticPVL: { | ||
| - | values: [0.0, 3.7, 0.0, 0.0, 0.0, 7.7, 0.0], | ||
| - | q1: 0.0, | ||
| - | q3: 3.3 | ||
| - | }, | ||
| - | | ||
| - | severeROP: { | ||
| - | values: [2.8, 0.0, 3.7, 0.0, 0.0, 0.0, 0.0], | ||
| - | q1: 0.0, | ||
| - | q3: 7.1 | ||
| - | }, | ||
| - | | ||
| - | anyHumanMilk: | ||
| - | values: [66.7, 77.3, 71.4, 61.5, 52.0, 52.0, 61.3], | ||
| - | q1: 47.8, | ||
| - | q3: 78.9 | ||
| - | } | ||
| - | }; | ||
| - | |||
| - | // Script corretto senza riferimenti ai valori eliminati | ||
| - | |||
| - | // Funzione per creare i grafici | ||
| - | function createChart(canvasId, | ||
| - | const ctx = document.getElementById(canvasId).getContext(' | ||
| - | | ||
| - | const upperLimit = Array(data.years.length).fill(chartData.q3); | ||
| - | const lowerLimit = Array(data.years.length).fill(chartData.q1); | ||
| - | | ||
| - | new Chart(ctx, { | ||
| - | type: ' | ||
| - | data: { | ||
| - | labels: data.years, | ||
| - | datasets: [ | ||
| - | { | ||
| - | label: title, | ||
| - | data: chartData.values, | ||
| - | borderColor: | ||
| - | backgroundColor: | ||
| - | borderWidth: | ||
| - | pointBackgroundColor: | ||
| - | pointBorderColor: | ||
| - | pointBorderWidth: | ||
| - | pointRadius: | ||
| - | pointHoverRadius: | ||
| - | fill: false, | ||
| - | tension: 0.4 | ||
| - | }, | ||
| - | { | ||
| - | label: ' | ||
| - | data: upperLimit, | ||
| - | borderColor: | ||
| - | backgroundColor: | ||
| - | borderWidth: | ||
| - | borderDash: [5, 5], | ||
| - | pointRadius: | ||
| - | fill: false | ||
| - | }, | ||
| - | { | ||
| - | label: ' | ||
| - | data: lowerLimit, | ||
| - | borderColor: | ||
| - | backgroundColor: | ||
| - | borderWidth: | ||
| - | borderDash: [5, 5], | ||
| - | pointRadius: | ||
| - | fill: false | ||
| - | } | ||
| - | ] | ||
| - | }, | ||
| - | options: { | ||
| - | responsive: true, | ||
| - | maintainAspectRatio: | ||
| - | plugins: { | ||
| - | legend: { | ||
| - | display: false | ||
| - | }, | ||
| - | tooltip: { | ||
| - | backgroundColor: | ||
| - | titleColor: ' | ||
| - | bodyColor: ' | ||
| - | borderColor: | ||
| - | borderWidth: | ||
| - | cornerRadius: | ||
| - | callbacks: { | ||
| - | label: function(context) { | ||
| - | return context.dataset.label + ': ' + context.parsed.y.toFixed(1) + ' | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | }, | ||
| - | scales: { | ||
| - | x: { | ||
| - | grid: { | ||
| - | color: ' | ||
| - | drawBorder: false | ||
| - | }, | ||
| - | ticks: { | ||
| - | color: '# | ||
| - | font: { | ||
| - | size: 12, | ||
| - | weight: ' | ||
| - | } | ||
| - | } | ||
| - | }, | ||
| - | y: { | ||
| - | beginAtZero: | ||
| - | grid: { | ||
| - | color: ' | ||
| - | drawBorder: false | ||
| - | }, | ||
| - | ticks: { | ||
| - | color: '# | ||
| - | font: { | ||
| - | size: 12 | ||
| - | }, | ||
| - | callback: function(value) { | ||
| - | return value + ' | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | }, | ||
| - | elements: { | ||
| - | line: { | ||
| - | tension: 0.4 | ||
| - | } | ||
| - | }, | ||
| - | interaction: | ||
| - | intersect: false, | ||
| - | mode: ' | ||
| - | } | ||
| - | } | ||
| - | }); | ||
| - | } | ||
| - | |||
| - | // Creazione di tutti i grafici | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | createChart(' | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||