Procházet zdrojové kódy

feat(tournaments): 添加扫脸功能配置选项

- 在业务赛事表单中新增是否扫脸选择字段
- 在赛事模板表单中新增是否扫脸选择字段
- 在实体赛事表单中新增是否扫脸选择字段
- 更新业务赛事API类型定义添加isFace字段
- 更新赛事模板API类型定义添加isFace字段
- 更新实体赛事API类型定义添加isFace字段
- 修复实体赛事下拉菜单语法错误
- 初始化扫脸功能默认值为开启状态
fugui před 1 měsícem
rodič
revize
4e3998ce92

+ 3 - 0
src/api/system/business/tournaments/types.ts

@@ -88,6 +88,7 @@ export interface TournamentsVO {
   rebuy?: number;
   delayCardTime?: number;
   delayCardNum?: number;
+  isFace?: number;
 }
 
 export interface TournamentsForm extends BaseEntity {
@@ -184,6 +185,7 @@ export interface TournamentsForm extends BaseEntity {
   rebuy?: number;
   delayShow?: number;
   remark?: string;
+  isFace?: number;
 }
 
 export interface ItemsPrize {
@@ -252,6 +254,7 @@ export interface TournamentsQuery extends PageQuery {
   sortBy?: string; // 排序字段名,例如 "startTime"
   isAsc?: boolean; // 是否升序,true = 升序,false = 降序
   loginTimeRange?: string;
+  isFace?: number;
 }
 
 export interface TournamentsBindStructuresQuery extends PageQuery {

+ 2 - 0
src/api/system/business/tournamentsTemplate/types.ts

@@ -187,6 +187,7 @@ export interface TournamentsForm extends BaseEntity {
   categoryId?: number[];
   remark?: string;
   configId?: number;
+  isFace?: number;
 }
 
 export interface ItemsPrize {
@@ -250,6 +251,7 @@ export interface TournamentsQuery extends PageQuery {
   // 新增排序字段
   sortBy?: string; // 排序字段名,例如 "startTime"
   isAsc?: boolean; // 是否升序,true = 升序,false = 降序
+  isFace?: number;
 }
 
 export interface TournamentsBindStructuresQuery extends PageQuery {

+ 5 - 0
src/api/system/physical/tournaments/types.ts

@@ -1,3 +1,5 @@
+import { ItemsPrize } from '@/api/system/business/items/types';
+
 export interface TournamentsVO {
   id: string | number;
   name: string;
@@ -36,6 +38,7 @@ export interface TournamentsVO {
   tournamentType?: number;
   isShow: number;
   isOffline?: number; // 👈 新增字段
+  isFace: number;
 }
 
 export interface TournamentsForm extends BaseEntity {
@@ -86,6 +89,7 @@ export interface TournamentsForm extends BaseEntity {
   judgeId?: number[];
   isShow: number;
   isOffline?: number; // 👈 新增字段
+  isFace: number;
 }
 
 export interface TournamentsQuery extends PageQuery {
@@ -127,4 +131,5 @@ export interface TournamentsQuery extends PageQuery {
   isOffline?: number; // 👈 新增字段
   params?: any;
   leagueTournamentId?: string | number;
+  isFace: number;
 }

+ 7 - 0
src/views/system/business/tournaments/index.vue

@@ -608,6 +608,12 @@
             <el-button type="primary" @click="removeReward(index)" v-if="index !== 0 && dialog.mode !== 'view'">-</el-button>
           </div>
         </el-form-item>
+        <el-form-item label="是否扫脸" prop="isFace">
+          <el-select v-model="form.isFace" placeholder="请选择" style="width: 200px" :disabled="dialog.mode === 'view'">
+            <el-option label="是" :value="1" />
+            <el-option label="否" :value="0" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="赛事备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入赛事备注" :disabled="dialog.mode === 'view'" type="textarea" :rows="4" />
         </el-form-item>
@@ -1045,6 +1051,7 @@ const initFormData: TournamentsForm = {
   delayCardTime: 15,
   isSponsor: 1, // 添加赞助商标识,默认为否
   isDelay: 1,
+  isFace: 1,
   rebuyLimit: null,
   tagId: [], // 修改为数组形式以支持多选
   categoryId: []

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

@@ -452,6 +452,12 @@
             <el-button type="primary" @click="removeReward(index)" v-if="index !== 0 && dialog.mode !== 'view'">-</el-button>
           </div>
         </el-form-item>
+        <el-form-item label="是否扫脸" prop="isOffline">
+          <el-select v-model="form.isFace" placeholder="请选择" style="width: 200px" :disabled="dialog.mode === 'view'">
+            <el-option label="是" :value="1" />
+            <el-option label="否" :value="0" />
+          </el-select>
+        </el-form-item>
         <el-form-item label="赛事备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入赛事备注" :disabled="dialog.mode === 'view'" type="textarea" :rows="4" />
         </el-form-item>
@@ -804,6 +810,7 @@ const initFormData: TournamentsForm = {
   minPlayers: 5,
   isSponsor: 1, // 添加赞助商标识,默认为否
   isDelay: 1,
+  isFace: 1,
   rebuyLimit: null,
   tagId: [], // 修改为数组形式以支持多选
   categoryId: []

+ 3 - 2
src/views/system/physical/tournaments/index.vue

@@ -150,10 +150,11 @@
               <template #dropdown>
                 <el-dropdown-menu style="min-width: 100px; padding: 4px 0">
                   <el-dropdown-item @click="handleUpdate(scope.row)" v-hasPermi="['physical:tournaments:edit']">修改</el-dropdown-item>
-                   <el-dropdown-item
+                  <el-dropdown-item
                     @click="handleDelete(scope.row)"
                     v-hasPermi="['physical:tournaments:remove']"
-                    :disabled="!(scope.row.status === -1 || scope.row.status === 0)">
+                    :disabled="!(scope.row.status === -1 || scope.row.status === 0)"
+                  >
                     删除
                   </el-dropdown-item>
                   <el-dropdown-item @click="handleCopy(scope.row)" v-hasPermi="['business:tournaments:query']">复制</el-dropdown-item>