From bee5152a2d4eb394287ae8880465342ba13c9d88 Mon Sep 17 00:00:00 2001 From: zhonghua Date: Fri, 3 Apr 2026 15:35:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=8F=AF=E8=A7=81?= =?UTF-8?q?=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/contests.ts | 9 ++++++++- frontend/src/views/contests/Create.vue | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/frontend/src/api/contests.ts b/frontend/src/api/contests.ts index 10c4bb5..ab1779a 100644 --- a/frontend/src/api/contests.ts +++ b/frontend/src/api/contests.ts @@ -12,7 +12,10 @@ export interface Contest { endTime: string; address?: string; content?: string; - visibility?: "public" | "designated" | "internal"; // 可见范围 + visibility?: "public" | "targeted" | "designated" | "internal"; // 可见范围 + targetCities?: string[]; // 目标城市列表 + ageMin?: number; // 最小年龄 + ageMax?: number; // 最大年龄 contestTenants?: number[]; contestTenantInfos?: Array<{ id: number; @@ -73,6 +76,10 @@ export interface CreateContestForm { endTime: string; address?: string; content?: string; + visibility?: "public" | "targeted" | "designated" | "internal"; // 可见范围 + targetCities?: string[]; // 目标城市列表 + ageMin?: number; // 最小年龄 + ageMax?: number; // 最大年龄 contestTenants?: number[]; coverUrl?: string; posterUrl?: string; diff --git a/frontend/src/views/contests/Create.vue b/frontend/src/views/contests/Create.vue index 07ad33b..52f9296 100644 --- a/frontend/src/views/contests/Create.vue +++ b/frontend/src/views/contests/Create.vue @@ -364,6 +364,10 @@ const loadContestData = async () => { const c = await contestsApi.getDetail(contestId.value) form.contestName = c.contestName || "" form.contestType = c.contestType || "individual" + form.visibility = c.visibility || "designated" + form.targetCities = c.targetCities || [] + form.ageMin = c.ageMin + form.ageMax = c.ageMax form.startTime = c.startTime || "" form.endTime = c.endTime || "" form.content = c.content || "" @@ -411,6 +415,10 @@ const handleSubmit = async () => { reviewRuleId: form.reviewRuleId || undefined, reviewStartTime: form.reviewStartTime, reviewEndTime: form.reviewEndTime, resultPublishTime: form.resultPublishTime || undefined, + visibility: form.visibility, + targetCities: form.targetCities, + ageMin: form.ageMin, + ageMax: form.ageMax, } if (isEdit.value && contestId.value) {