From 842c4796c07671eb86b9531330776d761d9254d1 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Wed, 5 Aug 2026 04:25:36 -0600 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=A0=87=E7=AD=BE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 支持搜索、重命名(撞名自动合并并提示影响题数)、删除(二次确认)。 Co-Authored-By: Claude Sonnet 5 --- src/admin/problem/tags.vue | 153 ++++++++++++++++++++++++++++++++++++ src/routes.ts | 6 ++ src/shared/layout/admin.vue | 1 + 3 files changed, 160 insertions(+) create mode 100644 src/admin/problem/tags.vue diff --git a/src/admin/problem/tags.vue b/src/admin/problem/tags.vue new file mode 100644 index 0000000..2af570c --- /dev/null +++ b/src/admin/problem/tags.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/routes.ts b/src/routes.ts index 1bef070..2fef3c1 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -171,6 +171,12 @@ export const admins: RouteRecordRaw = { component: () => import("admin/problem/list.vue"), meta: { requiresProblemPermission: true }, }, + { + path: "problem/tags", + name: "admin tag list", + component: () => import("admin/problem/tags.vue"), + meta: { requiresProblemPermission: true }, + }, { path: "problem/create", name: "admin problem create", diff --git a/src/shared/layout/admin.vue b/src/shared/layout/admin.vue index bf9d9e0..a69cada 100644 --- a/src/shared/layout/admin.vue +++ b/src/shared/layout/admin.vue @@ -173,6 +173,7 @@ const active = computed(() => { if (path.startsWith("/admin/config")) return "admin config" if (path.startsWith("/admin/problemset")) return "admin problemset list" if (path.startsWith("/admin/problem/stuck")) return "admin stuck problems" + if (path.startsWith("/admin/problem/tags")) return "admin problem list" if (path.startsWith("/admin/problem")) return "admin problem list" if (path.startsWith("/admin/contest")) return "admin contest list" if (path.startsWith("/admin/user")) return "admin user list"