fix(提交列表): 手机上好用多了:筛选里补上「这节课」、班级、只看某个学生,顶上加了统计入口;点开详情名字、题目、按钮分三行排,代码字号改小;流程图的评分不再被压成一条缝;翻页不再顶出屏幕、翻完回到顶上;电脑上「复制回到题目」「复制到自测猫」挪到右栏底栏,老师不用再进「⋯」找,题目名也不再被按钮挤没
Deploy / deploy (push) Canceled after 0s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-14 09:21:23 +08:00
1 parent dc89184488
commit c018c147c1
4 files changed
+449 -144

No files matched your search

@@ -169,24 +169,27 @@ const canRetry = computed(
<Icon icon="ph:funnel-simple-bold" :width="12" />
</button>
</div>
<span class="dot">·</span>
<a
class="problem"
href="#"
:title="`${row.problemDisplayId} ${row.problemTitle}`"
@click.prevent="emit('openProblem', row)"
>
<span class="problem-id">{{ row.problemDisplayId }}</span>
{{ row.problemTitle }}
</a>
<button
class="filter-pill"
title="只看这道题的提交"
aria-label="只看这道题的提交"
@click="emit('filterProblem', row.problemDisplayId)"
>
<Icon icon="ph:funnel-simple-bold" :width="12" />
</button>
<span v-if="!narrow" class="dot">·</span>
<!-- display: contents 的壳:桌面上照旧一行,手机上题目整行另起 -->
<span class="problem-group">
<a
class="problem"
href="#"
:title="`${row.problemDisplayId} ${row.problemTitle}`"
@click.prevent="emit('openProblem', row)"
>
<span class="problem-id">{{ row.problemDisplayId }}</span>
{{ row.problemTitle }}
</a>
<button
class="filter-pill"
title="只看这道题的提交"
aria-label="只看这道题的提交"
@click="emit('filterProblem', row.problemDisplayId)"
>
<Icon icon="ph:funnel-simple-bold" :width="12" />
</button>
</span>
<div class="spacer"></div>
<n-button
v-if="shown && !renderError && shown.mermaidCode"
@@ -333,8 +336,36 @@ const canRetry = computed(
row-gap: 8px;
}
.problem-group {
display: contents;
}
/* 手机:第一行名字,第二行题目,第三行「查看大图」「重新评分」 */
.narrow .head .spacer {
display: none;
}
.narrow .problem-group {
flex-basis: 100%;
min-width: 0;
display: flex;
align-items: center;
gap: 8px;
}
.narrow .problem {
white-space: normal;
}
.narrow .filter-pill {
width: 32px;
height: 28px;
border-radius: 14px;
}
.narrow .meta {
flex-wrap: wrap;
row-gap: 6px;
}
.narrow .body {
@@ -347,6 +378,19 @@ const canRetry = computed(
height: 320px;
}
/* 原来还是 flex: 1 1 0 + overflow: auto:外层不定高,评分那一栏被压成一条缝,只露出半行字 */
.narrow .score-box {
flex: none;
overflow: visible;
}
.narrow .locked {
flex: 1 0 auto;
min-height: 280px;
padding: 16px;
text-align: center;
}
.user-link {
display: flex;
min-width: 0;