fix(课堂看板): 表头的题名只露五个字,名字那列却空着一大块
名字、在线、做对、最后交按内容收紧,剩下的宽度题目列平分;题名写全,长的折成两行。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0ffc405a20
commit
1dcabff8ce
1 file changed
+25
-15
@@ -506,11 +506,6 @@ function lastText(student: ClassBoardStudent) {
|
|||||||
}
|
}
|
||||||
return "—"
|
return "—"
|
||||||
}
|
}
|
||||||
|
|
||||||
function shortTitle(title: string, size: number) {
|
|
||||||
const chars = [...title]
|
|
||||||
return chars.length <= size ? title : chars.slice(0, size - 1).join("") + "…"
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -715,11 +710,12 @@ function shortTitle(title: string, size: number) {
|
|||||||
:key="stat.problem.problemId"
|
:key="stat.problem.problemId"
|
||||||
class="col"
|
class="col"
|
||||||
:class="{ hl: i === selectedIndex }"
|
:class="{ hl: i === selectedIndex }"
|
||||||
|
:style="{ width: `${100 / problemStats.length}%` }"
|
||||||
@click="toggleProblem(stat.problem.problemId)"
|
@click="toggleProblem(stat.problem.problemId)"
|
||||||
>
|
>
|
||||||
<div class="col-id">{{ stat.problem.problemDisplayId }}</div>
|
<div class="col-id">{{ stat.problem.problemDisplayId }}</div>
|
||||||
<div class="col-title" :title="stat.problem.title">
|
<div class="col-title" :title="stat.problem.title">
|
||||||
{{ shortTitle(stat.problem.title, 6) }}
|
{{ stat.problem.title }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-count">{{ stat.done }}/{{ stat.total }}</div>
|
<div class="col-count">{{ stat.done }}/{{ stat.total }}</div>
|
||||||
<div class="bar">
|
<div class="bar">
|
||||||
@@ -1210,9 +1206,12 @@ a.who {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 名字、在线、做对、最后交这几列按内容收紧(width: 1% 是表格收到最窄的写法),
|
||||||
|
剩下的宽度题目列平分(模板里按题数给百分比),题名才写得开 */
|
||||||
.grid .name {
|
.grid .name {
|
||||||
width: 200px;
|
width: 1%;
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
|
padding-right: 24px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: v-bind("theme.textColor3");
|
color: v-bind("theme.textColor3");
|
||||||
@@ -1232,12 +1231,13 @@ a.who {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grid th.col {
|
.grid th.col {
|
||||||
width: 96px;
|
min-width: 110px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid th.narrow-col {
|
.grid th.narrow-col {
|
||||||
width: 80px;
|
width: 1%;
|
||||||
|
padding: 8px 12px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: v-bind("theme.textColor3");
|
color: v-bind("theme.textColor3");
|
||||||
}
|
}
|
||||||
@@ -1252,12 +1252,17 @@ a.who {
|
|||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 题名写全,长的折成两行;题名中位 7 个字、九成在 13 个字以内,两行放得下 */
|
||||||
.col-title {
|
.col-title {
|
||||||
max-width: 88px;
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
max-width: 180px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
white-space: normal;
|
||||||
font-size: 12px;
|
line-height: 1.4;
|
||||||
|
font-size: 13px;
|
||||||
color: v-bind("theme.textColor3");
|
color: v-bind("theme.textColor3");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1268,7 +1273,8 @@ a.who {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grid th .bar {
|
.grid th .bar {
|
||||||
margin: 0 6px;
|
max-width: 160px;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-row td {
|
.group-row td {
|
||||||
@@ -1338,7 +1344,8 @@ a.cell {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grid .where-col {
|
.grid .where-col {
|
||||||
width: 100px;
|
width: 1%;
|
||||||
|
padding-right: 24px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1458,11 +1465,14 @@ a.cell {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grid .name {
|
.grid .name {
|
||||||
width: auto;
|
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.grid th.col {
|
||||||
|
min-width: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
.cell {
|
.cell {
|
||||||
width: 48px;
|
width: 48px;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user