feat(GroupComparison): 添加动态组别列表功能并优化显示

- 新增groupList属性支持动态加载组别数据
- 实现根据高级经理选择过滤组别功能
- 移除静态综合分显示并优化滚动条样式
- 添加数据处理逻辑支持嵌套API响应结构
This commit is contained in:
2025-08-15 16:01:35 +08:00
parent 88a73f5b52
commit 353a3f194d
2 changed files with 176 additions and 25 deletions

View File

@@ -51,7 +51,7 @@
<!-- Right Section - Group Comparison -->
<div class="right-section">
<GroupComparison :groups="groups" :senior-manager-data="seniorManagerList" @select-group="selectGroup" />
<GroupComparison :groups="groups" :senior-manager-data="seniorManagerList" :group-list="groupList" @select-group="selectGroup" @manager-change="handleManagerChange" />
</div>
</div>
@@ -327,23 +327,41 @@
const res = await getCenterAdvancedManagerList(hasParams ? params : undefined)
if (res.code === 200) {
seniorManagerList.value = res.data
/**
* "data": {
"user_name": "刘瑞",
"user_level": 4,
"center_advanced_managers": [
"陈盼良"
]
}
*/
}
} catch (error) {
console.error('获取中心整体概览失败:', error)
}
}
// 综合排名---组别列表
const groupList = ref([])
async function CenterGroupList(selectedManagerId = 'all') {
const params = getRequestParams()
const hasParams = params.user_name
// 根据选择的经理构建请求参数
let requestParams = hasParams ? { ...params } : {}
if (selectedManagerId === 'all') {
requestParams.get_all = "true"
} else {
// 根据manager id找到对应的名字
const selectedManager = seniorManagerList.value?.center_advanced_managers?.find((name, index) => `manager_${index}` === selectedManagerId)
console.log('Found Manager:', selectedManager)
if (selectedManager) {
requestParams.team_leader_name = selectedManager
}
}
try {
const res = await getTeamRanking(requestParams)
console.log('API Response:', res)
if (res.code === 200) {
groupList.value = res.data
console.log('Updated groupList:', groupList.value)
}
} catch (error) {
console.error('获取团队排名失败:', error)
}
}
// 当前选中的组别,默认为第一个
const selectedGroup = ref(groups[0])
@@ -353,6 +371,11 @@
selectedGroup.value = group
}
// 处理高级经理选择变化
const handleManagerChange = (selectedManagerId) => {
CenterGroupList(selectedManagerId)
}
// 格式化货币
const formatCurrency = (value) => {
if (value >= 10000) {
@@ -387,7 +410,7 @@
await CenterCustomerType()
await CenterUrgentNeedToAddress()
await CenterSeniorManagerList()
await CenterGroupList('all') // 初始化加载全部高级经理数据
})
</script>