Explorar el Código

feat(settings): 启用系统布局配置并优化赛事模板奖励逻辑

- 启用系统设置中的布局配置功能
- 注释掉主题设置中的深色模式开关组件
- 优化赛事模板中的盲注结构变更处理逻辑
- 增加对当前延迟报名等级是否有效的判断- 移除奖励添加的数量限制判断逻辑
- 更新赛事管理页面的数据处理变量命名
- 在赛事模板中临时添加调试器语句
fugui001 hace 2 meses
padre
commit
ccfd47d2f4

+ 2 - 2
src/layout/components/Settings/index.vue

@@ -34,12 +34,12 @@
         <el-color-picker v-model="theme" :predefine="predefineColors" @change="themeChange" />
       </span>
     </div>
-    <div class="drawer-item">
+<!--    <div class="drawer-item">
       <span>深色模式</span>
       <span class="comp-style">
         <el-switch v-model="isDark" class="drawer-switch" @change="toggleDark" />
       </span>
-    </div>
+    </div>-->
 
     <el-divider />
 

+ 1 - 1
src/settings.ts

@@ -15,7 +15,7 @@ const setting: DefaultSettings = {
   /**
    * 是否系统布局配置
    */
-  showSettings: false,
+  showSettings: true,
 
   /**
    * 是否显示顶部导航

+ 9 - 4
src/views/system/business/tournaments/index.vue

@@ -749,21 +749,26 @@ const itemOptionsStructuresLevel = ref<{ id: number; label: string }[]>([]);
 
 // 加载报名条件选项
 const handleBlindStructureChange = async (value: number) => {
-  data.form.lateRegistrationLevel = null;
+  //data.form.lateRegistrationLevel = null;
   try {
     const res = await selectBlindLevelsById(value);
     if (res.code === 200) {
       // 使用 unknown 中间类型进行类型转换
-      const data = res.data as unknown as { id: number; levelNumber: number }[];
+      const data2 = res.data as unknown as { id: number; levelNumber: number }[];
       const list = [];
-      for (let i = 0; i < data.length; i++) {
-        const item = data[i];
+      for (let i = 0; i < data2.length; i++) {
+        const item = data2[i];
         list.push({
           id: item.levelNumber,
           label: item.levelNumber
         });
       }
       itemOptionsStructuresLevel.value = list;
+      // 判断当前选择的 lateRegistrationLevel 是否在新列表中
+      const currentLevel = data.form.lateRegistrationLevel;
+      if (currentLevel && !list.some((item) => item.id === currentLevel)) {
+        data.form.lateRegistrationLevel = null;
+      }
     } else {
       alert('加载失败:' + res.msg);
     }

+ 17 - 7
src/views/system/business/tournamentsTemplate/index.vue

@@ -531,21 +531,27 @@ const itemOptionsStructuresLevel = ref<{ id: number; label: string }[]>([]);
 
 // 加载报名条件选项
 const handleBlindStructureChange = async (value: number) => {
-  data.form.lateRegistrationLevel = null;
+  //data.form.lateRegistrationLevel = null;
   try {
     const res = await selectBlindLevelsById(value);
     if (res.code === 200) {
       // 使用 unknown 中间类型进行类型转换
-      const data = res.data as unknown as { id: number; levelNumber: number }[];
+      const data2 = res.data as unknown as { id: number; levelNumber: number }[];
       const list = [];
-      for (let i = 0; i < data.length; i++) {
-        const item = data[i];
+      for (let i = 0; i < data2.length; i++) {
+        const item = data2[i];
         list.push({
           id: item.levelNumber,
           label: item.levelNumber
         });
       }
       itemOptionsStructuresLevel.value = list;
+      // 判断当前选择的 lateRegistrationLevel 是否在新列表中
+      const currentLevel = data.form.lateRegistrationLevel;
+      debugger;
+      if (currentLevel && !list.some((item) => item.id === currentLevel)) {
+        data.form.lateRegistrationLevel = null;
+      }
     } else {
       alert('加载失败:' + res.msg);
     }
@@ -572,9 +578,13 @@ const defaultRewardStructure = {
 
 const addReward = () => {
   const currentLength = formPrize.rewards.length;
-
+  formPrize.rewards.push({
+    ranking: currentLength + 1, // 自动生成排名,从 1 开始
+    itemId: null,
+    quantity: null
+  });
   // 判断是否超过 itemOptions 的数量限制
-  if (currentLength < itemOptions.value.length) {
+  /* if (currentLength < itemOptions.value.length) {
     formPrize.rewards.push({
       ranking: currentLength + 1, // 自动生成排名,从 1 开始
       itemId: null,
@@ -582,7 +592,7 @@ const addReward = () => {
     });
   } else {
     ElMessage.warning(`最多只能添加 ${itemOptions.value.length} 个奖励项`);
-  }
+  }*/
 };
 
 const removeReward = (index: number) => {