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) {