|
@@ -291,10 +291,15 @@
|
|
|
</el-dialog>-->
|
|
</el-dialog>-->
|
|
|
<el-dialog :title="dialog.title" v-model="dialog.visible" width="600px" append-to-body @close="cancel">
|
|
<el-dialog :title="dialog.title" v-model="dialog.visible" width="600px" append-to-body @close="cancel">
|
|
|
<el-form ref="tournamentsFormRef" :model="form" :rules="rules" label-width="120px">
|
|
<el-form ref="tournamentsFormRef" :model="form" :rules="rules" label-width="120px">
|
|
|
- <el-form-item label="比赛项目" prop="gameVariant">
|
|
|
|
|
|
|
+ <!-- <el-form-item label="比赛项目" prop="gameVariant">
|
|
|
<el-select aria-required="true" v-model="form.gameVariant" placeholder="请选择" :disabled="dialog.mode === 'view'">
|
|
<el-select aria-required="true" v-model="form.gameVariant" placeholder="请选择" :disabled="dialog.mode === 'view'">
|
|
|
<el-option v-for="dict in game_variant_type" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option>
|
|
<el-option v-for="dict in game_variant_type" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
|
|
+ </el-form-item>-->
|
|
|
|
|
+ <el-form-item label="比赛配置" prop="configId">
|
|
|
|
|
+ <el-select v-model="form.configId" placeholder="选项" :disabled="dialog.mode === 'view'">
|
|
|
|
|
+ <el-option v-for="item in configOptions" :key="item.id" :label="item.label" :value="item.id" />
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="比赛类型" prop="gameType">
|
|
<el-form-item label="比赛类型" prop="gameType">
|
|
|
<el-select aria-required="true" v-model="form.gameType" placeholder="请选择" :disabled="dialog.mode === 'view'">
|
|
<el-select aria-required="true" v-model="form.gameType" placeholder="请选择" :disabled="dialog.mode === 'view'">
|
|
@@ -440,9 +445,9 @@
|
|
|
:disabled="dialog.mode === 'view'"
|
|
:disabled="dialog.mode === 'view'"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="开赛最低人数" prop="minPlayers">
|
|
|
|
|
|
|
+ <!-- <el-form-item label="开赛最低人数" prop="minPlayers">
|
|
|
<el-input v-model="form.minPlayers" placeholder="请输入开赛最低人数" :disabled="dialog.mode === 'view'" />
|
|
<el-input v-model="form.minPlayers" placeholder="请输入开赛最低人数" :disabled="dialog.mode === 'view'" />
|
|
|
- </el-form-item>
|
|
|
|
|
|
|
+ </el-form-item>-->
|
|
|
<!-- 盲注表 -->
|
|
<!-- 盲注表 -->
|
|
|
<el-form-item label="盲注等级" prop="blindStructureId">
|
|
<el-form-item label="盲注等级" prop="blindStructureId">
|
|
|
<div style="display: flex; align-items: center">
|
|
<div style="display: flex; align-items: center">
|
|
@@ -546,12 +551,12 @@
|
|
|
<el-option label="否" :value="0"></el-option>
|
|
<el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="延迟卡时间" prop="delayCardTime" v-if="form.isDelay === 1">
|
|
|
|
|
|
|
+ <!-- <el-form-item label="延迟卡时间" prop="delayCardTime" v-if="form.isDelay === 1">
|
|
|
<el-input v-model="form.delayCardTime" placeholder="请输入延迟卡时间" :disabled="dialog.mode === 'view'" />
|
|
<el-input v-model="form.delayCardTime" placeholder="请输入延迟卡时间" :disabled="dialog.mode === 'view'" />
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="延迟卡数量" prop="delayCardNum" v-if="form.isDelay === 1">
|
|
|
|
|
|
|
+ </el-form-item>-->
|
|
|
|
|
+ <!-- <el-form-item label="延迟卡数量" prop="delayCardNum" v-if="form.isDelay === 1">
|
|
|
<el-input v-model="form.delayCardNum" placeholder="请输入延迟卡数量" :disabled="dialog.mode === 'view'" />
|
|
<el-input v-model="form.delayCardNum" placeholder="请输入延迟卡数量" :disabled="dialog.mode === 'view'" />
|
|
|
- </el-form-item>
|
|
|
|
|
|
|
+ </el-form-item>-->
|
|
|
<el-form-item label="重复买入" prop="rebuy">
|
|
<el-form-item label="重复买入" prop="rebuy">
|
|
|
<div style="display: flex; align-items: center; gap: 10px; width: 100%">
|
|
<div style="display: flex; align-items: center; gap: 10px; width: 100%">
|
|
|
<el-select v-model="form.rebuy" placeholder="请选择" :disabled="dialog.mode === 'view'" style="flex: 1">
|
|
<el-select v-model="form.rebuy" placeholder="请选择" :disabled="dialog.mode === 'view'" style="flex: 1">
|
|
@@ -579,7 +584,6 @@
|
|
|
<el-select v-model="form.itemsId" placeholder="请选择道具类型" :disabled="dialog.mode === 'view'" style="flex: 1">
|
|
<el-select v-model="form.itemsId" placeholder="请选择道具类型" :disabled="dialog.mode === 'view'" style="flex: 1">
|
|
|
<el-option v-for="item in itemOptions" :key="item.id" :label="item.label" :value="item.id" />
|
|
<el-option v-for="item in itemOptions" :key="item.id" :label="item.label" :value="item.id" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
-
|
|
|
|
|
<el-form-item prop="itemsNum" style="margin-bottom: 0; flex: 1">
|
|
<el-form-item prop="itemsNum" style="margin-bottom: 0; flex: 1">
|
|
|
<el-input v-model.number="form.itemsNum" placeholder="数量" :disabled="dialog.mode === 'view'" style="width: 100%" />
|
|
<el-input v-model.number="form.itemsNum" placeholder="数量" :disabled="dialog.mode === 'view'" style="width: 100%" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -787,6 +791,7 @@ import { selectItemsSelList } from '@/api/system/business/items';
|
|
|
import { selectBlindLevelsById } from '@/api/system/business/levels';
|
|
import { selectBlindLevelsById } from '@/api/system/business/levels';
|
|
|
import { selectBlingStructuresInfo } from '@/api/system/business/structures';
|
|
import { selectBlingStructuresInfo } from '@/api/system/business/structures';
|
|
|
import { listClaims, deleteClaim, auditSendReward } from '@/api/system/business/claims';
|
|
import { listClaims, deleteClaim, auditSendReward } from '@/api/system/business/claims';
|
|
|
|
|
+import { selectTournamentConfigSelList } from '@/api/system/business/tournamentConfig';
|
|
|
import { TournamentsVO, TournamentsQuery, TournamentsForm, TournamentsBindStructuresVO } from '@/api/system/business/tournaments/types';
|
|
import { TournamentsVO, TournamentsQuery, TournamentsForm, TournamentsBindStructuresVO } from '@/api/system/business/tournaments/types';
|
|
|
import { ref } from 'vue';
|
|
import { ref } from 'vue';
|
|
|
import LevelsIndex from '@/views/system/business/levels/index.vue';
|
|
import LevelsIndex from '@/views/system/business/levels/index.vue';
|
|
@@ -1066,6 +1071,7 @@ const data = reactive<PageData<TournamentsForm, TournamentsQuery>>({
|
|
|
id: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
|
id: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
|
|
name: [{ required: true, message: '赛事名称不能为空', trigger: 'blur' }],
|
|
name: [{ required: true, message: '赛事名称不能为空', trigger: 'blur' }],
|
|
|
startTime: [{ required: true, message: '比赛开始时间不能为空', trigger: 'blur' }],
|
|
startTime: [{ required: true, message: '比赛开始时间不能为空', trigger: 'blur' }],
|
|
|
|
|
+ configId: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
|
|
gameType: [{ required: true, message: '游戏类型不能为空', trigger: 'change' }],
|
|
gameType: [{ required: true, message: '游戏类型不能为空', trigger: 'change' }],
|
|
|
gameVariant: [{ required: true, message: '玩法类型不能为空', trigger: 'change' }],
|
|
gameVariant: [{ required: true, message: '玩法类型不能为空', trigger: 'change' }],
|
|
|
qualifierType: [{ required: true, message: '晋级条件类型不能为空', trigger: 'change' }],
|
|
qualifierType: [{ required: true, message: '晋级条件类型不能为空', trigger: 'change' }],
|
|
@@ -1537,6 +1543,7 @@ onMounted(() => {
|
|
|
|
|
|
|
|
loadTagOptions();
|
|
loadTagOptions();
|
|
|
loadCategoryOptions();
|
|
loadCategoryOptions();
|
|
|
|
|
+ loadConfigOptions();
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
async function getAssignList() {
|
|
async function getAssignList() {
|
|
@@ -2153,6 +2160,29 @@ const getGameVariantText = (value: string | number | null | undefined): string =
|
|
|
return '未知';
|
|
return '未知';
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
+// 下拉选项数据 selectBlingStructuresInfo
|
|
|
|
|
+const configOptions = ref<{ id: number; label: string }[]>([]);
|
|
|
|
|
+
|
|
|
|
|
+// 加载报名条件选项
|
|
|
|
|
+const loadConfigOptions = async () => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const res = await selectTournamentConfigSelList();
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ // 类型断言
|
|
|
|
|
+ const data = res.data as unknown as { id: number; name: string }[];
|
|
|
|
|
+ // 过滤掉 id === 2 的项,并映射为 { id, label }
|
|
|
|
|
+ configOptions.value = data.map((item) => ({
|
|
|
|
|
+ id: item.id,
|
|
|
|
|
+ label: item.name
|
|
|
|
|
+ }));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ElMessage.error('加载失败:' + res.msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('请求出错:', error);
|
|
|
|
|
+ ElMessage.error('请求失败,请检查网络');
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
</script>
|
|
</script>
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
.more-rewards {
|
|
.more-rewards {
|