|
|
@@ -118,15 +118,6 @@ const teamOptions = computed(() => {
|
|
|
]
|
|
|
})
|
|
|
|
|
|
-// 获取选中团队的图表数据
|
|
|
-const selectedTeamChartData = computed(() => {
|
|
|
- if (!incomeStats.value || !selectedChartTeamId.value) {
|
|
|
- return null
|
|
|
- }
|
|
|
-
|
|
|
- const teamData = incomeStats.value.teams.find((team) => team.teamId === selectedChartTeamId.value)
|
|
|
- return teamData || null
|
|
|
-})
|
|
|
|
|
|
// 格式化金额,保留2位小数
|
|
|
const formatAmount = (amount) => {
|
|
|
@@ -196,9 +187,18 @@ const loadIncomeStats = async () => {
|
|
|
try {
|
|
|
loading.value = true
|
|
|
const { startDate, endDate } = getDateRange()
|
|
|
- let params = { startDate, endDate }
|
|
|
+
|
|
|
+ // 如果是 admin 角色且选择了特定团队,传递 userId 参数
|
|
|
+ let userId = null
|
|
|
+ if (isAdmin.value && selectedChartTeamId.value) {
|
|
|
+ // 从团队列表中找到对应的团队,获取其 userId
|
|
|
+ const selectedTeam = teamStore.teams.find(team => team.id === selectedChartTeamId.value)
|
|
|
+ if (selectedTeam) {
|
|
|
+ userId = selectedTeam.userId
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- const data = await getIncomeStatistics(startDate, endDate)
|
|
|
+ const data = await getIncomeStatistics(startDate, endDate, userId)
|
|
|
incomeStats.value = data
|
|
|
|
|
|
// 渲染图表
|
|
|
@@ -226,20 +226,10 @@ const renderChart = () => {
|
|
|
|
|
|
// 准备数据
|
|
|
const labels = incomeStats.value.dates
|
|
|
- let data, tipData, commissionData
|
|
|
-
|
|
|
- // 根据是否选择了特定团队来决定使用哪组数据
|
|
|
- if (selectedTeamChartData.value) {
|
|
|
- // 使用选中团队的数据
|
|
|
- data = selectedTeamChartData.value.data
|
|
|
- tipData = selectedTeamChartData.value.tip
|
|
|
- commissionData = selectedTeamChartData.value.commission
|
|
|
- } else {
|
|
|
- // 使用总体数据
|
|
|
- data = incomeStats.value.total
|
|
|
- tipData = incomeStats.value.totalTip
|
|
|
- commissionData = incomeStats.value.totalCommission
|
|
|
- }
|
|
|
+ // 直接使用 API 返回的数据(已根据选择的团队过滤)
|
|
|
+ const data = incomeStats.value.total
|
|
|
+ const tipData = incomeStats.value.totalTip
|
|
|
+ const commissionData = incomeStats.value.totalCommission
|
|
|
|
|
|
const datasets = [
|
|
|
{
|
|
|
@@ -295,7 +285,7 @@ const renderChart = () => {
|
|
|
|
|
|
// 监听团队选择变化
|
|
|
watch(selectedChartTeamId, () => {
|
|
|
- renderChart()
|
|
|
+ loadIncomeStats()
|
|
|
})
|
|
|
|
|
|
// 组件挂载时加载数据
|