Quellcode durchsuchen

refactor(system): 优化裁判职位管理组件结构

- 移除注释中的重复对话框代码
- 删除未使用的组别管理相关表单数据和方法
- 清理组别列表操作功能代码
- 简化组件的整体代码结构
fugui001 vor 1 Monat
Ursprung
Commit
eacba262b6
1 geänderte Dateien mit 1 neuen und 112 gelöschten Zeilen
  1. 1 112
      src/views/system/physical/judgePosition/index.vue

+ 1 - 112
src/views/system/physical/judgePosition/index.vue

@@ -71,7 +71,7 @@
       <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
     </el-card>
     <!-- 添加或修改职务管理对话框 -->
-    <!--    <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
+    <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
       <el-form ref="judgePositionFormRef" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="职务名称" prop="name">
           <el-input v-model="form.name" placeholder="请输入职务名称,如 裁判长" />
@@ -86,56 +86,6 @@
           <el-button @click="cancel">取 消</el-button>
         </div>
       </template>
-    </el-dialog>-->
-    <el-dialog :title="dialog.title" v-model="dialog.visible" width="650px" append-to-body>
-      <el-form ref="groupFormRef" :model="groupForm" :rules="groupRules" label-width="130px">
-        <el-form-item label="名称" prop="judgeId">
-          <el-input placeholder="请输入名称" />
-        </el-form-item>
-        <!-- 组别模板 -->
-        <el-form-item label="常规组别模板" prop="templateName">
-          <el-select v-model="groupForm.templateName" placeholder="请选择赛制类型" clearable>
-            <el-option label="常规赛模版" value="regular" />
-            <el-option label="决赛组别模版" value="final" />
-          </el-select>
-        </el-form-item>
-
-        <!-- 赛制类型 -->
-        <el-form-item label="决赛组别模板" prop="competitionType">
-          <el-select v-model="groupForm.competitionType" placeholder="请选择赛制类型" clearable>
-            <el-option label="常规赛模版" value="regular" />
-            <el-option label="决赛组别模版" value="final" />
-          </el-select>
-        </el-form-item>
-        <!-- 开始日期 -->
-        <el-form-item label="日期" prop="startDate">
-          <el-date-picker v-model="groupForm.startDate" type="date" placeholder="选择开始日期" style="width: 100%" />
-        </el-form-item>
-        <!-- 组别列表 -->
-        <el-form-item label="组别">
-          <div v-for="(item, index) in groupList" :key="index" style="display: flex; align-items: center; gap: 10px; margin-bottom: 10px">
-            <span style="width: 60px">{{ item.name }}组</span>
-            间隔天数:<el-input-number
-              v-model="item.intervalDays"
-              :min="0"
-              :max="7"
-              controls-position="right"
-              placeholder="间隔天数"
-              style="width: 80px"
-            />
-            <el-time-picker v-model="item.time" value-format="HH:mm" format="HH:mm" placeholder="选择时间" style="flex: 1; min-width: 120px" />
-            <el-button type="primary" icon="Plus" @click="addGroup" v-if="index === groupList.length - 1" style="width: 40px; height: 40px" />
-            <el-button type="primary" icon="Minus" @click="removeGroup(index)" v-else style="width: 40px; height: 40px" />
-          </div>
-        </el-form-item>
-      </el-form>
-
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button :loading="buttonLoading" type="primary">确 定</el-button>
-          <el-button>取 消</el-button>
-        </div>
-      </template>
     </el-dialog>
   </div>
 </template>
@@ -285,65 +235,4 @@ const handleExport = () => {
 onMounted(() => {
   getList();
 });
-
-// 组别表单数据
-const groupForm = ref({
-  templateName: '',
-  competitionType: '',
-  startDate: '',
-  generateDays: 1,
-  description: ''
-});
-
-// 组别列表(修改为包含时间和名称的对象数组)
-const groupList = ref<{ name: string; time: string; intervalDays: number }[]>([{ name: 'A', time: '', intervalDays: 0 }]);
-// 表单规则(修改)
-const groupRules = {
-  templateName: [{ required: true, message: '请输入组别模板名称', trigger: 'blur' }],
-  competitionType: [{ required: true, message: '请选择赛制类型', trigger: 'change' }],
-  generateDays: [{ required: true, message: '请输入生成天数', trigger: 'blur' }]
-};
-
-// 添加组别方法(修改)
-// 添加组别方法(修改)
-const addGroup = () => {
-  const lastGroup = groupList.value[groupList.value.length - 1];
-  let nextLetter = 'A';
-
-  // 获取最后一个组别的字母
-  if (lastGroup && lastGroup.name) {
-    const lastChar = lastGroup.name.toUpperCase();
-    // 计算下一个字母的ASCII码
-    const nextCharCode = lastChar.charCodeAt(0) + 1;
-    nextLetter = String.fromCharCode(nextCharCode);
-
-    // 如果超过Z,从A开始循环
-    if (nextCharCode > 90) {
-      nextLetter = 'A';
-    }
-  }
-
-  groupList.value.push({ name: nextLetter, time: '', intervalDays: 0 });
-};
-// 删除组别方法(修正)
-const removeGroup = (index: number) => {
-  if (groupList.value.length > 1) {
-    // 删除该组别
-    groupList.value.splice(index, 1);
-
-    // 重新生成所有组别的字母顺序(从A开始连续分配)
-    const newGroupList = [];
-    for (let i = 0; i < groupList.value.length; i++) {
-      const letter = String.fromCharCode(65 + i); // 65是'A'的ASCII码
-      newGroupList.push({
-        name: letter,
-        time: groupList.value[i].time,
-        intervalDays: groupList.value[i].intervalDays
-      });
-    }
-
-    // 更新组别列表
-    groupList.value = newGroupList;
-  }
-};
 </script>