| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <!-- 评委信息 --> |
| | | <div v-if="activity.judges && activity.judges.length > 0" class="judges-section"> |
| | | <h3>评委信息</h3> |
| | | <el-table :data="activity.judges" style="width: 100%"> |
| | | <el-table-column prop="name" label="评委姓名" min-width="120" /> |
| | | <el-table-column prop="phone" label="联系电话" width="150" /> |
| | | <el-table-column prop="description" label="简介" min-width="200" show-overflow-tooltip /> |
| | | <el-table-column label="负责阶段" min-width="200"> |
| | | <template #default="{ row }"> |
| | | <el-tag |
| | | v-for="stageId in row.stageIds" |
| | | :key="stageId" |
| | | size="small" |
| | | style="margin-right: 5px;" |
| | | > |
| | | {{ getStageName(stageId) }} |
| | | </el-tag> |
| | | <el-tag v-if="!row.stageIds || row.stageIds.length === 0" type="info" size="small"> |
| | | 全部阶段 |
| | | </el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <!-- 参赛选手 --> |
| | | <div class="players-section"> |
| | | <div class="section-header"> |
| | |
| | | |
| | | // 操作处理 |
| | | const handleEdit = () => { |
| | | router.push(`/activity/form/${route.params.id}`) |
| | | router.push(`/activity/edit/${route.params.id}`) |
| | | } |
| | | |
| | | const goBack = () => { |
| | |
| | | } |
| | | } |
| | | |
| | | const getStageName = (stageId) => { |
| | | if (!activity.value || !activity.value.stages) return '未知阶段' |
| | | const stage = activity.value.stages.find(s => s.id === stageId) |
| | | return stage ? stage.name : '未知阶段' |
| | | } |
| | | |
| | | // 生命周期 |
| | | onMounted(() => { |
| | | loadActivity() |
| | |
| | | color: #303133; |
| | | } |
| | | |
| | | .judges-section { |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .judges-section h3 { |
| | | margin-bottom: 15px; |
| | | color: #303133; |
| | | } |
| | | |
| | | .players-section { |
| | | margin-top: 30px; |
| | | } |