Bladeren bron

feat(tournament): 添加预报名功能支持

- 在联赛表单中新增是否需要预报名的选择字段
- 更新API类型定义以包含预报名相关属性
- 在报名管理页面添加取消状态的显示和标签样式处理
fugui001 1 week geleden
bovenliggende
commit
b6443c922b

+ 2 - 0
src/api/system/physical/leagueTournament/types.ts

@@ -124,6 +124,8 @@ export interface LeagueTournamentForm extends BaseEntity {
    * 预报名结束时间
    */
   registrationEndTime?: string;
+
+  isRegistration: string | number;
 }
 
 export interface LeagueTournamentQuery extends PageQuery {

+ 13 - 0
src/views/system/physical/leagueTournament/index.vue

@@ -108,6 +108,13 @@
             <span v-else>未知</span>
           </template>
         </el-table-column>
+        <el-table-column label="是否需预报名" align="center" width="120">
+          <template #default="scope">
+            <span v-if="scope.row.isRegistration === 1">是</span>
+            <span v-else-if="scope.row.isRegistration === 0">否</span>
+            <span v-else>未知</span>
+          </template>
+        </el-table-column>
         <el-table-column label="创建时间" align="center" prop="createdAt" width="180">
           <template #default="scope">
             <span>{{ parseTime(scope.row.createdAt, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@@ -206,6 +213,12 @@
           <el-date-picker clearable v-model="form.endTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择赛事结束时间">
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="是否需要预报名" prop="isPreRegistration">
+          <el-select aria-required="true" v-model="form.isRegistration" placeholder="请选择">
+            <el-option label="否" :value="0"> </el-option>
+            <el-option label="是" :value="1"> </el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="预报名开始时间" prop="registrationBeginTime">
           <el-date-picker
             clearable

+ 4 - 0
src/views/system/physical/tournamentsRegistration/index.vue

@@ -379,6 +379,8 @@ const getStatusText = (autoStatus: number, status: string) => {
       return '已通过';
     case 'rejected':
       return '已拒绝';
+    case 'cancel':
+      return '已取消';
     default:
       return status;
   }
@@ -397,6 +399,8 @@ const getStatusTagType = (autoStatus: number, status: string) => {
       return 'success'; // 绿色标签表示已通过
     case 'rejected':
       return 'danger'; // 红色标签表示已拒绝
+    case 'cancel':
+      return 'primary';
     default:
       return 'info';
   }