Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
141 lines
5.6 KiB
HTML
141 lines
5.6 KiB
HTML
{# 第一部分:总体表现 #}
|
|
<div class="section" id="part2">
|
|
<h1>第二部分 学校课程实施总体表现</h1>
|
|
|
|
<h2>一、学校课程实施总体状况</h2>
|
|
|
|
<!-- 得分卡片 -->
|
|
<div class="score-cards">
|
|
<div class="score-card">
|
|
<div class="label">总体得分</div>
|
|
<div class="value">{{ "%.1f"|format(overall.score) }}</div>
|
|
<div class="diff {{ 'positive' if overall.score > overall.district_avg else 'negative' }}">
|
|
{{ "%+.1f"|format(overall.score - overall.district_avg) }} vs 区均值({{ "%.1f"|format(overall.district_avg) }})
|
|
</div>
|
|
</div>
|
|
<div class="score-card">
|
|
<div class="label">区内排名</div>
|
|
<div class="value">{{ overall.rank_in_district }}/{{ overall.total_schools }}</div>
|
|
</div>
|
|
<div class="score-card">
|
|
<div class="label">同类学校均值</div>
|
|
<div class="value" style="font-size:24px">{{ "%.1f"|format(overall.same_type_avg) }}</div>
|
|
<div class="diff {{ 'positive' if overall.score > overall.same_type_avg else 'negative' }}">
|
|
{{ "%+.1f"|format(overall.score - overall.same_type_avg) }} vs 同类
|
|
</div>
|
|
</div>
|
|
<div class="score-card">
|
|
<div class="label">课程实施类型</div>
|
|
<div class="value" style="font-size:16px">
|
|
<span class="type-badge {{ 'good' if '较好' in (overall.cluster or '') else 'weak' }}">
|
|
{{ overall.cluster }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- A. 学校画像卡 + 优势-短板象限图 -->
|
|
<div class="chart-row">
|
|
<div class="chart-box">
|
|
<div id="profile-card-chart" class="chart" style="height:420px"></div>
|
|
<div class="chart-title">图2-0a 学校课程实施画像总览</div>
|
|
</div>
|
|
<div class="chart-box">
|
|
<div id="quadrant-chart" class="chart" style="height:420px"></div>
|
|
<div class="chart-title">图2-0b 三级维度优势-短板象限分析</div>
|
|
</div>
|
|
</div>
|
|
<div class="chart-caption">
|
|
{{ llm_sections.get('part2_caption_profile', '') | safe }}
|
|
</div>
|
|
|
|
<!-- 得分对比横向条形图 + 七维度雷达图 -->
|
|
<div class="chart-row">
|
|
<div class="chart-box">
|
|
<div id="score-compare-chart" class="chart"></div>
|
|
<div class="chart-title">图2-1 课程实施七维度得分对比</div>
|
|
</div>
|
|
<div class="chart-box">
|
|
<div id="radar-chart" class="chart"></div>
|
|
<div class="chart-title">图2-2 课程实施七维度雷达图</div>
|
|
</div>
|
|
</div>
|
|
<div class="chart-caption">
|
|
{{ llm_sections.get('part2_caption_scores', '') | safe }}
|
|
</div>
|
|
|
|
<!-- 聚类类型分布 + 两类学校折线对比 -->
|
|
<div class="chart-row">
|
|
<div class="chart-box">
|
|
<div id="cluster-type-dist-chart" class="chart"></div>
|
|
<div class="chart-title">图2-3 学校课程实施总体类型分布</div>
|
|
</div>
|
|
<div class="chart-box">
|
|
<div id="cluster-line-chart" class="chart"></div>
|
|
<div class="chart-title">图2-4 两类学校课程实施特征对比</div>
|
|
</div>
|
|
</div>
|
|
<div class="chart-caption">
|
|
{{ llm_sections.get('part2_caption_cluster', '') | safe }}
|
|
</div>
|
|
|
|
<!-- 聚类类型对比雷达图 + 区内学校排名条形图 -->
|
|
<div class="chart-row">
|
|
<div class="chart-box">
|
|
<div id="cluster-radar-chart" class="chart"></div>
|
|
<div class="chart-title">图2-5 学校课程实施类型特征对比(雷达图)</div>
|
|
</div>
|
|
<div class="chart-box">
|
|
<div id="school-ranking-chart" class="chart"></div>
|
|
<div class="chart-title">图2-6 区内各校总体得分排名</div>
|
|
</div>
|
|
</div>
|
|
<div class="chart-caption">
|
|
{{ llm_sections.get('part2_caption_ranking', '') | safe }}
|
|
</div>
|
|
|
|
<!-- 维度间相关性热力图 -->
|
|
<div class="chart-box">
|
|
<div id="correlation-chart" class="chart" style="height:450px"></div>
|
|
<div class="chart-title">图2-7 课程实施维度间相关性分析</div>
|
|
</div>
|
|
<div class="chart-caption">
|
|
{{ llm_sections.get('part2_caption_correlation', '') | safe }}
|
|
</div>
|
|
|
|
<!-- LLM综合分析 -->
|
|
<div class="llm-analysis">
|
|
{{ llm_sections.get('part2_overview', '<p>分析加载中...</p>') | safe }}
|
|
</div>
|
|
|
|
<h2>二、分维度状况</h2>
|
|
|
|
<!-- 维度得分对比表 -->
|
|
<table class="data-table">
|
|
<thead>
|
|
<tr>
|
|
<th>维度</th>
|
|
<th>{{ school }}</th>
|
|
<th>区均值</th>
|
|
<th>同类学校均值</th>
|
|
<th>差异(vs区)</th>
|
|
<th>区内排名</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for dim_name, dim_data in dimensions.items() %}
|
|
<tr>
|
|
<td><strong>{{ dim_name }}</strong></td>
|
|
<td>{{ "%.2f"|format(dim_data.score) }}</td>
|
|
<td>{{ "%.2f"|format(dim_data.district_avg) }}</td>
|
|
<td>{{ "%.2f"|format(dim_data.same_type_avg) }}</td>
|
|
<td style="color: {{ 'green' if dim_data.diff_district > 0 else 'red' }}">
|
|
{{ "%+.2f"|format(dim_data.diff_district) }}
|
|
</td>
|
|
<td>{{ dim_data.rank_in_district }}/{{ overall.total_schools }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|