update:赛事管理
This commit is contained in:
parent
002940a41b
commit
ab25758e05
@ -1,20 +1,16 @@
|
||||
<template>
|
||||
<el-dialog :title="dialog.title" v-model="dialog.isShowDialog" width="80%">
|
||||
<div class="step-form-container">
|
||||
<el-card class="step-form-card">
|
||||
<!-- 步骤条导航 -->
|
||||
<el-dialog :title="dialog.title" v-model="dialog.isShowDialog" width="80%" fullscreen>
|
||||
<template #header>
|
||||
<div style="font-size: 18px; font-weight: bold;">{{ dialog.title }}</div>
|
||||
<!-- 步骤条导航 -->
|
||||
<el-steps :active="activeStep" finish-status="success" align-center>
|
||||
<el-step title="基本信息" />
|
||||
<el-step title="参与单位" />
|
||||
<el-step title="项目与限报配置" />
|
||||
<el-step title="费用与账户配置" />
|
||||
</el-steps>
|
||||
|
||||
<!-- 步骤内容区域 -->
|
||||
<div class="step-content">
|
||||
<component :is="currentStepComponent" :key="activeStep" ref="stepRef" :model-value="currentStepData" @update:model-value="handleStepDataUpdate" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<template #footer>
|
||||
<!-- 底部操作按钮 -->
|
||||
<div class="step-actions">
|
||||
<el-button v-if="activeStep > 0" @click="handlePrevious">
|
||||
@ -38,6 +34,17 @@
|
||||
提交
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
<div class="step-form-container">
|
||||
<el-card class="step-form-card">
|
||||
|
||||
|
||||
<!-- 步骤内容区域 -->
|
||||
<div class="step-content">
|
||||
<component :is="currentStepComponent" :key="activeStep" ref="stepRef" :model-value="currentStepData" @update:model-value="handleStepDataUpdate" />
|
||||
</div>
|
||||
|
||||
|
||||
</el-card>
|
||||
|
||||
<!-- 提交成功对话框 -->
|
||||
@ -397,6 +404,10 @@ defineExpose({
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
div{
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.step-form-container {
|
||||
/* max-width: 1000px; */
|
||||
margin: 0 auto;
|
||||
@ -431,9 +442,10 @@ defineExpose({
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
padding-top: 30px;
|
||||
/* padding-top: 30px;
|
||||
border-top: 1px solid #ebeef5;
|
||||
margin-top: 20px;
|
||||
box-sizing: border-box; */
|
||||
/* margin-top: 20px; */
|
||||
}
|
||||
|
||||
/* .step-actions .el-button {
|
||||
|
||||
@ -34,15 +34,15 @@
|
||||
<div class="expand-content">
|
||||
<el-table :data="scope.row.items || []" border style="width: 100%; margin-top: 10px;">
|
||||
<el-table-column label="项目名称" prop="projectName" min-width="150" />
|
||||
<el-table-column label="项目类型" prop="projectTypeName" width="120" />
|
||||
<!-- <el-table-column label="项目类型" prop="projectTypeName" width="120" /> -->
|
||||
<el-table-column label="参赛组别" prop="groupName" width="120" />
|
||||
<el-table-column label="姓名" prop="memberNames" min-width="200" />
|
||||
<el-table-column label="成绩" prop="score" width="120" />
|
||||
<el-table-column label="姓名" prop="participantName" min-width="140" />
|
||||
<el-table-column label="成绩" prop="score" width="100" />
|
||||
<el-table-column label="名次" prop="rank" width="100" />
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
<template #default="item">
|
||||
<el-button
|
||||
v-if="item.row.memberIds && item.row.memberIds.length > 0"
|
||||
v-if="item.row.certificateUrl"
|
||||
size="small"
|
||||
text
|
||||
type="primary"
|
||||
@ -198,6 +198,8 @@ const onBatchAudit = async () => {
|
||||
// 查看证书 - 根据项目类型处理
|
||||
const viewCertificates = async (item) => {
|
||||
console.log('查看证书', item);
|
||||
openCertificate(item.certificateUrl);
|
||||
return;
|
||||
const members = item.members || [];
|
||||
if (members.length === 0) {
|
||||
ElMessage.warning('暂无证书');
|
||||
|
||||
@ -125,7 +125,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 赛事介绍 -->
|
||||
<div class="edc-section" v-if="formData.basicInfo.eventIntroduction">
|
||||
<div class="edc-section-hd">
|
||||
<el-icon class="edc-section-icon"><Document /></el-icon>
|
||||
<span class="edc-section-title">赛事介绍</span>
|
||||
</div>
|
||||
<div class="edc-intro" v-html="formData.basicInfo.eventIntroduction"></div>
|
||||
</div>
|
||||
|
||||
<!-- 报名项目 -->
|
||||
<div class="edc-section" v-if="formData.projectConfig?.projects?.length">
|
||||
<div class="edc-section-hd">
|
||||
@ -140,6 +148,12 @@
|
||||
<strong>{{ formData.projectConfig.registrationLimit.teamProjectLimit ?? 1 }}</strong> 个团队、<strong>{{ formData.projectConfig.registrationLimit.individualProjectLimit ?? 1 }}</strong> 个个人
|
||||
</span>
|
||||
</div>
|
||||
<div class="edc-reg-limit-bar" v-if="formData.projectConfig.registrationLimit">
|
||||
<el-icon><InfoFilled /></el-icon>
|
||||
<span>限报
|
||||
<strong>{{ formData.projectConfig.registrationLimit.teamProjectLimit ?? 1 }}</strong> 个团队、<strong>{{ formData.projectConfig.registrationLimit.individualProjectLimit ?? 1 }}</strong> 个个人
|
||||
</span>
|
||||
</div>
|
||||
<div class="edc-proj-list">
|
||||
<div class="edc-proj-card" v-for="(proj, pi) in formData.projectConfig.projects" :key="proj.id ?? pi">
|
||||
<div class="edc-proj-hd">
|
||||
@ -269,6 +283,7 @@
|
||||
<div class="project-card" v-for="project in projects" :key="project.id">
|
||||
<div class="project-card-left">
|
||||
<div class="project-card-name">名称:{{ project.name }}</div>
|
||||
<div class="project-card-limit" v-if="project.limitCount">限报人数:{{ project.limitCount }} 人</div>
|
||||
<div class="project-card-type">类型:{{ project.parentProjectTypeName ??
|
||||
project.projectTypeName ?? '' }}</div>
|
||||
<div class="project-card-count">完成人数:{{ project.completionCount ?? 0 }}</div>
|
||||
@ -3037,6 +3052,15 @@ const handleCreateOrderAndPay = async () => {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&-limit {
|
||||
font-size: 12px;
|
||||
color: #ffe082;
|
||||
background: rgba(0, 0, 0, 0.15);
|
||||
border-radius: 4px;
|
||||
padding: 1px 6px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&-right {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user