|
|
@@ -68,7 +68,7 @@
|
|
|
@sort-change="handleSortChange"
|
|
|
:default-sort="{ prop: 'startTime', order: sortData.order }"
|
|
|
>
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <!-- <el-table-column type="selection" width="55" align="center" />-->
|
|
|
<el-table-column label="比赛ID" align="center" prop="id" width="70" />
|
|
|
<el-table-column label="比赛名" align="center" prop="name" />
|
|
|
<el-table-column label="比赛Logo" align="center" width="90">
|
|
|
@@ -119,6 +119,17 @@
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column label="赛事状态" align="center" prop="statusText" />
|
|
|
+ <el-table-column label="是否删除" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <span
|
|
|
+ :style="{
|
|
|
+ color: [null, undefined, '', ' '].includes(scope.row.isDelete) || scope.row.isDelete === false ? '' : 'red'
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ {{ [null, undefined, '', ' '].includes(scope.row.isDelete) || scope.row.isDelete === false ? '未删除' : '已删除' }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="320">
|
|
|
<template #default="scope">
|
|
|
<div class="operation-buttons-vertical">
|
|
|
@@ -126,6 +137,11 @@
|
|
|
<el-button link type="primary" icon="View" @click="openAuditDialog(scope.row.id, 'view')">查看</el-button>
|
|
|
</el-tooltip>
|
|
|
|
|
|
+ <el-tooltip content="删除" v-if="scope.row.status === 0 && scope.row.isDelete != true" placement="top">
|
|
|
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:tournaments:remove']"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </el-tooltip>
|
|
|
<el-tooltip content="编辑" v-if="scope.row.status === 0" placement="top" v-hasPermi="['business:tournaments:edit']">
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row, 'edit')">编辑</el-button>
|
|
|
</el-tooltip>
|
|
|
@@ -141,6 +157,10 @@
|
|
|
<el-tooltip content="领奖审核" placement="top" v-hasPermi="['business:tournaments:audit']">
|
|
|
<el-button link type="primary" icon="DocumentChecked" @click="openAuditDialog(scope.row.id, 'audit')">领奖审核</el-button>
|
|
|
</el-tooltip>
|
|
|
+
|
|
|
+ <el-tooltip content="关闭" v-if="scope.row.status === 1" placement="top" v-hasPermi="['business:tournaments:closeSendTournament']">
|
|
|
+ <el-button link type="primary" icon="Close" @click="closeSendTournamentOperate(scope.row)">关闭</el-button>
|
|
|
+ </el-tooltip>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -420,7 +440,6 @@
|
|
|
<div v-for="(prize, index) in scope.row.rewardVoList" :key="index">{{ prize.itemName }} {{ prize.quantity }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
-
|
|
|
<el-table-column prop="claimedText" label="状态" align="center"></el-table-column>
|
|
|
<el-table-column label="操作" align="center" width="350" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
@@ -473,11 +492,13 @@ import {
|
|
|
listTournaments,
|
|
|
getTournaments,
|
|
|
delTournaments,
|
|
|
+ deleteCheckTournament,
|
|
|
addTournaments,
|
|
|
updateTournaments,
|
|
|
getSelectTournamentBlindStructuresList,
|
|
|
assignTournamentBlindStructures,
|
|
|
- uploadTournament
|
|
|
+ uploadTournament,
|
|
|
+ closeSendTournament
|
|
|
} from '@/api/system/business/tournaments';
|
|
|
import { selectItemsSelList } from '@/api/system/business/items';
|
|
|
import { selectBlindLevelsById } from '@/api/system/business/levels';
|
|
|
@@ -884,12 +905,44 @@ const submitForm = () => {
|
|
|
/** 删除按钮操作 */
|
|
|
const handleDelete = async (row?: TournamentsVO) => {
|
|
|
const _ids = row?.id || ids.value;
|
|
|
- await proxy?.$modal.confirm('是否确认删除【赛事信息】编号为"' + _ids + '"的数据项?').finally(() => (loading.value = false));
|
|
|
- await delTournaments(_ids);
|
|
|
+ await proxy?.$modal.confirm('是否确认删除比赛ID为"' + _ids + '"的数据项?').finally(() => (loading.value = false));
|
|
|
+ await deleteCheckTournament(_ids);
|
|
|
proxy?.$modal.msgSuccess('删除成功');
|
|
|
await getList();
|
|
|
};
|
|
|
|
|
|
+/** 删除按钮操作 */
|
|
|
+const closeSendTournamentOperate = async (row?: TournamentsVO) => {
|
|
|
+ // 1. 获取要关闭的 ID 列表
|
|
|
+ const _ids = row ? [row.id] : ids.value; // 始终为 number[]
|
|
|
+
|
|
|
+ if (!_ids || _ids.length === 0) {
|
|
|
+ proxy?.$modal.msgWarning('请至少选择一条记录');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 确认操作
|
|
|
+ try {
|
|
|
+ await proxy?.$modal.confirm(`是否确认关闭比赛ID为 "${_ids.join(', ')}" 的比赛?`);
|
|
|
+
|
|
|
+ // 3. 批量关闭(假设 closeSendTournament 支持传数组)
|
|
|
+ await closeSendTournament(_ids); // 推荐:API 支持批量
|
|
|
+
|
|
|
+ // 如果 API 只支持单个,则用循环:
|
|
|
+ // for (const id of _ids) {
|
|
|
+ // await closeSendTournament(id);
|
|
|
+ // }
|
|
|
+
|
|
|
+ proxy?.$modal.msgSuccess('操作成功');
|
|
|
+ await getList();
|
|
|
+ } catch (error) {
|
|
|
+ // 用户取消或请求失败
|
|
|
+ console.log('取消操作或操作失败');
|
|
|
+ } finally {
|
|
|
+ loading.value = false;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
/** 导出按钮操作 */
|
|
|
const handleExport = () => {
|
|
|
proxy?.download(
|