Explorar o código

feat(gameEventGroup): 新增道数显示模式功能

- 在GameEventGroup类型定义中添加trackDisplayMode字段,
支持两种显示模式:0为"第N道",1为"序号N"

- 在详情页面实现动态显示道数或序号,根据trackDisplayMode值切换显示方式

- 在表单页面优化道数输入项,添加标签动态切换功能,
点击箭头图标可切换显示模式,并设置默认值为'0'
zhou hai 1 mes
pai
achega
c8225ab445

+ 8 - 0
src/api/system/gameEventGroup/types.ts

@@ -84,6 +84,10 @@ export interface GameEventGroupVO {
    * 每组用时
    */
   duration: number;
+  /**
+   * 道数显示模式(0第N道 1序号N)
+   */
+  trackDisplayMode: string;
 
 }
 
@@ -177,6 +181,10 @@ export interface GameEventGroupForm extends BaseEntity {
    * 每组用时
    */
   duration?: number;
+  /**
+   * 道数显示模式(0第N道 1序号N)
+   */
+  trackDisplayMode?: string;
 }
 
 export interface GameEventGroupQuery extends PageQuery {

+ 6 - 1
src/views/system/gameEventGroup/detail.vue

@@ -43,7 +43,12 @@
                 :key="track" 
                 class="border border-gray-300 px-4 py-2 text-center font-medium"
               >
-                第{{ track }}道
+                <template v-if="groupInfo.trackDisplayMode === '1'">
+                  {{ track }}
+                </template>
+                <template v-else>
+                  第{{ track }}道
+                </template>
               </th>
             </tr>
           </thead>

+ 15 - 3
src/views/system/gameEventGroup/index.vue

@@ -191,8 +191,19 @@
 
         <el-row :gutter="20">
           <el-col :span="12">
-            <el-form-item label="道数" prop="trackNum">
-              <el-input-number v-model="form.trackNum" :min="1" placeholder="请输入道数" style="width: 100%" />
+            <el-form-item prop="trackNum">
+              <template #label>
+                <span style="display: inline-flex; align-items: center;">
+                  <span>{{ form.trackDisplayMode === '1' ? '序号' : '道数' }}</span>
+                  <el-icon 
+                    style="margin-left: 4px; cursor: pointer; color: #409eff;" 
+                    @click="form.trackDisplayMode = form.trackDisplayMode === '1' ? '0' : '1'"
+                  >
+                    <ArrowDown />
+                  </el-icon>
+                </span>
+              </template>
+              <el-input-number v-model="form.trackNum" :min="1" placeholder="请输入数值" style="width: 100%" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -334,7 +345,8 @@ const initFormData: GameEventGroupForm = {
   endTime: undefined,
   trackNum: undefined,
   fieldNum: undefined,
-  duration: undefined
+  duration: undefined,
+  trackDisplayMode: '0'
 };
 
 const data = reactive<PageData<GameEventGroupForm, GameEventGroupQuery>>({