| | |
| | | <el-option |
| | | v-for="item in activities" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :label="getActivityDisplayName(item)" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-button type="primary" @click="loadProjects" :loading="projectsLoading"> |
| | | 搜索 |
| | | </el-button> |
| | | <el-button @click="resetSearch">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | |
| | | |
| | | // 加载比赛列表 |
| | | const loadActivities = async () => { |
| | | console.log('=== 开始加载比赛列表 ===') |
| | | activitiesLoading.value = true |
| | | try { |
| | | console.log('调用 getActiveActivities...') |
| | | const data = await getActiveActivities() |
| | | console.log('getActiveActivities 返回数据:', data) |
| | | activities.value = data |
| | | console.log('activities.value 设置为:', activities.value) |
| | | } catch (error) { |
| | | console.error('加载比赛列表失败:', error) |
| | | ElMessage.error(error.message) |
| | | } finally { |
| | | activitiesLoading.value = false |
| | | console.log('=== 比赛列表加载完成 ===') |
| | | } |
| | | } |
| | | |
| | |
| | | return stateMap[state] || '未知' |
| | | } |
| | | |
| | | // 获取活动显示名称(比赛名称 + 阶段名称) |
| | | const getActivityDisplayName = (activity) => { |
| | | if (!activity) return '' |
| | | |
| | | // 如果有父比赛信息,显示"比赛名称 - 阶段名称" |
| | | if (activity.parent && activity.parent.name) { |
| | | return `${activity.parent.name} - ${activity.name}` |
| | | } |
| | | |
| | | // 如果没有父比赛信息,只显示阶段名称 |
| | | return activity.name |
| | | } |
| | | |
| | | |
| | | |
| | | // 组件挂载时加载数据 |
| | | onMounted(() => { |
| | | loadActivities() |