pull/21891/head
ytqh 1 year ago
parent 83e8721c85
commit 71b67ea839

@ -297,11 +297,12 @@ class GenerateAnalysisReportApi(Resource):
data = request.get_json() data = request.get_json()
summary_analysis = data.get('summary_analysis') summary_analysis = data.get('summary_analysis')
school_name = data.get('school_name', '山东单县一中') # Default value if not provided school_name = data.get('school_name', '山东单县一中') # Default value if not provided
html_template = data.get('html_template')
if not summary_analysis: if not summary_analysis:
return {"error": "summary_analysis is required"}, 400 return {"error": "summary_analysis is required"}, 400
# HTML template for the report if not html_template: # default template
html_template = """ html_template = """
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -347,6 +348,9 @@ class GenerateAnalysisReportApi(Resource):
.stats { .stats {
color: #666; color: #666;
} }
.category-item {
margin-bottom: 20px;
}
</style> </style>
</head> </head>
<body> <body>
@ -375,11 +379,17 @@ class GenerateAnalysisReportApi(Resource):
<div class="category-item"> <div class="category-item">
<div>{{ category.category }}</div> <div>{{ category.category }}</div>
<div class="category-bar"> <div class="category-bar">
<div class="bar" style="width: {{ category.error_count * 2 }}px;"></div> <div class="bar" style="width: 500px; position: relative; background-color: #e1e9f3;">
<span class="stats"> <div style="position: absolute; left: 0; top: 0; height: 100%; width: {{ (1 - category.correct_rate) * 100 }}%; background-color: #7eb0e3; display: flex; align-items: center; justify-content: center;">
错误数{{ category.error_count }} / 总数{{ category.total_count }} <span style="color: #333; font-size: 14px;">做错{{ category.error_count }}</span>
失分比{{ (1 - category.correct_rate) * 100 }}% </div>
</span> <div style="position: absolute; right: 10px; top: 0; height: 100%; display: flex; align-items: center;">
<span style="color: #666;">总考生数{{ category.total_count }}</span>
</div>
<div style="position: absolute; right: -80px; top: 0; height: 100%; display: flex; align-items: center;">
<span style="color: #666;">失分比{{ ((1 - category.correct_rate) * 100)|round }}%</span>
</div>
</div>
</div> </div>
</div> </div>
{% endfor %} {% endfor %}

Loading…
Cancel
Save