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