From 663c71cbc1076e07b50c4868c03943541a11372d Mon Sep 17 00:00:00 2001 From: sexygoat <1538832180@qq.com> Date: Wed, 6 May 2026 15:43:11 +0800 Subject: [PATCH] fix: bug --- src/api/commission.ts | 11 ++++- .../agent-system/commission-center/index.vue | 16 +++++-- src/pages/agent-system/home/index.vue | 45 +++++++++++++++---- src/pages/agent-system/withdraw/index.vue | 16 +++++-- 4 files changed, 71 insertions(+), 17 deletions(-) diff --git a/src/api/commission.ts b/src/api/commission.ts index 7f98077..ccb346b 100644 --- a/src/api/commission.ts +++ b/src/api/commission.ts @@ -140,12 +140,19 @@ export interface ListResponse { total: number } +export interface FundSummaryParams { + shop_name?: string +} + /** * 获取资金概览 (代理端主页用) * GET /api/admin/shops/fund-summary */ -export function getFundSummary() { - return get<{ items: FundSummary[] }>('/api/admin/shops/fund-summary').then(res => res.items?.[0]) +export function getFundSummary(params?: FundSummaryParams) { + return get<{ items: FundSummary[] }>( + '/api/admin/shops/fund-summary', + params?.shop_name ? { params } : undefined + ).then(res => res.items?.[0]) } /** diff --git a/src/pages/agent-system/commission-center/index.vue b/src/pages/agent-system/commission-center/index.vue index 0bc206b..b8c1f8d 100644 --- a/src/pages/agent-system/commission-center/index.vue +++ b/src/pages/agent-system/commission-center/index.vue @@ -4,6 +4,11 @@ import { getFundSummary, getCommissionRecords, getCommissionStats } from '@/api/ import type { FundSummary, CommissionRecord, CommissionStats } from '@/api/commission' import SimplePicker from '@/components/SimplePicker.vue' +type LoginUserInfo = { + shop_id?: number + username?: string +} + const commissionSummary = ref(null) const shopId = ref(0) const commissionRecords = ref([]) @@ -64,8 +69,12 @@ function formatTime(time: string) { return `${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}` } +function getLoginUserInfo() { + return uni.getStorageSync('user_info') as LoginUserInfo | undefined +} + onMounted(() => { - const userInfo = uni.getStorageSync('user_info') + const userInfo = getLoginUserInfo() if (userInfo?.shop_id) { shopId.value = userInfo.shop_id } @@ -76,7 +85,8 @@ onMounted(() => { async function loadCommissionSummary() { try { - commissionSummary.value = await getFundSummary() + const userInfo = getLoginUserInfo() + commissionSummary.value = await getFundSummary(userInfo?.username ? { shop_name: userInfo.username } : undefined) } catch (error) { console.error('加载佣金概览失败:', error) } @@ -330,4 +340,4 @@ function onScroll(e: any) { .space-y-3 > view:not(:last-child) { margin-bottom: 12px; } - \ No newline at end of file + diff --git a/src/pages/agent-system/home/index.vue b/src/pages/agent-system/home/index.vue index b40b67d..082f06b 100644 --- a/src/pages/agent-system/home/index.vue +++ b/src/pages/agent-system/home/index.vue @@ -22,6 +22,11 @@ // 是否为代理账号 const isAgent = computed(() => userInfo.value?.user_type === 3) + const todayStat = computed(() => dailyStats.value[0] || null) + + function getLoginUserInfo() { + return uni.getStorageSync('user_info') as Partial | undefined + } // 格式化金额(分转元,带千分号) function formatAmount(amount : number) { @@ -32,6 +37,7 @@ } // 格式化日期 (MM-DD) + // 根据用户类型动态生成菜单 function formatDate(dateStr : string) { const date = new Date(dateStr) const month = String(date.getMonth() + 1).padStart(2, '0') @@ -39,7 +45,14 @@ return `${month}-${day}` } - // 根据用户类型动态生成菜单 + function getTodayDate() { + const today = new Date() + const year = today.getFullYear() + const month = String(today.getMonth() + 1).padStart(2, '0') + const day = String(today.getDate()).padStart(2, '0') + return `${year}-${month}-${day}` + } + const menuItems = computed(() => { const menus = [ { @@ -90,17 +103,25 @@ }) // 加载佣金数据 - async function loadCommissionData() { + async function loadCommissionData(shopName?: string) { if (!isAgent.value || !shopId.value) return loadingCommission.value = true try { // 1. 加载佣金概览 (新接口 /shops/fund-summary) - const summary = await getFundSummary() + const summary = await getFundSummary(shopName ? { shop_name: shopName } : undefined) commissionSummary.value = summary + const today = getTodayDate() + const todayStats = await getCommissionDailyStats(shopId.value, { + days: 1, + start_date: today, + end_date: today, + }) + dailyStats.value = todayStats || [] + return - // 2. 加载最近7天佣金统计 + // 2. 加载最近30天佣金统计 const stats = await getCommissionDailyStats(shopId.value, { days: 30 }) dailyStats.value = stats || [] } @@ -126,11 +147,14 @@ shopId.value = user.shop_id } + const loginUserInfo = getLoginUserInfo() + const fundSummaryShopName = loginUserInfo?.username || user.username + console.log('首页数据加载成功:', { user }) // 如果是代理账号,加载佣金数据 if (user.user_type === 3) { - await loadCommissionData() + await loadCommissionData(fundSummaryShopName) } } catch (error : any) { @@ -253,7 +277,7 @@ - + 今日佣金 更多 @@ -263,22 +287,25 @@ 日期 - {{ formatDate(dailyStats[0].date) }} + {{ todayStat ? formatDate(todayStat.date) : '--' }} 佣金金额 - {{ formatAmount(dailyStats[0].total_amount) }} + {{ formatAmount(todayStat?.total_amount || 0) }} 订单笔数 - {{ dailyStats[0].total_count }} + {{ todayStat?.total_count || 0 }} + + 今日暂无佣金数据 + diff --git a/src/pages/agent-system/withdraw/index.vue b/src/pages/agent-system/withdraw/index.vue index c3cef0a..1543685 100644 --- a/src/pages/agent-system/withdraw/index.vue +++ b/src/pages/agent-system/withdraw/index.vue @@ -6,6 +6,11 @@ import { createWithdrawal, getWithdrawalRecords } from '@/api/withdrawal' import type { WithdrawalRecord } from '@/api/withdrawal' import SimplePicker from '@/components/SimplePicker.vue' +type LoginUserInfo = { + shop_id?: number + username?: string +} + const commissionSummary = ref(null) const shopId = ref(0) const withdrawAmount = ref('') @@ -73,8 +78,12 @@ function formatTime(time: string) { return `${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}` } +function getLoginUserInfo() { + return uni.getStorageSync('user_info') as LoginUserInfo | undefined +} + onMounted(() => { - const userInfo = uni.getStorageSync('user_info') + const userInfo = getLoginUserInfo() if (userInfo?.shop_id) { shopId.value = userInfo.shop_id } @@ -85,7 +94,8 @@ onMounted(() => { async function loadCommissionSummary() { loading.value = true try { - commissionSummary.value = await getFundSummary() + const userInfo = getLoginUserInfo() + commissionSummary.value = await getFundSummary(userInfo?.username ? { shop_name: userInfo.username } : undefined) withdrawAmount.value = availableAmount.value.toFixed(2) } catch (error) { console.error('加载佣金概览失败:', error) @@ -367,4 +377,4 @@ function onScroll(e: any) { .space-y-3 > view:not(:last-child) { margin-bottom: 12px; } - \ No newline at end of file +