增加成就排序

This commit is contained in:
zhx 2026-07-02 19:23:47 +08:00
parent da85f07340
commit de910547f1
3 changed files with 16 additions and 1 deletions

View File

@ -20,6 +20,7 @@ const emptyForm = (achievement = {}) => ({
achievementType: achievement.achievementType || "ordinary",
description: achievement.description || "",
primaryBadgeResourceId: optionalId(achievement.primaryBadgeResourceId),
sortOrder: String(achievement.sortOrder || 0),
title: achievement.title || "",
});
@ -196,7 +197,7 @@ function buildAchievementPayload(form) {
honor_visibility: true,
primary_badge_resource_id: Number(form.primaryBadgeResourceId || 0),
reward_resource_group_id: 0,
sort_order: 0,
sort_order: Number(form.sortOrder || 0),
status: "active",
title: String(form.title || "").trim(),
};

View File

@ -46,6 +46,12 @@ const baseColumns = [
<span className={styles.typeBadge}>{achievementTypeLabel(achievement.achievementType)}</span>
),
},
{
key: "sortOrder",
label: "排序",
width: "96px",
render: (achievement) => <span className={styles.meta}>{achievement.sortOrder || 0}</span>,
},
{
key: "description",
label: "成就描述",
@ -201,6 +207,13 @@ function AchievementFormDialog({ disabled, form, loading, mode, onClose, onSubmi
value={form.title}
onChange={changeField(page.setForm, "title")}
/>
<TextField
disabled={disabled}
label="排序"
type="number"
value={form.sortOrder}
onChange={changeField(page.setForm, "sortOrder")}
/>
<TextField
disabled={disabled}
label="描述"

View File

@ -9,6 +9,7 @@ export const achievementFormSchema = z
achievementType: achievementTypeSchema,
description: z.string().trim().max(240, "描述不能超过 240 个字符").optional(),
primaryBadgeResourceId: optionalNumberInput,
sortOrder: z.coerce.number().int("排序必须是整数").min(0, "排序不能小于 0").default(0),
title: z.string().trim().min(1, "请输入成就名称").max(64, "成就名称不能超过 64 个字符"),
})
.superRefine((value, context) => {