From 12d8fb3a6ceac617106669ceca4a59bf04b289b7 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Sun, 13 Apr 2025 12:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E8=97=8F=E6=89=80=E6=9C=89=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/setting/config.vue | 2 +- .../problem/components/ProblemSubmission.vue | 36 ++++++++++++------- src/shared/store/config.ts | 10 +++++- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/admin/setting/config.vue b/src/admin/setting/config.vue index 9218412..54828a6 100644 --- a/src/admin/setting/config.vue +++ b/src/admin/setting/config.vue @@ -198,7 +198,7 @@ onMounted(() => { - 显示全部题目的提交 + 显示所有提交 diff --git a/src/oj/problem/components/ProblemSubmission.vue b/src/oj/problem/components/ProblemSubmission.vue index ccb9762..426e21e 100644 --- a/src/oj/problem/components/ProblemSubmission.vue +++ b/src/oj/problem/components/ProblemSubmission.vue @@ -3,12 +3,14 @@ import { NButton } from "naive-ui" import { getSubmissions } from "~/oj/api" import Pagination from "~/shared/components/Pagination.vue" import SubmissionResultTag from "~/shared/components/SubmissionResultTag.vue" +import { useConfigStore } from "~/shared/store/config" import { useUserStore } from "~/shared/store/user" import { LANGUAGE_SHOW_VALUE } from "~/utils/constants" import { parseTime } from "~/utils/functions" import { renderTableTitle } from "~/utils/renders" import { Submission } from "~/utils/types" +const configStore = useConfigStore() const userStore = useUserStore() const route = useRoute() const router = useRouter() @@ -67,6 +69,18 @@ const query = reactive({ page: 1, }) +const showList = computed(() => { + if (!userStore.isAuthed) return false + else if (userStore.isSuperAdmin) return true + else return configStore.config.submission_list_show_all +}) + +const errorMsg = computed(() => { + if (!userStore.isAuthed) return "请先登录" + else if (!configStore.config.submission_list_show_all) return "不让看了" + else return "" +}) + async function listSubmissions() { const offset = query.limit * (query.page - 1) const res = await getSubmissions({ @@ -83,17 +97,13 @@ onMounted(listSubmissions) watch(query, listSubmissions) diff --git a/src/shared/store/config.ts b/src/shared/store/config.ts index 5cd49a1..a8c5d83 100644 --- a/src/shared/store/config.ts +++ b/src/shared/store/config.ts @@ -2,7 +2,15 @@ import { getWebsiteConfig } from "~/oj/api" import { WebsiteConfig } from "~/utils/types" export const useConfigStore = defineStore("config", () => { - const config = ref() + const config = ref({ + website_base_url: "", + website_name: "", + website_name_shortcut: "", + website_footer: "", + submission_list_show_all: true, + allow_register: true, + class_list: [], + }) async function getConfig() { const res = await getWebsiteConfig() config.value = res.data