This commit is contained in:
2023-04-07 12:32:55 +08:00
parent 285459e129
commit efc9413ce6
6 changed files with 105 additions and 97 deletions

View File

@@ -29,7 +29,7 @@ const passwordFormVisible = computed(
</script>
<template>
<n-space vertical v-if="contestStore.contest">
<n-space vertical size="large" v-if="contestStore.contest">
<n-space align="center" justify="space-between">
<n-space align="center">
<h2 class="contestTitle">{{ contestStore.contest.title }}</h2>

View File

@@ -119,29 +119,36 @@ function rowProps(row: Contest) {
}
</script>
<template>
<n-space>
<n-form :show-feedback="false" label-placement="left" inline>
<n-form-item label="比赛状态">
<n-select
class="select"
:options="options"
v-model:value="query.status"
/>
</n-form-item>
<n-form-item label="搜索">
<n-input clearable @change="search" />
</n-form-item>
</n-form>
<n-form label-placement="left" inline>
<n-form-item>
<n-space>
<n-button @click="search(query.keyword)">搜索</n-button>
<n-button @click="clear">重置</n-button>
</n-space>
</n-form-item>
</n-form>
<n-space vertical size="large">
<n-space>
<n-form :show-feedback="false" label-placement="left" inline>
<n-form-item label="比赛状态">
<n-select
class="select"
:options="options"
v-model:value="query.status"
/>
</n-form-item>
<n-form-item label="搜索">
<n-input clearable @change="search" />
</n-form-item>
</n-form>
<n-form :show-feedback="false" label-placement="left" inline>
<n-form-item>
<n-space>
<n-button @click="search(query.keyword)">搜索</n-button>
<n-button @click="clear">重置</n-button>
</n-space>
</n-form-item>
</n-form>
</n-space>
<n-data-table
striped
:columns="columns"
:data="data"
:row-props="rowProps"
/>
</n-space>
<n-data-table striped :columns="columns" :data="data" :row-props="rowProps" />
<Pagination
v-model:limit="query.limit"
v-model:page="query.page"

View File

@@ -70,6 +70,7 @@ async function listRanks() {
const res = await getContestRank(props.contestID, {
limit: query.limit,
offset: query.limit * (query.page - 1),
force_refresh: "0",
})
total.value = res.data.total
data.value = res.data.results
@@ -81,7 +82,7 @@ async function listRanks() {
async function addColumns() {
try {
problems.value = await getContestProblems(props.contestID)
problems.value.map((problem, index) => {
problems.value.map((problem) => {
columns.value.push({
align: "center",
title: () =>
@@ -99,7 +100,7 @@ async function addColumns() {
},
}),
},
() => `${index + 1}`
() => problem.title
),
render: (row) => {
if (row.submission_info[problem.id]) {
@@ -138,6 +139,7 @@ async function addColumns() {
},
key: problem.id,
width: 150,
ellipsis: true,
})
})
} catch (err) {