Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
122 lines
4.6 KiB
HTML
122 lines
4.6 KiB
HTML
{# 单个维度详细分析(在 for 循环内 include) #}
|
||
{# 需要外部传入: dim_name, dim_data, part_id, part_number #}
|
||
|
||
<div class="section" id="{{ part_id }}">
|
||
<h1>第{{ part_number }}部分 {{ dim_name }}表现</h1>
|
||
|
||
<h2>一、整体表现</h2>
|
||
|
||
<div class="score-cards">
|
||
<div class="score-card">
|
||
<div class="label">{{ dim_name }}得分</div>
|
||
<div class="value">{{ "%.1f"|format(dim_data.score) }}</div>
|
||
<div class="diff {{ 'positive' if dim_data.diff_district > 0 else 'negative' }}">
|
||
{{ "%+.1f"|format(dim_data.diff_district) }} vs 区均值
|
||
</div>
|
||
</div>
|
||
<div class="score-card">
|
||
<div class="label">同类学校均值</div>
|
||
<div class="value" style="font-size:24px">{{ "%.1f"|format(dim_data.same_type_avg) }}</div>
|
||
</div>
|
||
<div class="score-card">
|
||
<div class="label">区内排名</div>
|
||
<div class="value">{{ dim_data.rank_in_district }}/{{ overall.total_schools }}</div>
|
||
</div>
|
||
<div class="score-card">
|
||
<div class="label">维度类型</div>
|
||
<div class="value" style="font-size:14px">
|
||
<span class="type-badge {{ 'good' if '较好' in (dim_data.get('cluster', '') or '') else 'weak' }}">
|
||
{{ dim_data.get('cluster', '-') }}
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
{% set part_num = part_id | replace('part', '') %}
|
||
<!-- 维度独立得分柱状图 + 子维度雷达/柱状图 -->
|
||
<div class="chart-row">
|
||
<div class="chart-box">
|
||
<div id="dim-score-{{ part_id }}" class="chart"></div>
|
||
<div class="chart-title">图{{ part_num }}-1 {{ dim_name }}得分情况</div>
|
||
</div>
|
||
<div class="chart-box">
|
||
<div id="sub-radar-{{ part_id }}" class="chart"></div>
|
||
<div class="chart-title">图{{ part_num }}-2 {{ dim_name }}各子维度得分情况</div>
|
||
</div>
|
||
</div>
|
||
<div class="chart-caption">
|
||
{{ llm_sections.get(part_id + '_caption_dim_score', '') | safe }}
|
||
</div>
|
||
|
||
<!-- 子维度柱状图 + 水平分布堆叠图 -->
|
||
<div class="chart-row">
|
||
<div class="chart-box">
|
||
<div id="chart-{{ part_id }}" class="chart"></div>
|
||
<div class="chart-title">图{{ part_num }}-3 {{ dim_name }}各子维度对比详情</div>
|
||
</div>
|
||
<div class="chart-box">
|
||
<div id="level-{{ part_id }}" class="chart"></div>
|
||
<div class="chart-title">图{{ part_num }}-4 {{ dim_name }}各子维度水平分布</div>
|
||
</div>
|
||
</div>
|
||
<div class="chart-caption">
|
||
{{ llm_sections.get(part_id + '_caption_sub_detail', '') | safe }}
|
||
</div>
|
||
|
||
<!-- 聚类散点图(2D或3D) -->
|
||
<div class="chart-box">
|
||
<div id="scatter-{{ part_id }}" class="chart" style="height:450px"></div>
|
||
<div class="chart-title">图{{ part_num }}-5 {{ dim_name }}聚类分析散点图</div>
|
||
</div>
|
||
<div class="chart-caption">
|
||
{{ llm_sections.get(part_id + '_caption_scatter', '') | safe }}
|
||
</div>
|
||
|
||
<!-- 维度整体LLM分析 -->
|
||
<div class="llm-analysis">
|
||
{{ llm_sections.get(part_id + '_overall', '<p>分析加载中...</p>') | safe }}
|
||
</div>
|
||
|
||
<!-- 水平对比表 -->
|
||
<h3>{{ dim_name }}各子维度水平对比(表{{ part_num }}-1)</h3>
|
||
<table class="level-table">
|
||
<thead>
|
||
<tr>
|
||
<th>子维度</th>
|
||
<th>{{ school }}</th>
|
||
<th>得分</th>
|
||
<th>区均值</th>
|
||
<th>排名</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{% for sub_dim in framework[dim_name].sub_dimensions %}
|
||
{% set sd = sub_dimensions.get(sub_dim, {}) %}
|
||
{% if sd %}
|
||
<tr>
|
||
<td>{{ sub_dim }}</td>
|
||
<td class="lv{{ sd.level }}">水平{{ sd.level }}</td>
|
||
<td>{{ "%.1f"|format(sd.score) }}</td>
|
||
<td>{{ "%.1f"|format(sd.district_avg) }}</td>
|
||
<td>{{ sd.rank_in_district }}/{{ overall.total_schools }}</td>
|
||
</tr>
|
||
{% endif %}
|
||
{% endfor %}
|
||
</tbody>
|
||
</table>
|
||
|
||
<hr class="section-divider">
|
||
|
||
<!-- 各三级维度详细分析 -->
|
||
{% for sub_dim in framework[dim_name].sub_dimensions %}
|
||
{% set sd = sub_dimensions.get(sub_dim, {}) %}
|
||
{% if sd %}
|
||
{% set sub_index = loop.index %}
|
||
{% include 'sections/sub_dimension.html' %}
|
||
{% if not loop.last %}
|
||
<hr class="section-divider">
|
||
{% endif %}
|
||
{% endif %}
|
||
{% endfor %}
|
||
</div>
|