This commit is contained in:
ltx 2026-10-30 13:07:16 +08:00
commit 78ae76db56

View File

@ -16,7 +16,7 @@
</template> </template>
<el-form ref="formRef" :model="form" :rules="rules" label-width="140px" class="sync-form"> <el-form ref="formRef" :model="form" :rules="rules" label-width="140px" class="sync-form">
<el-form-item label="悦动赛事" prop="eventId"> <el-form-item label="跃动赛事" prop="eventId">
<el-select <el-select
v-model="form.eventId" v-model="form.eventId"
filterable filterable
@ -57,24 +57,30 @@
<el-card v-if="previewResult" class="mt16" shadow="never"> <el-card v-if="previewResult" class="mt16" shadow="never">
<template #header>数据预览</template> <template #header>数据预览</template>
<el-descriptions :column="4" border> <el-descriptions :column="4" border>
<el-descriptions-item label="悦动赛事">{{ previewResult.eventName }}</el-descriptions-item> <el-descriptions-item label="跃动赛事">{{ previewResult.eventName }}</el-descriptions-item>
<el-descriptions-item label="报名人数">{{ previewResult.registrationCount }}</el-descriptions-item> <el-descriptions-item label="报名人数">{{ previewResult.registrationCount }}</el-descriptions-item>
<el-descriptions-item label="待上传人数">{{ previewResult.uploadRecordCount }}</el-descriptions-item> <el-descriptions-item label="待上传人数">{{ previewResult.uploadRecordCount }}</el-descriptions-item>
<el-descriptions-item label="组别数">{{ previewResult.typeCount }}</el-descriptions-item> <el-descriptions-item label="组别数">{{ previewResult.typeCount }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-table :data="previewResult.types || []" border class="mt16"> <el-table :data="previewResult.types || []" border max-height="300" class="mt16">
<el-table-column prop="typeName" label="平台组别" min-width="200" /> <el-table-column prop="typeName" label="平台组别" min-width="200" />
<el-table-column prop="playerCount" label="人数" width="120" /> <el-table-column prop="playerCount" label="人数" width="120" />
</el-table> </el-table>
<div class="detail-title">待上传人员明细</div> <el-collapse v-model="activePreviewPanels" class="detail-collapse">
<el-collapse-item name="players">
<template #title>
<span class="detail-collapse-title">待上传人员明细({{ previewResult.uploadRecordCount }} 人)</span>
</template>
<el-table :data="previewResult.players || []" border height="520"> <el-table :data="previewResult.players || []" border height="520">
<el-table-column type="index" label="序号" width="70" fixed="left" /> <el-table-column type="index" label="序号" width="70" fixed="left" />
<el-table-column prop="typeName" label="平台组别" min-width="160" fixed="left" /> <el-table-column prop="typeName" label="平台组别" min-width="160" fixed="left" />
<el-table-column prop="playerName" label="姓名" width="110" fixed="left" /> <el-table-column prop="playerName" label="姓名" width="110" fixed="left" />
<el-table-column prop="playerId" label="用户ID" min-width="180" /> <el-table-column prop="playerId" label="人员唯一ID" min-width="180" />
<el-table-column prop="cardType" label="证件类型" width="100" /> <el-table-column label="证件类型" width="110">
<template #default="scope">{{ formatCardType(scope.row.cardType) }}</template>
</el-table-column>
<el-table-column prop="cardNumber" label="证件号码" min-width="190" /> <el-table-column prop="cardNumber" label="证件号码" min-width="190" />
<el-table-column label="性别" width="80"> <el-table-column label="性别" width="80">
<template #default="scope">{{ formatSex(scope.row.playerSex) }}</template> <template #default="scope">{{ formatSex(scope.row.playerSex) }}</template>
@ -82,8 +88,9 @@
<el-table-column prop="playerPhone" label="手机号" width="140" /> <el-table-column prop="playerPhone" label="手机号" width="140" />
<el-table-column prop="playerBirth" label="出生日期" width="120" /> <el-table-column prop="playerBirth" label="出生日期" width="120" />
<el-table-column prop="groupName" label="队伍名称" min-width="160" /> <el-table-column prop="groupName" label="队伍名称" min-width="160" />
<el-table-column prop="deleteStatus" label="删除状态" width="100" />
</el-table> </el-table>
</el-collapse-item>
</el-collapse>
<el-alert <el-alert
v-if="previewResult.canUpload" v-if="previewResult.canUpload"
@ -152,7 +159,7 @@ const form = reactive({
seriesName: '', seriesName: '',
}); });
const rules = { const rules = {
eventId: [{ required: true, message: '请选择悦动赛事', trigger: 'change' }], eventId: [{ required: true, message: '请选择跃动赛事', trigger: 'change' }],
platformEventName: [{ required: true, message: '请输入平台赛事名称', trigger: 'blur' }], platformEventName: [{ required: true, message: '请输入平台赛事名称', trigger: 'blur' }],
}; };
@ -163,7 +170,9 @@ const previewLoading = ref(false);
const uploading = ref(false); const uploading = ref(false);
const previewResult = ref(null); const previewResult = ref(null);
const executeResult = ref(null); const executeResult = ref(null);
const activePreviewPanels = ref([]);
const formatCardType = (value) => ({ 1: '身份证', 2: '护照', 5: '户口本' })[value] || value || '-';
const formatSex = (value) => ({ 1: '男', 2: '女' })[value] || value || '-'; const formatSex = (value) => ({ 1: '男', 2: '女' })[value] || value || '-';
const requestInput = () => ({ const requestInput = () => ({
@ -273,8 +282,11 @@ onMounted(() => searchEvents());
max-width: 760px; max-width: 760px;
} }
.detail-title { .detail-collapse {
margin: 20px 0 12px; margin-top: 16px;
}
.detail-collapse-title {
font-weight: 600; font-weight: 600;
} }
</style> </style>