Browse Source

fix(tournaments): 移除调试代码并优化表单组件

- 移除了 participants 页面中的 debugger 语句
- 注释掉了报名截止至的重复表单项
- 为 lateRegistrationLevel 下拉框添加了 key 属性以优化渲染
- 修正了类型转换注释信息
- 修复了选项列表数据映射逻辑,使用正确的字段值
- 清空选项列表后重新赋值以确保数据同步
fugui 1 week ago
parent
commit
b9108e32ae

+ 0 - 2
src/views/system/physical/participants/index.vue

@@ -481,9 +481,7 @@ const handlePrintTicket = async (row: ParticipantsVO) => {
       tournamentId: row.tournamentId,
       playerId: row.playerId
     } as ParticipantsForm);
-    debugger;
     if (res.code === 200 && res.data) {
-
       console.log('res.data:', res.data);
       console.log('orderNumber:', res.data.orderNumber);
       console.log('tournamentSerialNumber:', res.data.tournamentSerialNumber);

+ 16 - 4
src/views/system/physical/tournaments/index.vue

@@ -282,12 +282,22 @@
           </el-select>
         </el-form-item>
         <!-- 报名截止至 -->
-        <el-form-item label="报名截止至" prop="lateRegistrationLevel">
+        <!--        <el-form-item label="报名截止至" prop="lateRegistrationLevel">
           <el-select v-model="form.lateRegistrationLevel" placeholder="选项" style="width: 200px" :disabled="dialog.mode === 'view'">
             <el-option v-for="item in itemOptionsStructuresLevel" :key="item.id" :label="item.label" :value="item.id" />
           </el-select>
+        </el-form-item>-->
+        <el-form-item label="报名截止至" prop="lateRegistrationLevel">
+          <el-select
+            v-model="form.lateRegistrationLevel"
+            placeholder="选项"
+            style="width: 200px"
+            :disabled="dialog.mode === 'view'"
+            :key="'late-' + form.blindStructureId"
+          >
+            <el-option v-for="item in itemOptionsStructuresLevel" :key="item.id" :label="item.label" :value="item.id" />
+          </el-select>
         </el-form-item>
-
         <el-form-item label="起始记分牌数量" prop="startingChips">
           <el-input v-model="form.startingChips" placeholder="请输入起始记分牌数量" :disabled="dialog.mode === 'view'" />
         </el-form-item>
@@ -1043,7 +1053,7 @@ const handleBlindStructureChange = async (value: number) => {
   try {
     const res = await selectPhysicalBlindLevelsById(value);
     if (res.code === 200) {
-      // 使用 unknown 中间类型进行类型转换
+      // 使用 unknown 中间类型进行类型转换 display_order
       const data2 = res.data as unknown as { id: number; levelNumber: number; isBreak: number }[];
       const list = [];
       for (let i = 0; i < data2.length; i++) {
@@ -1051,11 +1061,13 @@ const handleBlindStructureChange = async (value: number) => {
         // 排除 is_break(是Break) 为 1 的项
         if (!item.isBreak) {
           list.push({
-            id: item.levelNumber,
+            id: item.id,
             label: item.levelNumber
           });
         }
       }
+      itemOptionsStructuresLevel.value = [];
+      itemOptionsStructuresLevel2.value = [];
       itemOptionsStructuresLevel.value = list;
       itemOptionsStructuresLevel2.value = list;
       // 判断当前选择的 lateRegistrationLevel 是否在新列表中