Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
dashboard:test_report_2018-224_semplice [2025/07/04 22:03] – creata 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 | ||
- | }, | ||
- | { | ||
- | 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 | ||
- | } | ||
- | }, | ||
- | interaction: | ||
- | intersect: false, | ||
- | mode: ' | ||
- | } | ||
- | } | ||
- | }); | ||
- | } | ||
- | |||
- | // Creazione di tutti i grafici | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | createChart(' | ||
- | </ | ||
- | </ | ||
- | </ |