|
|
@@ -148,6 +148,9 @@
|
|
|
<el-tooltip content="删除" placement="top">
|
|
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
</el-tooltip>
|
|
|
+ <el-tooltip content="生成" placement="top">
|
|
|
+ <el-button link type="primary" @click="generateTournamentByTemplate2(scope.row)" icon="View">生成</el-button>
|
|
|
+ </el-tooltip>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -519,6 +522,26 @@
|
|
|
<el-dialog v-model="dialogVisible2" title="图片预览" width="50%">
|
|
|
<img :src="previewSrc2 || iconPreviewUrl2 || competitionBg" alt="预览图片" style="max-width: 100%; max-height: 80vh" />
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <!-- 生成赛事对话框 -->
|
|
|
+ <el-dialog :title="generateDialog.title" v-model="generateDialog.visible" width="400px" append-to-body>
|
|
|
+ <el-form ref="generateFormRef" :model="generateForm" :rules="generateRules" label-width="80px">
|
|
|
+ <el-form-item label="开始时间" prop="beginTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="generateForm.beginTime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择开始时间"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitGenerateForm">生成</el-button>
|
|
|
+ <el-button @click="cancelGenerate">取消</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -531,7 +554,8 @@ import {
|
|
|
updateTournaments,
|
|
|
getSelectTournamentBlindStructuresList,
|
|
|
assignTournamentBlindStructures,
|
|
|
- uploadTournament
|
|
|
+ uploadTournament,
|
|
|
+ generateTournamentByTemplate
|
|
|
} from '@/api/system/business/tournamentsTemplate';
|
|
|
import { selectItemsSelList } from '@/api/system/business/items';
|
|
|
import { selectBlindLevelsById } from '@/api/system/business/levels';
|
|
|
@@ -1550,6 +1574,51 @@ const getGameVariantText = (value: string | number | null | undefined): string =
|
|
|
return '未知';
|
|
|
}
|
|
|
};
|
|
|
+// 生成对话框相关状态
|
|
|
+const generateDialog = reactive({
|
|
|
+ visible: false,
|
|
|
+ title: '生成赛事'
|
|
|
+});
|
|
|
+
|
|
|
+const generateForm = reactive({
|
|
|
+ templateId: undefined as number | undefined,
|
|
|
+ beginTime: ''
|
|
|
+});
|
|
|
+
|
|
|
+const generateFormRef = ref<ElFormInstance>();
|
|
|
+const generateRules = {
|
|
|
+ beginTime: [{ required: true, message: '请选择开始时间', trigger: 'change' }]
|
|
|
+};
|
|
|
+// 新增:处理生成按钮点击
|
|
|
+const generateTournamentByTemplate2 = (row: TournamentsVO) => {
|
|
|
+ debugger;
|
|
|
+ generateForm.templateId = row.id as number;
|
|
|
+ generateDialog.visible = true;
|
|
|
+ generateDialog.title = '生成赛事';
|
|
|
+};
|
|
|
+// 提交生成表单
|
|
|
+const submitGenerateForm = () => {
|
|
|
+ generateFormRef.value?.validate(async (valid: boolean) => {
|
|
|
+ if (valid) {
|
|
|
+ try {
|
|
|
+ // 调试:打印 templateId 值
|
|
|
+ console.log('templateId:', generateForm.templateId);
|
|
|
+ console.log('beginTime:', generateForm.beginTime);
|
|
|
+ debugger;
|
|
|
+ // 调用后端接口
|
|
|
+ await generateTournamentByTemplate({
|
|
|
+ templateId: generateForm.templateId,
|
|
|
+ beginTime: generateForm.beginTime
|
|
|
+ });
|
|
|
+ proxy?.$modal.msgSuccess('生成成功');
|
|
|
+ generateDialog.visible = false;
|
|
|
+ await getList();
|
|
|
+ } catch (err) {
|
|
|
+ proxy?.$modal.msgError('生成失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+};
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
.more-rewards {
|