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 { /* 取消 */ }
+}