From d766433068e0c3007a289af9e1f594ad1a181d98 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Fri, 24 Oct 2025 11:04:01 +0800 Subject: [PATCH] update --- public/badge-5.png | Bin 1659 -> 3318 bytes public/badge-6.png | Bin 0 -> 3194 bytes .../problemset/components/AddBadgeModal.vue | 17 +++--- .../problemset/components/EditBadgeModal.vue | 16 +++--- .../problemset/components/ProblemSetInfo.vue | 51 ++++++++---------- 5 files changed, 40 insertions(+), 44 deletions(-) create mode 100644 public/badge-6.png diff --git a/public/badge-5.png b/public/badge-5.png index 2ccd831e7254c2e9124b92f948e4deea57d323fe..a9d5a826d8feed268f19ba343be295d7ad585c17 100644 GIT binary patch delta 3315 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 p00960Q%62+00006Nkl^ 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 literal 0 HcmV?d00001 diff --git a/src/admin/problemset/components/AddBadgeModal.vue b/src/admin/problemset/components/AddBadgeModal.vue index 714f4d6..02acdaa 100644 --- a/src/admin/problemset/components/AddBadgeModal.vue +++ b/src/admin/problemset/components/AddBadgeModal.vue @@ -28,14 +28,15 @@ const newBadgeConditionType = ref<"all_problems" | "problem_count" | "score">( ) const newBadgeConditionValue = ref(1) -// 预设奖章图标选项 -const badgeIconOptions = [ - { label: "奖章1", value: "/badge-1.png", icon: "/badge-1.png" }, - { label: "奖章2", value: "/badge-2.png", icon: "/badge-2.png" }, - { label: "奖章3", value: "/badge-3.png", icon: "/badge-3.png" }, - { label: "奖章4", value: "/badge-4.png", icon: "/badge-4.png" }, - { label: "奖章5", value: "/badge-5.png", icon: "/badge-5.png" }, -] +const BADGE_LEN = 6 +const badgeIconOptions = [] +for (let i = 1; i <= BADGE_LEN; i++) { + badgeIconOptions.push({ + label: `奖章${i}`, + value: `/badge-${i}.png`, + icon: `/badge-${i}.png`, + }) +} const conditionTypeOptions = [ { label: "完成所有题目", value: "all_problems" }, diff --git a/src/admin/problemset/components/EditBadgeModal.vue b/src/admin/problemset/components/EditBadgeModal.vue index 5c5c1f3..d0b1a86 100644 --- a/src/admin/problemset/components/EditBadgeModal.vue +++ b/src/admin/problemset/components/EditBadgeModal.vue @@ -32,13 +32,15 @@ const editBadgeConditionType = ref<"all_problems" | "problem_count" | "score">( const editBadgeConditionValue = ref(1) // 预设奖章图标选项 -const badgeIconOptions = [ - { label: "奖章1", value: "/badge-1.png", icon: "/badge-1.png" }, - { label: "奖章2", value: "/badge-2.png", icon: "/badge-2.png" }, - { label: "奖章3", value: "/badge-3.png", icon: "/badge-3.png" }, - { label: "奖章4", value: "/badge-4.png", icon: "/badge-4.png" }, - { label: "奖章5", value: "/badge-5.png", icon: "/badge-5.png" }, -] +const BADGE_LEN = 6 +const badgeIconOptions = [] +for (let i = 1; i <= BADGE_LEN; i++) { + badgeIconOptions.push({ + label: `奖章${i}`, + value: `/badge-${i}.png`, + icon: `/badge-${i}.png`, + }) +} const conditionTypeOptions = [ { label: "完成所有题目", value: "all_problems" }, diff --git a/src/admin/problemset/components/ProblemSetInfo.vue b/src/admin/problemset/components/ProblemSetInfo.vue index 44289f3..6cf73d2 100644 --- a/src/admin/problemset/components/ProblemSetInfo.vue +++ b/src/admin/problemset/components/ProblemSetInfo.vue @@ -11,17 +11,14 @@ defineProps()