Эх сурвалжийг харах

feat(gameEvent): 添加赛事名称到号码牌生成功能

- 在号码牌生成接口中新增赛事名称参数
- 更新号码牌预览界面以显示赛事名称
- 在号码牌生成表单中添加赛事名称输入框
- 导出成绩和报名表按钮恢复可见性
- 优化号码牌生成逻辑以包含赛事名称字段
zhou 2 долоо хоног өмнө
parent
commit
32602b03c7

+ 4 - 0
src/api/system/gameEvent/index.ts

@@ -174,6 +174,9 @@ export const generateBib = (bgImage: File, logo: File | null, bibParam: Generate
   if (bibParam.fontColor !== undefined) {
     formData.append('fontColor', bibParam.fontColor.toString());
   }
+  if (bibParam.eventName !== undefined) {
+    formData.append('eventName', bibParam.eventName);
+  }
   console.log('formData', [...formData.entries()]);
   return request({
     url: '/system/number/generateBib',
@@ -202,4 +205,5 @@ export interface GenerateBibBo {
   fontName?: string; // 字体名称,如 "simhei"
   fontSize?: number; // 字体大小
   fontColor?: number; // 字体颜色,如 0xFF0000 (红色)
+  eventName?: string;// 赛事名称
 }

+ 10 - 3
src/views/system/gameEvent/components/bibViewerDialog.vue

@@ -37,6 +37,9 @@
                 <el-color-picker v-model="bibForm.fontColor" @change="handleFontColorChange"></el-color-picker>
               </div>
             </el-form-item>
+            <el-form-item label="赛事名称">
+              <el-input v-model="bibForm.eventName" placeholder="请输入赛事名称" maxlength="50" show-word-limit />
+            </el-form-item>
           </el-form>
         </el-col>
 
@@ -97,6 +100,7 @@
 
               <!-- 赛事名称预览 -->
               <div
+                v-if="bibForm.eventName"
                 class="event-name-preview"
                 :style="{
                   fontSize: Math.min(28, Math.max(18, bibForm.fontSize * 0.7)) + 'px',
@@ -104,7 +108,7 @@
                   fontFamily: '黑体'
                 }"
               >
-                赛事名称
+                {{ bibForm.eventName }}
               </div>
 
               <!-- 示例数字 1234 -->
@@ -169,7 +173,8 @@ const bibForm = reactive({
   fontName: 'simhei',
   fontSize: 36,
   fontColor: '#000000',
-  fontColorHex: '#000000'
+  fontColorHex: '#000000',
+  eventName: '',
 });
 
 const bgImageFile = ref<File | null>(null);
@@ -216,6 +221,7 @@ const resetBibForm = () => {
   bibForm.fontSize = 36;
   bibForm.fontColor = '#000000';
   bibForm.fontColorHex = '#000000';
+  bibForm.eventName = '';
   bgImageFile.value = null;
   logoImageFile.value = null;
   bgImageUrl.value = '';
@@ -470,7 +476,8 @@ const handleGenerateBibFile = async () => {
       qRCodeY: qrCoords.y,
       fontName: bibForm.fontName || 'simhei',
       fontSize: Math.round((bibForm.fontSize || 36) * 0.75), // 字体大小转换为PDF点并四舍五入为整数
-      fontColor: parseInt((bibForm.fontColor || '#000000').replace('#', ''), 16)
+      fontColor: parseInt((bibForm.fontColor || '#000000').replace('#', ''), 16),
+      eventName: bibForm.eventName || '',
     };
 
     // 显示进度提示

+ 3 - 3
src/views/system/gameEvent/index.vue

@@ -46,9 +46,9 @@
           <el-col :span="1.5">
             <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['system:gameEvent:remove']">删除</el-button>
           </el-col>
-          <!-- <el-col :span="1.5">
+          <el-col :span="1.5">
             <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['system:gameEvent:export']">导出</el-button>
-          </el-col> -->
+          </el-col>
           <!-- 新增的操作按钮,基于默认赛事 -->
           <el-col :span="1.5">
             <el-button type="warning" plain icon="Download" @click="handleDownloadTemplateDefault" v-hasPermi="['system:gameEvent:download']"
@@ -57,7 +57,7 @@
           </el-col>
           <el-col :span="1.5">
             <el-button type="info" plain icon="FolderOpened" @click="handleImportRegistrationDefault" v-hasPermi="['system:gameEvent:import']"
-              >导入报名
+              >导入报名
             </el-button>
           </el-col>
           <el-col :span="1.5">

+ 2 - 2
src/views/system/gameScore/index.vue

@@ -40,9 +40,9 @@
               >排行榜
             </el-button>
           </el-col>
-          <!-- <el-col :span="1.5">
+          <el-col :span="1.5">
             <el-button type="primary" @click="exportScoresNames">导出成绩(全部)</el-button>
-          </el-col> -->
+          </el-col>
           <!-- <el-col :span="1.5">
             <el-button type="warning" @click="openBonusDialog" :loading="bonusLoading">
               <el-icon><Edit /></el-icon> 加分