update
Deploy / deploy (push) Canceled after 0s

This commit is contained in:
xuyue committed 2026-09-27 19:36:28 +08:00
1 parent 23844ae301
commit d25b5dbe6d
268 files changed
+3684 -8861

No files matched your search

@@ -112,15 +112,11 @@ async function save() {
<div class="icon-preview">
<AchievementIcon :icon="form.icon" :size="28" />
</div>
<n-input
v-model:value="form.icon"
placeholder="iconify 图标名,例如 noto:owl"
/>
<n-input v-model:value="form.icon" placeholder="iconify 图标名,例如 noto:owl" />
</n-flex>
<n-text depth="3" style="font-size: 12px">
填 iconify 图标名(推荐 noto: 开头的彩色 emoji 图标),左侧是实时
预览;预览不出来说明名字写错了。图标名可在 icon-sets.iconify.design
搜索。
预览;预览不出来说明名字写错了。图标名可在 icon-sets.iconify.design 搜索。
</n-text>
</n-flex>
</n-form-item>
@@ -128,11 +124,7 @@ async function save() {
<n-select v-model:value="form.rarity" :options="rarityOptions" />
</n-form-item>
<n-form-item label="指标" required>
<n-select
v-model:value="form.metric"
:options="metricOptions"
filterable
/>
<n-select v-model:value="form.metric" :options="metricOptions" filterable />
</n-form-item>
<n-form-item v-if="metricHelp" label=" ">
<n-text depth="3">{{ metricHelp }}</n-text>
@@ -152,9 +144,7 @@ async function save() {
</n-form-item>
<n-form-item label="隐藏成就">
<n-switch v-model:value="form.hidden" />
<n-text depth="3" style="margin-left: 12px">
未解锁时学生只能看到 ???
</n-text>
<n-text depth="3" style="margin-left: 12px"> 未解锁时学生只能看到 ??? </n-text>
</n-form-item>
<n-form-item label="上架">
<n-switch v-model:value="form.visible" />
@@ -166,9 +156,7 @@ async function save() {
<template #footer>
<n-flex justify="end">
<n-button @click="emit('update:show', false)">取消</n-button>
<n-button type="primary" :loading="saving" @click="save">
保存
</n-button>
<n-button type="primary" :loading="saving" @click="save"> 保存 </n-button>
</n-flex>
</template>
</n-modal>
+5 -22
View File
@@ -1,10 +1,6 @@
<script setup lang="ts">
import { NButton, NFlex } from "naive-ui"
import {
deleteAchievement,
getAdminAchievements,
type AdminAchievement,
} from "admin/api"
import { deleteAchievement, getAdminAchievements, type AdminAchievement } from "admin/api"
import AchievementIcon from "shared/components/AchievementIcon.vue"
import AchievementModal from "./components/AchievementModal.vue"
import { RARITY_LABEL } from "utils/constants"
@@ -100,16 +96,8 @@ const columns: DataTableColumn<AdminAchievement>[] = [
width: 130,
render: (row) =>
h(NFlex, { size: 8 }, () => [
h(
NButton,
{ text: true, type: "primary", onClick: () => edit(row) },
() => "编辑",
),
h(
NButton,
{ text: true, type: "error", onClick: () => remove(row) },
() => "删除",
),
h(NButton, { text: true, type: "primary", onClick: () => edit(row) }, () => "编辑"),
h(NButton, { text: true, type: "error", onClick: () => remove(row) }, () => "删除"),
]),
},
]
@@ -124,8 +112,7 @@ onMounted(load)
</template>
<n-alert type="info" style="margin-bottom: 12px">
「已解锁人数」是唯一的仪表盘:配置一周后仍为
0,多半是阈值配错了而不是太难。
「已解锁人数」是唯一的仪表盘:配置一周后仍为 0,多半是阈值配错了而不是太难。
</n-alert>
<n-data-table
@@ -135,10 +122,6 @@ onMounted(load)
:row-key="(row: AdminAchievement) => row.id"
/>
<AchievementModal
v-model:show="showModal"
:editing="editing"
@saved="load"
/>
<AchievementModal v-model:show="showModal" :editing="editing" @saved="load" />
</n-card>
</template>