| | |
| | | <el-icon><Search /></el-icon> |
| | | 搜索 |
| | | </el-button> |
| | | <el-button @click="resetSearch">重置</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { Search, TrophyBase, InfoFilled } from '@element-plus/icons-vue' |
| | | import PromotionApi from '@/api/promotion' |
| | | import { getActivity } from '@/api/activity' |
| | | |
| | | const router = useRouter() |
| | | |
| | |
| | | selectedParticipants.value = selection |
| | | } |
| | | |
| | | |
| | | |
| | | // 确认晋级 |
| | | const confirmPromotion = async () => { |
| | | if (selectedParticipants.value.length === 0) { |
| | |
| | | const participantIds = selectedParticipants.value.map(p => p.id) |
| | | |
| | | const result = await PromotionApi.promoteParticipants( |
| | | selectedCompetition.value.id, |
| | | participantIds, |
| | | null // 目标阶段ID,这里可以根据需要设置 |
| | | ) |
| | | selectedCompetition.value.competitionId, // 主比赛ID |
| | | participantIds, |
| | | selectedCompetition.value.id // 当前阶段ID作为目标阶段ID |
| | | ) |
| | | |
| | | if (result && result.success) { |
| | | ElMessage.success(result.message || `成功晋级 ${result.promotedCount} 名人员`) |
| | |
| | | .search-toolbar { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | justify-content: flex-end; |
| | | margin-bottom: 20px; |
| | | padding: 16px; |
| | | background-color: #f9fafb; |