Sfoglia il codice sorgente

refactor(gameEvent): 移除未使用的画布比例选择器和排行榜文章编辑功能

移除了 bibViewerDialog 组件中的画布比例选择器相关代码,
包括对应的表单项和坐标转换函数 convertCoordinatesWithScale。

同时移除了 gameEvent 主页面中被注释掉的排行榜对话框和
文章编写对话框的相关组件声明和模板代码,清理了无用的功能模块。
zhou 2 settimane fa
parent
commit
ef37635582

+ 0 - 36
src/views/system/gameEvent/components/bibViewerDialog.vue

@@ -181,17 +181,6 @@
           </el-col>
         </el-row>
         <el-row :gutter="20">
-          <!-- <el-col :span="12">
-            <el-form-item label="画布比例">
-              <el-select v-model="canvasScale" placeholder="选择画布比例" style="width: 200px">
-                <el-option label="1/4 (四分之一)" :value="0.25"></el-option>
-                <el-option label="1/3 (三分之一)" :value="0.33"></el-option>
-                <el-option label="1/2 (二分之一)" :value="0.5"></el-option>
-                <el-option label="3/4 (四分之三)" :value="0.75"></el-option>
-                <el-option label="1/1 (原始大小)" :value="1"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col> -->
           <el-col :span="12">
           </el-col>
         </el-row>
@@ -598,31 +587,6 @@ const stopDrag = () => {
   document.removeEventListener('mouseup', stopDrag);
 };
 
-// 坐标转换函数:根据背景图片实际尺寸调整坐标
-const convertCoordinatesWithScale = (x: number, y: number): { x: number; y: number } => {
-  // 获取预览容器尺寸
-  const container = previewContainer.value;
-  const previewWidth = container?.clientWidth || container?.offsetWidth || PREVIEW_WIDTH;
-  const previewHeight = container?.clientHeight || container?.offsetHeight || PREVIEW_HEIGHT;
-
-  // 使用固定的实际输出尺寸(2948×2079px)
-  const actualWidth = ACTUAL_WIDTH;
-  const actualHeight = ACTUAL_HEIGHT;
-
-  // 计算实际比例
-  const scaleX = actualWidth / previewWidth;
-  const scaleY = actualHeight / previewHeight;
-
-  // 转换坐标并翻转Y轴
-  const adjustedX = x * scaleX;
-  const adjustedY = (previewHeight - y) * scaleY; // 翻转Y轴:previewHeight - y
-
-  return {
-    x: adjustedX,
-    y: adjustedY
-  };
-};
-
 // 获取背景图片实际尺寸的函数
 const getImageDimensions = (file: File): Promise<{ width: number; height: number }> => {
   return new Promise((resolve) => {

+ 0 - 158
src/views/system/gameEvent/index.vue

@@ -181,164 +181,6 @@
     <RefereeForm ref="refereeFormRef" />
     <!-- 注册 BibViewerDialog 组件 -->
     <BibViewerDialog ref="bibViewerDialogRef" />
-    <!-- 排行榜对话框 -->
-    <!-- <el-dialog :title="`赛事 ${currentEventId} 排行榜`" v-model="rankingBoardVisible" width="800px" append-to-body>
-      <RankingBoard :eventId="currentEventId" v-if="rankingBoardVisible" />
-    </el-dialog> -->
-    <!-- 文章编写对话框 -->
-    <!-- <el-dialog v-model="articleDialog.visible" :title="articleDialog.title" width="1200px" append-to-body>
-      <el-tabs v-model="activeTab" @tab-click="handleTabClick">
-        <el-tab-pane label="竞赛流程" name="competition-process">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.competitionProcess.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.competitionProcess.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.competitionProcess.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="竞赛项目" name="competition-items">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.competitionItems.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.competitionItems.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.competitionItems.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="活动议程" name="activity-agenda">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.activityAgenda.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.activityAgenda.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.activityAgenda.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="项目介绍" name="project-introduction">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.projectIntroduction.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.projectIntroduction.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.projectIntroduction.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="竞赛流程" name="competition-flow">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.competitionFlow.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.competitionFlow.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.competitionFlow.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="赛事分组" name="event-grouping">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.eventGrouping.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.eventGrouping.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.eventGrouping.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="运动员号码簿" name="athlete-handbook">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.athleteHandbook.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.athleteHandbook.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.athleteHandbook.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="项目场地" name="project-venue">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.projectVenue.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.projectVenue.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.projectVenue.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="交通指示" name="traffic-guide">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.trafficGuide.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.trafficGuide.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.trafficGuide.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="快捷报名" name="quick-registration">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.quickRegistration.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.quickRegistration.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.quickRegistration.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="报名咨询" name="registration-consultation">
-          <div class="article-form">
-            <el-form-item label="标题">
-              <el-input v-model="articleData.registrationConsultation.title" placeholder="请输入标题" />
-            </el-form-item>
-            <el-form-item label="内容">
-              <Editor v-model="articleData.registrationConsultation.content" :min-height="300" />
-            </el-form-item>
-            <el-form-item label="备注">
-              <el-input v-model="articleData.registrationConsultation.remark" placeholder="请输入备注" type="textarea" :rows="3" />
-            </el-form-item>
-          </div>
-        </el-tab-pane>
-      </el-tabs>
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button @click="handleCloseArticleDialog">取 消</el-button>
-          <el-button type="primary" @click="handleSaveArticle">保 存</el-button>
-        </div>
-      </template>
-    </el-dialog> -->
 
     <!-- 用户导入对话框 -->
     <el-dialog v-model="upload.open" :title="upload.title" width="400px" append-to-body>