‹ {{ contestBar.title }}
@@ -371,6 +430,165 @@ onSolvedHere(() => {
diff --git a/apps/web/src/oj/problem/components/SampleList.vue b/apps/web/src/oj/problem/components/SampleList.vue
new file mode 100644
index 0000000..80a08cc
--- /dev/null
+++ b/apps/web/src/oj/problem/components/SampleList.vue
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+ 输入
+
+ 输出
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+ 不用输入
+
+
{{ '·'.repeat(line.lead) }}{{ line.rest }}
+
+
+
+
+
+
+
+
+
diff --git a/apps/web/src/oj/problem/components/SectionHead.vue b/apps/web/src/oj/problem/components/SectionHead.vue
new file mode 100644
index 0000000..0b2bc83
--- /dev/null
+++ b/apps/web/src/oj/problem/components/SectionHead.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web/src/oj/problem/components/SimilarProblems.vue b/apps/web/src/oj/problem/components/SimilarProblems.vue
index 5cf4a79..9f37087 100644
--- a/apps/web/src/oj/problem/components/SimilarProblems.vue
+++ b/apps/web/src/oj/problem/components/SimilarProblems.vue
@@ -19,11 +19,12 @@ import { useTone } from 'shared/composables/tone'
import { problemTypes } from '../utils/problemType'
import ProblemStatus from './ProblemStatus.vue'
import ProblemTypeTag from './ProblemTypeTag.vue'
+import SectionHead from './SectionHead.vue'
/**
* 相似题推荐。题面末尾(做对了、或者错了 3 次以上)和结果页签(不在课堂里的题做对之后)
* 两处用:原来只在题面最底下,学生交完不会再滚回去看。什么时候出现由调用方的 v-if 决定。
- * `place` 只管标题的样子:题面里和「提示」「来源」一样带绿竖条,结果页签里和「还能挑战」对齐。
+ * `place` 只管标题的样子:题面里用题面的小节标题(SectionHead),结果页签里和「还能挑战」对齐。
*
* 每行第二行写和这道题共同的标签:不点开就知道练的是什么。行的写法照题目列表
* (灰题号、淡底难度、做对人数、类型标签、做过没对的红「−」)。整行可点,题目名
@@ -67,7 +68,8 @@ function difficultyStyle(row: SimilarRow) {
- {{ props.title }}
+ {{ props.title }}
+ {{ props.title }}
@@ -99,15 +101,6 @@ function difficultyStyle(row: SimilarRow) {
margin: 0 0 8px;
}
-/* 和 ProblemContent 的小节标题(提示 / 来源)一样 */
-.content .heading {
- font-size: 16px;
- font-weight: 700;
- line-height: 1.4;
- padding-left: 9px;
- border-left: 3px solid v-bind('theme.primaryColor');
-}
-
/* 和结果页签里的「还能挑战」一样 */
.result .heading {
font-size: 15px;
diff --git a/apps/web/src/oj/problem/components/SqlProblemData.vue b/apps/web/src/oj/problem/components/SqlProblemData.vue
index d611881..205ac23 100644
--- a/apps/web/src/oj/problem/components/SqlProblemData.vue
+++ b/apps/web/src/oj/problem/components/SqlProblemData.vue
@@ -33,8 +33,6 @@ const changedTables = computed(() => {
/** 增删改题里不是题面那组的测试数据可以一行都不改(看学生会不会多改),出题页预览会碰到 */
const noChange = computed(() => 'changed_tables' in props.display.expected && !props.display.expected.changed_tables.length)
-
-const anyChanged = computed(() => changedTables.value.some(({ changes }) => changes && (changes.cells.size > 0 || changes.newRows.size > 0)))
@@ -62,7 +60,6 @@ const anyChanged = computed(() => changedTables.value.some(({ changes }) => chan
执行后所有表都没有变化
- 执行后变了的格子
diff --git a/apps/web/src/oj/problem/detail.vue b/apps/web/src/oj/problem/detail.vue
index 7ee7cd3..1edc2a4 100644
--- a/apps/web/src/oj/problem/detail.vue
+++ b/apps/web/src/oj/problem/detail.vue
@@ -1,4 +1,5 @@