| | |
| | | <el-button type="primary" @click="handleAdd">新增比赛</el-button> |
| | | </div> |
| | | |
| | | <el-table :data="tableData" style="width: 100%" v-loading="loading"> |
| | | <el-table-column prop="name" label="比赛名称" min-width="200"> |
| | | <el-table :data="tableData" style="width: 100%" v-loading="loading" size="small"> |
| | | <el-table-column prop="name" label="比赛名称" min-width="180"> |
| | | <template #default="{ row }"> |
| | | <el-link type="primary" @click="handleView(row.id)">{{ row.name }}</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="playerCount" label="报名人数" width="100"> |
| | | <el-table-column prop="playerCount" label="报名人数" width="80" align="center"> |
| | | <template #default="{ row }"> |
| | | {{ row.playerCount || 0 }} |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="matchTime" label="比赛时间" width="180"> |
| | | <el-table-column prop="matchTime" label="比赛时间" width="140"> |
| | | <template #default="{ row }"> |
| | | {{ formatDateTime(row.matchTime) }} |
| | | <span style="font-size: 12px;">{{ formatDateTime(row.matchTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="signupDeadline" label="报名截止时间" width="180"> |
| | | <el-table-column prop="signupDeadline" label="报名截止" width="140"> |
| | | <template #default="{ row }"> |
| | | {{ formatDateTime(row.signupDeadline) }} |
| | | <span style="font-size: 12px;">{{ formatDateTime(row.signupDeadline) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="stateName" label="状态" width="100"> |
| | | <el-table-column prop="stateName" label="状态" width="80" align="center"> |
| | | <template #default="{ row }"> |
| | | <el-tag :type="getStateType(row.state)">{{ row.stateName }}</el-tag> |
| | | <el-tag :type="getStateType(row.state)" size="small">{{ row.stateName }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" width="200" fixed="right"> |
| | | <el-table-column label="操作" width="220" fixed="right" align="center"> |
| | | <template #default="{ row }"> |
| | | <el-button size="small" @click="handleView(row.id)">查看选手</el-button> |
| | | <el-button size="small" @click="handleView(row.id)">选手</el-button> |
| | | <el-button size="small" type="primary" @click="handleEdit(row.id)">编辑</el-button> |
| | | <el-button size="small" type="danger" @click="handleDelete(row.id)">删除</el-button> |
| | | </template> |
| | |
| | | searchName.value |
| | | ) |
| | | |
| | | tableData.value = result.content || [] |
| | | total.value = result.totalElements || 0 |
| | | console.log('=== ActivityList loadData ==='); |
| | | console.log('getActivities返回数据:', result); |
| | | tableData.value = result?.content || [] |
| | | total.value = result?.totalElements || 0 |
| | | console.log('设置tableData:', tableData.value); |
| | | console.log('设置total:', total.value); |
| | | } catch (error) { |
| | | console.error('加载比赛列表失败:', error) |
| | | ElMessage.error('加载比赛列表失败: ' + error.message) |
| | |
| | | // 工具函数 |
| | | const formatDateTime = (dateTime) => { |
| | | if (!dateTime) return '-' |
| | | // 处理后端返回的时间格式 "yyyy-MM-dd HH:mm:ss" |
| | | return dayjs(dateTime).format('YYYY-MM-DD HH:mm') |
| | | } |
| | | |