调整活动可见范围

This commit is contained in:
zhonghua 2026-04-10 17:30:12 +08:00
parent 0906bc9cee
commit 9f3040ad3a

View File

@ -4,7 +4,9 @@
<!-- 顶部导航 -->
<div class="page-header">
<a-button type="text" @click="handleCancel" style="padding: 0; margin-right: 8px">
<template #icon><ArrowLeftOutlined /></template>
<template #icon>
<ArrowLeftOutlined />
</template>
</a-button>
<a-breadcrumb>
<a-breadcrumb-item><router-link :to="`/${tenantCode}/contests`">活动管理</router-link></a-breadcrumb-item>
@ -54,7 +56,8 @@
</a-col>
<a-col :span="12">
<a-form-item label="活动时间" name="timeRange" required>
<a-range-picker v-model:value="timeRange" show-time format="YYYY-MM-DD HH:mm" style="width: 100%" @change="handleTimeRangeChange" />
<a-range-picker v-model:value="timeRange" show-time format="YYYY-MM-DD HH:mm" style="width: 100%"
@change="handleTimeRangeChange" />
</a-form-item>
</a-col>
<a-col :span="24">
@ -65,7 +68,7 @@
</a-space>
</a-form-item>
</a-col>
<a-col :span="24">
<!-- <a-col :span="24">
<a-form-item label="可见范围" name="visibility">
<a-radio-group v-model:value="form.visibility">
<a-radio value="public">公开所有公众用户可见</a-radio>
@ -74,7 +77,7 @@
<a-radio value="internal">仅内部</a-radio>
</a-radio-group>
</a-form-item>
</a-col>
</a-col> -->
<a-col v-if="form.visibility === 'targeted'" :span="12">
<a-form-item label="目标城市">
<a-select v-model:value="form.targetCities" mode="tags" placeholder="输入城市名称后按回车添加" />
@ -84,9 +87,11 @@
<a-col v-if="form.visibility === 'public' || form.visibility === 'targeted'" :span="12">
<a-form-item label="年龄限制">
<a-space>
<a-input-number v-model:value="form.ageMin" :min="1" :max="99" placeholder="最小" style="width: 100px" />
<a-input-number v-model:value="form.ageMin" :min="1" :max="99" placeholder="最小"
style="width: 100px" />
<span></span>
<a-input-number v-model:value="form.ageMax" :min="1" :max="99" placeholder="最大" style="width: 100px" />
<a-input-number v-model:value="form.ageMax" :min="1" :max="99" placeholder="最大"
style="width: 100px" />
<span class="form-hint">留空不限</span>
</a-space>
</a-form-item>
@ -145,8 +150,8 @@
<a-row :gutter="24">
<a-col :span="12">
<a-form-item label="报名时间" name="registerTimeRange" required>
<a-range-picker v-model:value="registerTimeRange" show-time format="YYYY-MM-DD HH:mm" style="width: 100%"
:disabled-date="disabledRegisterDate" @change="handleRegisterTimeRangeChange" />
<a-range-picker v-model:value="registerTimeRange" show-time format="YYYY-MM-DD HH:mm"
style="width: 100%" :disabled-date="disabledRegisterDate" @change="handleRegisterTimeRangeChange" />
</a-form-item>
</a-col>
<a-col :span="12">
@ -165,7 +170,8 @@
</a-col>
<a-col :span="12">
<a-form-item label="评审规则" name="reviewRuleId">
<a-select v-model:value="form.reviewRuleId" placeholder="请选择评审规则(可选)" :options="reviewRuleOptions" allow-clear />
<a-select v-model:value="form.reviewRuleId" placeholder="请选择评审规则(可选)" :options="reviewRuleOptions"
allow-clear />
</a-form-item>
</a-col>
<a-col :span="12">
@ -177,7 +183,8 @@
<a-col :span="12">
<a-form-item label="结果公布时间" name="resultPublishTime">
<a-date-picker v-model:value="resultPublishTime" show-time format="YYYY-MM-DD HH:mm" style="width: 100%"
:disabled-date="disabledPublishDate" placeholder="请选择结果公布时间" @change="handleResultPublishTimeChange" />
:disabled-date="disabledPublishDate" placeholder="请选择结果公布时间"
@change="handleResultPublishTimeChange" />
</a-form-item>
</a-col>
</a-row>
@ -216,7 +223,7 @@ const formRef = ref<FormInstance>()
const submitLoading = ref(false)
const form = reactive<CreateContestForm & { reviewRuleId?: number }>({
contestName: "", contestType: "individual", visibility: "designated",
contestName: "", contestType: "individual", visibility: "public",
targetCities: [] as string[], ageMin: undefined as number | undefined, ageMax: undefined as number | undefined,
startTime: "", endTime: "", content: "", coverUrl: "", posterUrl: "",
organizers: "", coOrganizers: "", sponsors: "",
@ -387,7 +394,7 @@ 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.visibility = c.visibility || "public"
form.targetCities = c.targetCities || []
form.ageMin = c.ageMin
form.ageMax = c.ageMax