diff --git a/apps/web-antd/src/api/agent/agent.ts b/apps/web-antd/src/api/agent/agent.ts index 76e6a6a..57e67c9 100644 --- a/apps/web-antd/src/api/agent/agent.ts +++ b/apps/web-antd/src/api/agent/agent.ts @@ -563,6 +563,16 @@ async function auditWithdrawal(params: AgentApi.AuditWithdrawalParams) { ); } +/** + * 平台升级代理等级(免费升级,遵守代理系统逻辑) + */ +async function upgradeAgent(params: { + agent_id: string; + to_level: number; // 2=黄金,3=钻石 +}) { + return requestClient.post<{ success: boolean }>('/agent/upgrade', params); +} + /** * 获取代理奖励列表 */ @@ -591,4 +601,5 @@ export { getInviteCodeList, updateAgentConfig, updateAgentProductionConfig, + upgradeAgent, }; 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 2739809..c897957 100644 --- a/apps/web-antd/src/views/agent/agent-list/list.vue +++ b/apps/web-antd/src/views/agent/agent-list/list.vue @@ -22,6 +22,7 @@ import Form from './modules/form.vue'; import LinkModal from './modules/link-modal.vue'; import OrderModal from './modules/order-modal.vue'; import RebateModal from './modules/rebate-modal.vue'; +import PlatformUpgradeModal from './modules/platform-upgrade-modal.vue'; import UpgradeModal from './modules/upgrade-modal.vue'; import WithdrawalModal from './modules/withdrawal-modal.vue'; @@ -58,6 +59,12 @@ const [UpgradeModalComponent, upgradeModalApi] = useVbenModal({ destroyOnClose: true, }); +// 平台升级弹窗 +const [PlatformUpgradeModalComponent, platformUpgradeModalApi] = useVbenModal({ + connectedComponent: PlatformUpgradeModal, + destroyOnClose: true, +}); + // 订单记录弹窗 const [OrderModalComponent, orderModalApi] = useVbenModal({ connectedComponent: OrderModal, @@ -142,6 +149,10 @@ const [Grid, gridApi] = useVbenVxeGrid({ // 更多操作菜单项 const moreMenuItems = [ + { + key: 'platform-upgrade', + label: '平台升级', + }, { key: 'links', label: '推广链接', @@ -192,6 +203,10 @@ function onActionClick( onEdit(e.row); break; } + case 'platform-upgrade': { + onPlatformUpgrade(e.row); + break; + } case 'links': { onViewLinks(e.row); break; @@ -244,6 +259,13 @@ function onViewRebate(row: AgentApi.AgentListItem) { rebateModalApi.setData({ agentId: row.id }).open(); } +// 平台升级 +function onPlatformUpgrade(row: AgentApi.AgentListItem) { + platformUpgradeModalApi + .setData({ row, onSuccess: onRefresh }) + .open(); +} + // 查看升级记录 function onViewUpgrade(row: AgentApi.AgentListItem) { upgradeModalApi.setData({ agentId: row.id }).open(); @@ -271,6 +293,7 @@ function onRefresh() { + diff --git a/apps/web-antd/src/views/agent/agent-list/modules/platform-upgrade-modal.vue b/apps/web-antd/src/views/agent/agent-list/modules/platform-upgrade-modal.vue new file mode 100644 index 0000000..f2398ec --- /dev/null +++ b/apps/web-antd/src/views/agent/agent-list/modules/platform-upgrade-modal.vue @@ -0,0 +1,114 @@ + + + + +