From 4d10deef8634b29bd3fec9f6ea4f950a5f5a5916 Mon Sep 17 00:00:00 2001 From: 2256907009 <2256907009@qq.com> Date: Wed, 31 Dec 2025 19:07:19 +0800 Subject: [PATCH] =?UTF-8?q?feate:=E5=AF=B9=E6=8E=A5=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=98=9F=E4=BC=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/groupBuy.js | 26 +++++ src/views/activity/GroupBuyActivity.vue | 54 ++++++++++- src/views/activity/GroupBuyType.vue | 33 ++----- 默认模块.openapi.json | 121 ++++++++++++++++++++++++ 4 files changed, 207 insertions(+), 27 deletions(-) diff --git a/src/api/groupBuy.js b/src/api/groupBuy.js index b9e789a..74959f4 100644 --- a/src/api/groupBuy.js +++ b/src/api/groupBuy.js @@ -174,3 +174,29 @@ export const exportGroupBuyIdcInfo = () => { export const setGroupBuyOrder = (groupBuyId) => { return request.post("/api/v1/admin/activity/group_buy/set_order", { group_buy_id: groupBuyId }) } + +/** + * 删除指定队伍 + * @param {string} groupBuyId - 队伍ID + * @returns {Promise} 返回删除结果 + */ +export const removeGroupBuy = (groupBuyId) => { + return request.delete("/api/v1/admin/activity/group_buy/remove", { params: { group_buy_id: groupBuyId } }) +} + +/** + * 清除所有队伍 + * @returns {Promise} 返回清除结果 + */ +export const clearAllGroupBuy = () => { + return request.delete("/api/v1/admin/activity/group_buy/clear") +} + +/** + * 清除指定用户的所有队伍 + * @param {string} userId - 用户ID + * @returns {Promise} 返回清除结果 + */ +export const clearUserGroupBuy = (userId) => { + return request.delete("/api/v1/admin/activity/group_buy/user_clear", { params: { user_id: userId } }) +} diff --git a/src/views/activity/GroupBuyActivity.vue b/src/views/activity/GroupBuyActivity.vue index d0a502d..fbb4b0d 100644 --- a/src/views/activity/GroupBuyActivity.vue +++ b/src/views/activity/GroupBuyActivity.vue @@ -11,6 +11,9 @@ 刷新列表 + + 清除所有队伍 + @@ -61,6 +64,13 @@ > 查看详情 + + 删除 + @@ -138,7 +148,7 @@ import { exportIdcInfo, setOrder } from '@/api/admin/activity' -import { getGroupBuyTypeList,getGroupBuyTypeTags } from '@/api/groupBuy' +import { getGroupBuyTypeList, getGroupBuyTypeTags, removeGroupBuy, clearAllGroupBuy, clearUserGroupBuy } from '@/api/groupBuy' // 数据状态 const loading = ref(false) @@ -451,6 +461,48 @@ const handleExport = async () => { onMounted(() => { fetchGroupList() }) + +// 删除指定队伍 +const handleRemoveGroup = async (row) => { + try { + await ElMessageBox.confirm('确定要删除该队伍吗?', '确认删除', { type: 'warning' }) + const res = await removeGroupBuy(row.id) + if (res.code === 200) { + ElMessage.success('删除成功') + fetchGroupList() + } else { + ElMessage.error(res.message || '删除失败') + } + } catch { /* 取消 */ } +} + +// 清除所有队伍 +const handleClearAll = async () => { + try { + await ElMessageBox.confirm('确定要清除所有队伍吗?此操作不可恢复!', '危险操作', { type: 'error', confirmButtonText: '确定清除' }) + const res = await clearAllGroupBuy() + if (res.code === 200) { + ElMessage.success('已清除所有队伍') + fetchGroupList() + } else { + ElMessage.error(res.message || '清除失败') + } + } catch { /* 取消 */ } +} + +// 清除指定用户的所有队伍 +const handleClearUserGroups = async (userId) => { + try { + await ElMessageBox.confirm(`确定要清除用户 ${userId} 的所有队伍吗?`, '确认操作', { type: 'warning' }) + const res = await clearUserGroupBuy(userId) + if (res.code === 200) { + ElMessage.success('清除成功') + fetchGroupList() + } else { + ElMessage.error(res.message || '清除失败') + } + } catch { /* 取消 */ } +}