update
This commit is contained in:
@@ -871,7 +871,7 @@ const radarChartOptions = {
|
|||||||
class="stat-avg-ac"
|
class="stat-avg-ac"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<Icon icon="streamline-emojis:chart" width="20" />
|
<Icon icon="streamline-ultimate-color:analytics-pie-2" width="20" />
|
||||||
</template>
|
</template>
|
||||||
</n-statistic>
|
</n-statistic>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
@@ -883,7 +883,7 @@ const radarChartOptions = {
|
|||||||
class="stat-median-ac"
|
class="stat-median-ac"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<Icon icon="streamline-emojis:target" width="20" />
|
<Icon icon="streamline-ultimate-color:cursor-target-1" width="20" />
|
||||||
</template>
|
</template>
|
||||||
</n-statistic>
|
</n-statistic>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
@@ -895,7 +895,7 @@ const radarChartOptions = {
|
|||||||
class="stat-total-submission"
|
class="stat-total-submission"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<Icon icon="streamline-emojis:paper" width="20" />
|
<Icon icon="streamline-ultimate-color:common-file-text" width="20" />
|
||||||
</template>
|
</template>
|
||||||
</n-statistic>
|
</n-statistic>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ const passwordFormVisible = computed(
|
|||||||
</n-tag>
|
</n-tag>
|
||||||
<Icon
|
<Icon
|
||||||
v-if="contestStore.isPrivate"
|
v-if="contestStore.isPrivate"
|
||||||
icon="streamline-emojis:locked-with-key"
|
icon="streamline-ultimate-color:shield-lock"
|
||||||
:height="30"
|
:height="30"
|
||||||
></Icon>
|
></Icon>
|
||||||
<h2 class="contestTitle">{{ contestStore.contest.title }}</h2>
|
<h2 class="contestTitle">{{ contestStore.contest.title }}</h2>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const router = useRouter()
|
|||||||
const contestStore = useContestStore()
|
const contestStore = useContestStore()
|
||||||
const problemsColumns: DataTableColumn<ProblemFiltered>[] = [
|
const problemsColumns: DataTableColumn<ProblemFiltered>[] = [
|
||||||
{
|
{
|
||||||
title: renderTableTitle("状态", "streamline-emojis:musical-note"),
|
title: renderTableTitle("状态", "streamline-ultimate-color:music-note-1"),
|
||||||
key: "status",
|
key: "status",
|
||||||
width: 100,
|
width: 100,
|
||||||
render: (row) => h(ProblemStatus, { status: row.status }),
|
render: (row) => h(ProblemStatus, { status: row.status }),
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ const columns = ref<DataTableColumn<ContestRank>[]>([
|
|||||||
{
|
{
|
||||||
title: renderTableTitle(
|
title: renderTableTitle(
|
||||||
"正确数/总提交",
|
"正确数/总提交",
|
||||||
"streamline-emojis:artist-palette",
|
"streamline-ultimate-color:color-palette",
|
||||||
),
|
),
|
||||||
key: "submission",
|
key: "submission",
|
||||||
width: 140,
|
width: 140,
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ function type(status: ProblemStatus) {
|
|||||||
</n-flex>
|
</n-flex>
|
||||||
<p class="title" :style="style">
|
<p class="title" :style="style">
|
||||||
<n-flex align="center">
|
<n-flex align="center">
|
||||||
<Icon icon="streamline-emojis:scroll"></Icon>
|
<Icon icon="streamline-ultimate-color:checklist"></Icon>
|
||||||
描述
|
描述
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</p>
|
</p>
|
||||||
@@ -271,7 +271,7 @@ function type(status: ProblemStatus) {
|
|||||||
|
|
||||||
<p class="title" :style="style">
|
<p class="title" :style="style">
|
||||||
<n-flex align="center">
|
<n-flex align="center">
|
||||||
<Icon icon="streamline-emojis:e-mail-1"></Icon>
|
<Icon icon="streamline-ultimate-color:envelope-back-front"></Icon>
|
||||||
输入
|
输入
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</p>
|
</p>
|
||||||
@@ -283,7 +283,7 @@ function type(status: ProblemStatus) {
|
|||||||
|
|
||||||
<p class="title" :style="style">
|
<p class="title" :style="style">
|
||||||
<n-flex align="center">
|
<n-flex align="center">
|
||||||
<Icon icon="streamline-emojis:postbox"></Icon>
|
<Icon icon="streamline-ultimate-color:mailbox-post"></Icon>
|
||||||
输出
|
输出
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</p>
|
</p>
|
||||||
@@ -311,7 +311,7 @@ function type(status: ProblemStatus) {
|
|||||||
<div v-if="astRulesForDisplay.length > 0">
|
<div v-if="astRulesForDisplay.length > 0">
|
||||||
<p class="title" :style="style">
|
<p class="title" :style="style">
|
||||||
<n-flex align="center">
|
<n-flex align="center">
|
||||||
<Icon icon="streamline-emojis:ballot-box-with-check"></Icon>
|
<Icon icon="streamline-ultimate-color:check-button"></Icon>
|
||||||
要求
|
要求
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</p>
|
</p>
|
||||||
@@ -382,7 +382,7 @@ function type(status: ProblemStatus) {
|
|||||||
<div v-if="problem.source">
|
<div v-if="problem.source">
|
||||||
<p class="title" :style="style">
|
<p class="title" :style="style">
|
||||||
<n-flex align="center">
|
<n-flex align="center">
|
||||||
<Icon icon="streamline-emojis:open-book"></Icon>
|
<Icon icon="streamline-ultimate-color:book-open-bookmark"></Icon>
|
||||||
来源
|
来源
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</p>
|
</p>
|
||||||
@@ -398,7 +398,7 @@ function type(status: ProblemStatus) {
|
|||||||
<n-divider />
|
<n-divider />
|
||||||
<p class="title" :style="style">
|
<p class="title" :style="style">
|
||||||
<n-flex align="center">
|
<n-flex align="center">
|
||||||
<Icon icon="streamline-emojis:thumbs-up-1"></Icon>
|
<Icon icon="streamline-ultimate-color:like"></Icon>
|
||||||
相似题目推荐
|
相似题目推荐
|
||||||
</n-flex>
|
</n-flex>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ const data = computed(() => {
|
|||||||
const numbers = computed(() => {
|
const numbers = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
icon: "streamline-emojis:scroll",
|
icon: "streamline-ultimate-color:checklist",
|
||||||
title: problem.value?.submission_number ?? 0,
|
title: problem.value?.submission_number ?? 0,
|
||||||
content: "总提交",
|
content: "总提交",
|
||||||
int: true,
|
int: true,
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ const columns: DataTableColumn<Submission>[] = [
|
|||||||
{
|
{
|
||||||
title: renderTableTitle(
|
title: renderTableTitle(
|
||||||
"语言",
|
"语言",
|
||||||
"streamline-emojis:globe-showing-europe-africa",
|
"streamline-ultimate-color:earth-pin-2",
|
||||||
),
|
),
|
||||||
key: "language",
|
key: "language",
|
||||||
width: 100,
|
width: 100,
|
||||||
|
|||||||
@@ -160,12 +160,12 @@ const baseColumns: DataTableColumn<ProblemFiltered>[] = [
|
|||||||
render: (row) => h(ProblemStatus, { status: row.status }),
|
render: (row) => h(ProblemStatus, { status: row.status }),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("编号", "streamline-emojis:game-dice"),
|
title: renderTableTitle("编号", "streamline-ultimate-color:board-game-dice-1"),
|
||||||
key: "_id",
|
key: "_id",
|
||||||
width: 100,
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("题目", "streamline-emojis:watermelon-2"),
|
title: renderTableTitle("题目", "streamline-ultimate-color:fruit-watermelon"),
|
||||||
key: "title",
|
key: "title",
|
||||||
minWidth: 200,
|
minWidth: 200,
|
||||||
render: (row) => h(ProblemListTitle, { problem: row }),
|
render: (row) => h(ProblemListTitle, { problem: row }),
|
||||||
@@ -178,7 +178,7 @@ const baseColumns: DataTableColumn<ProblemFiltered>[] = [
|
|||||||
h(NTag, { type: getTagColor(row.difficulty) }, () => row.difficulty),
|
h(NTag, { type: getTagColor(row.difficulty) }, () => row.difficulty),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("标签", "streamline-emojis:paperclip"),
|
title: renderTableTitle("标签", "streamline-ultimate-color:attachment"),
|
||||||
key: "tags",
|
key: "tags",
|
||||||
width: 260,
|
width: 260,
|
||||||
render: (row) =>
|
render: (row) =>
|
||||||
@@ -190,7 +190,7 @@ const baseColumns: DataTableColumn<ProblemFiltered>[] = [
|
|||||||
width: 130,
|
width: 130,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("提交数", "streamline-emojis:writing-hand-2"),
|
title: renderTableTitle("提交数", "streamline-ultimate-color:paper-write"),
|
||||||
key: "submission",
|
key: "submission",
|
||||||
align: "center",
|
align: "center",
|
||||||
width: 100,
|
width: 100,
|
||||||
|
|||||||
@@ -221,13 +221,13 @@ const columns: DataTableColumn<Rank>[] = [
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("提交数", "streamline-emojis:rocket"),
|
title: renderTableTitle("提交数", "streamline-ultimate-color:space-rocket-earth"),
|
||||||
key: "submission_number",
|
key: "submission_number",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("正确率", "streamline-emojis:wrapped-gift-1"),
|
title: renderTableTitle("正确率", "streamline-ultimate-color:gift-box-1"),
|
||||||
key: "rate",
|
key: "rate",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
@@ -606,7 +606,7 @@ watch(
|
|||||||
class="stat-avg-ac"
|
class="stat-avg-ac"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<Icon icon="streamline-emojis:chart" width="20" />
|
<Icon icon="streamline-ultimate-color:analytics-pie-2" width="20" />
|
||||||
</template>
|
</template>
|
||||||
</n-statistic>
|
</n-statistic>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
@@ -618,7 +618,7 @@ watch(
|
|||||||
class="stat-median-ac"
|
class="stat-median-ac"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<Icon icon="streamline-emojis:target" width="20" />
|
<Icon icon="streamline-ultimate-color:cursor-target-1" width="20" />
|
||||||
</template>
|
</template>
|
||||||
</n-statistic>
|
</n-statistic>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
@@ -630,7 +630,7 @@ watch(
|
|||||||
class="stat-total-submission"
|
class="stat-total-submission"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<Icon icon="streamline-emojis:paper" width="20" />
|
<Icon icon="streamline-ultimate-color:common-file-text" width="20" />
|
||||||
</template>
|
</template>
|
||||||
</n-statistic>
|
</n-statistic>
|
||||||
</n-gi>
|
</n-gi>
|
||||||
|
|||||||
@@ -269,7 +269,7 @@ const columns = computed(() => {
|
|||||||
{
|
{
|
||||||
title: renderTableTitle(
|
title: renderTableTitle(
|
||||||
"语言",
|
"语言",
|
||||||
"streamline-emojis:globe-showing-europe-africa",
|
"streamline-ultimate-color:earth-pin-2",
|
||||||
),
|
),
|
||||||
key: "language",
|
key: "language",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
@@ -347,7 +347,7 @@ const flowchartColumns = computed(() => {
|
|||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: renderTableTitle("评分", "streamline-emojis:bar-chart"),
|
title: renderTableTitle("评分", "streamline-ultimate-color:analytics-bars-3d"),
|
||||||
key: "ai_score",
|
key: "ai_score",
|
||||||
render: (row) => h(Grade, { score: row.ai_score, grade: row.ai_grade }),
|
render: (row) => h(Grade, { score: row.ai_score, grade: row.ai_grade }),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ defineProps<{ contest: Contest }>()
|
|||||||
<Icon
|
<Icon
|
||||||
v-if="contest.contest_type === ContestType.private"
|
v-if="contest.contest_type === ContestType.private"
|
||||||
:height="24"
|
:height="24"
|
||||||
icon="streamline-emojis:locked-with-key"
|
icon="streamline-ultimate-color:shield-lock"
|
||||||
></Icon>
|
></Icon>
|
||||||
<span>{{ contest.title }}</span>
|
<span>{{ contest.title }}</span>
|
||||||
</n-flex>
|
</n-flex>
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ const options: Array<DropdownOption | DropdownDividerOption> = [
|
|||||||
{
|
{
|
||||||
label: "我的主页",
|
label: "我的主页",
|
||||||
key: "home",
|
key: "home",
|
||||||
icon: renderIcon("streamline-emojis:newspaper"),
|
icon: renderIcon("streamline-ultimate-color:newspaper-fold"),
|
||||||
props: {
|
props: {
|
||||||
onClick: () => router.push("/user"),
|
onClick: () => router.push("/user"),
|
||||||
},
|
},
|
||||||
@@ -196,7 +196,7 @@ const options: Array<DropdownOption | DropdownDividerOption> = [
|
|||||||
{
|
{
|
||||||
label: "我的提交",
|
label: "我的提交",
|
||||||
key: "status",
|
key: "status",
|
||||||
icon: renderIcon("streamline-emojis:bar-chart"),
|
icon: renderIcon("streamline-ultimate-color:analytics-bars-3d"),
|
||||||
props: {
|
props: {
|
||||||
onClick: () => router.push("/submission?myself=1"),
|
onClick: () => router.push("/submission?myself=1"),
|
||||||
},
|
},
|
||||||
@@ -221,7 +221,7 @@ const options: Array<DropdownOption | DropdownDividerOption> = [
|
|||||||
{
|
{
|
||||||
label: "退出",
|
label: "退出",
|
||||||
key: "logout",
|
key: "logout",
|
||||||
icon: renderIcon("streamline-emojis:hot-beverage-2"),
|
icon: renderIcon("streamline-ultimate-color:coffee-cold"),
|
||||||
props: { onClick: handleLogout },
|
props: { onClick: handleLogout },
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user