From 39c848c1cc8277ba199761def399fb0270fc43b1 Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Wed, 20 May 2026 12:43:30 +0800 Subject: [PATCH] f --- apps/web-antd/src/api/agent/agent.ts | 22 +++ apps/web-antd/src/utils/agent.ts | 1 + .../src/views/agent/agent-list/list.vue | 66 ++++---- .../agent-list/modules/downgrade-modal.vue | 146 ++++++++++++++++++ .../src/views/agent/agent-upgrade/data.ts | 1 + 5 files changed, 208 insertions(+), 28 deletions(-) create mode 100644 apps/web-antd/src/views/agent/agent-list/modules/downgrade-modal.vue diff --git a/apps/web-antd/src/api/agent/agent.ts b/apps/web-antd/src/api/agent/agent.ts index d4b25f2..03e7b5c 100644 --- a/apps/web-antd/src/api/agent/agent.ts +++ b/apps/web-antd/src/api/agent/agent.ts @@ -50,6 +50,17 @@ export namespace AgentApi { success: boolean; } + /** 代理等级降级 */ + export interface DowngradeAgentParams { + agent_id: string; + to_level: number; + remark?: string; + } + + export interface DowngradeAgentResp { + success: boolean; + } + export interface AgentLinkListItem { agent_id: number; product_id: number; @@ -597,8 +608,19 @@ async function updateAgentMobile(params: AgentApi.UpdateAgentMobileParams) { ); } +/** + * 代理等级降级(管理端) + */ +async function downgradeAgent(params: AgentApi.DowngradeAgentParams) { + return requestClient.post( + '/agent/level/downgrade', + params, + ); +} + export { auditWithdrawal, + downgradeAgent, generateDiamondInviteCode, getAgentCommissionList, getAgentConfig, diff --git a/apps/web-antd/src/utils/agent.ts b/apps/web-antd/src/utils/agent.ts index 7997ff4..2170763 100644 --- a/apps/web-antd/src/utils/agent.ts +++ b/apps/web-antd/src/utils/agent.ts @@ -29,6 +29,7 @@ export function getUpgradeTypeName(type: number): string { const map: Record = { 1: '自主付费', 2: '钻石升级下级', + 4: '管理端降级', }; return map[type] || '未知'; } diff --git a/apps/web-antd/src/views/agent/agent-list/list.vue b/apps/web-antd/src/views/agent/agent-list/list.vue index 1b50c28..3a214dc 100644 --- a/apps/web-antd/src/views/agent/agent-list/list.vue +++ b/apps/web-antd/src/views/agent/agent-list/list.vue @@ -23,6 +23,7 @@ import LinkModal from './modules/link-modal.vue'; import MobileEditModal from './modules/mobile-edit-modal.vue'; import OrderModal from './modules/order-modal.vue'; import RebateModal from './modules/rebate-modal.vue'; +import DowngradeModal from './modules/downgrade-modal.vue'; import UpgradeModal from './modules/upgrade-modal.vue'; import WithdrawalModal from './modules/withdrawal-modal.vue'; @@ -77,6 +78,12 @@ const [MobileEditModalComponent, mobileEditModalApi] = useVbenModal({ destroyOnClose: true, }); +// 代理降级弹窗 +const [DowngradeModalComponent, downgradeModalApi] = useVbenModal({ + connectedComponent: DowngradeModal, + destroyOnClose: true, +}); + // 表格配置 const [Grid, gridApi] = useVbenVxeGrid({ formOptions: { @@ -147,33 +154,23 @@ const [Grid, gridApi] = useVbenVxeGrid({ } as VxeTableGridOptions, }); -// 更多操作菜单项 -const moreMenuItems = [ - { - key: 'edit-mobile', - label: '修改手机号', - }, - { - key: 'links', - label: '推广链接', - }, - { - key: 'rebate', - label: '返佣记录', - }, - { - key: 'upgrade', - label: '升级记录', - }, - { - key: 'order', - label: '订单记录', - }, - { - key: 'withdrawal', - label: '提现记录', - }, -]; +// 更多操作菜单项(降级仅黄金代理展示) +const baseMoreMenuItems = [ + { key: 'edit-mobile', label: '修改手机号' }, + { key: 'links', label: '推广链接' }, + { key: 'rebate', label: '返佣记录' }, + { key: 'upgrade', label: '升级记录' }, + { key: 'order', label: '订单记录' }, + { key: 'withdrawal', label: '提现记录' }, +] as const; + +function getMoreMenuItems(row: AgentApi.AgentListItem) { + const items = [...baseMoreMenuItems]; + if (row.level === 2) { + items.push({ key: 'downgrade', label: '降级为普通代理' }); + } + return items; +} // 团队首领信息 const teamLeaderId = computed(() => route.query.team_leader_id); @@ -236,6 +233,10 @@ function onActionClick( onViewWithdrawal(e.row); break; } + case 'downgrade': { + onDowngrade(e.row); + break; + } } } @@ -249,6 +250,11 @@ function onEditMobile(row: AgentApi.AgentListItem) { mobileEditModalApi.setData(row).open(); } +// 代理降级 +function onDowngrade(row: AgentApi.AgentListItem) { + downgradeModalApi.setData(row).open(); +} + // 查看推广链接 function onViewLinks(row: AgentApi.AgentListItem) { linkModalApi.setData({ agentId: row.id }).open(); @@ -290,6 +296,7 @@ function onRefresh() { + @@ -322,7 +329,10 @@ function onRefresh() { diff --git a/apps/web-antd/src/views/agent/agent-list/modules/downgrade-modal.vue b/apps/web-antd/src/views/agent/agent-list/modules/downgrade-modal.vue new file mode 100644 index 0000000..f498e76 --- /dev/null +++ b/apps/web-antd/src/views/agent/agent-list/modules/downgrade-modal.vue @@ -0,0 +1,146 @@ + + +