Spaces:
Sleeping
Sleeping
File size: 6,759 Bytes
34d246d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
{% extends "base.html" %}
{% block title %}Assessment Complete - AI Readiness Assessment{% endblock %}
{% block content %}
<h2 class="mb-4">Assessment Complete</h2>
<p>Thank you for completing the AI Readiness Assessment.</p>
<div class="row">
<div class="col-md-6">
<h3>Your Results:</h3>
<ul>
<li>Strategy Score: {{ assessment.strategy_score }}</li>
<li>Governance Score: {{ assessment.governance_score }}</li>
<li>Data & Infrastructure Score: {{ assessment.data_infrastructure_score }}</li>
<li>Organization Score: {{ assessment.organization_score }}</li>
</ul>
<h4>Total Score: {{ assessment.total_score }}</h4>
<h4>Readiness Level: {{ assessment.readiness_level }}</h4>
</div>
<div class="col-md-6">
<canvas id="radarChart"></canvas>
</div>
</div>
<div class="row mt-4">
<div class="col-md-6">
<canvas id="barChart"></canvas>
</div>
<div class="col-md-6">
<h3>Gap Analysis</h3>
<div id="gapAnalysis"></div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-12">
<h3>Recommendations</h3>
<div id="recommendations"></div>
</div>
</div>
<div class="row mt-4">
<div class="col-md-12">
<a href="{{ url_for('generate_pdf', assessment_id=assessment.id) }}" class="btn btn-primary">Download PDF Report</a>
</div>
</div>
<a href="{{ url_for('dashboard') }}" class="btn btn-primary mt-3">Return to Dashboard</a>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
try {
// Radar Chart
const radarCtx = document.getElementById('radarChart').getContext('2d');
new Chart(radarCtx, {
type: 'radar',
data: {
labels: ['Strategy', 'Governance', 'Data & Infrastructure', 'Organization'],
datasets: [{
label: 'Your Scores',
data: [
{{ assessment.strategy_score }},
{{ assessment.governance_score }},
{{ assessment.data_infrastructure_score }},
{{ assessment.organization_score }}
],
backgroundColor: 'rgba(54, 162, 235, 0.2)',
borderColor: 'rgb(54, 162, 235)',
pointBackgroundColor: 'rgb(54, 162, 235)',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: 'rgb(54, 162, 235)'
}]
},
options: {
responsive: true,
scales: {
r: {
angleLines: {
display: false
},
suggestedMin: 0,
suggestedMax: 20
}
}
}
});
// Bar Chart
const barCtx = document.getElementById('barChart').getContext('2d');
new Chart(barCtx, {
type: 'bar',
data: {
labels: ['Strategy', 'Governance', 'Data & Infrastructure', 'Organization'],
datasets: [{
label: 'Scores',
data: [
{{ assessment.strategy_score }},
{{ assessment.governance_score }},
{{ assessment.data_infrastructure_score }},
{{ assessment.organization_score }}
],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: true,
scales: {
y: {
beginAtZero: true,
max: 20
}
}
}
});
// Gap Analysis
const gapAnalysis = document.getElementById('gapAnalysis');
const scores = [
{ category: 'Strategy', score: {{ assessment.strategy_score }}, max: 19 },
{ category: 'Governance', score: {{ assessment.governance_score }}, max: 17 },
{ category: 'Data & Infrastructure', score: {{ assessment.data_infrastructure_score }}, max: 20 },
{ category: 'Organization', score: {{ assessment.organization_score }}, max: 17 }
];
let gapHtml = '<ul>';
scores.forEach(item => {
const gap = item.max - item.score;
const status = gap <= 2 ? 'Strength' : 'Area for Improvement';
gapHtml += `<li>${item.category}: ${status} (Gap: ${gap.toFixed(1)})</li>`;
});
gapHtml += '</ul>';
gapAnalysis.innerHTML = gapHtml;
// Recommendations
const recommendations = document.getElementById('recommendations');
let recoHtml = '<ul>';
if ({{ assessment.strategy_score }} < 15) {
recoHtml += '<li>Focus on developing a comprehensive AI strategy aligned with business goals.</li>';
}
if ({{ assessment.governance_score }} < 13) {
recoHtml += '<li>Strengthen AI governance frameworks and ethical guidelines.</li>';
}
if ({{ assessment.data_infrastructure_score }} < 16) {
recoHtml += '<li>Invest in improving data quality and infrastructure to support AI initiatives.</li>';
}
if ({{ assessment.organization_score }} < 13) {
recoHtml += '<li>Enhance AI skills and promote a culture of innovation within the organization.</li>';
}
recoHtml += '</ul>';
recommendations.innerHTML = recoHtml;
} catch (error) {
console.error('An error occurred:', error);
document.getElementById('radarChart').innerHTML = 'Error loading chart: ' + error.message;
document.getElementById('barChart').innerHTML = 'Error loading chart: ' + error.message;
}
});
</script>
{% endblock %} |