lrj
21 小时以前 9f8395fab13ca4b230a0f7d62636e209745c91d4
web/src/views/ActivityDetail.vue
@@ -75,6 +75,31 @@
          </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">
@@ -142,7 +167,7 @@
// 操作处理
const handleEdit = () => {
  router.push(`/activity/form/${route.params.id}`)
  router.push(`/activity/edit/${route.params.id}`)
}
const goBack = () => {
@@ -207,6 +232,12 @@
  }
}
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()
@@ -253,6 +284,15 @@
  color: #303133;
}
.judges-section {
  margin-top: 30px;
}
.judges-section h3 {
  margin-bottom: 15px;
  color: #303133;
}
.players-section {
  margin-top: 30px;
}