refactor(导航): 优化团队导航逻辑和指标描述

- 统一从高级经理到经理页面的导航路径和参数传递
- 添加团队双击事件处理并跳转到经理页面
- 简化指标描述文本,移除冗余解释
This commit is contained in:
2025-08-26 14:13:26 +08:00
parent 11e686d4d9
commit 6779db176c
5 changed files with 27 additions and 10 deletions

View File

@@ -11,6 +11,7 @@
class="ranking-card"
:class="getRankingClass(index)"
@click="$emit('select-group', group)"
@dblclick="$emit('team-double-click', group)"
>
<div class="rank-badge">{{ index + 1 }}</div>
<div class="group-info">
@@ -48,7 +49,7 @@ const props = defineProps({
}
})
const emit = defineEmits(['select-group'])
const emit = defineEmits(['select-group', 'team-double-click'])

View File

@@ -87,23 +87,23 @@ const tooltip = reactive({
const metricDescriptions = {
customerCommunicationRate: {
title: '活跃客户沟通率计算方式',
description: '有效沟通的活跃客户数 ÷ 总活跃客户数 × 100%,反映团队与活跃客户的沟通覆盖程度。'
description: '有效沟通的活跃客户数 ÷ 总活跃客户数 × 100%'
},
averageResponseTime: {
title: '平均应答时间计算方式',
description: '所有通话的应答时间总和 ÷ 通话总次数,以分钟为单位,反映团队的响应效率。'
description: '所有通话的应答时间总和 ÷ 通话总次数'
},
timeoutResponseRate: {
title: '超时应答率计算方式',
description: '超时应答的通话次数 ÷ 总通话次数 × 100%超时标准通常为30秒以上。'
description: '超时应答的通话次数 ÷ 总通话次数 × 100%'
},
severeTimeoutRate: {
title: '严重超时应答率计算方式',
description: '严重超时应答的通话次数 ÷ 总通话次数 × 100%严重超时标准通常为60秒以上。'
description: '严重超时应答的通话次数 ÷ 总通话次数 × 100%'
},
formCompletionRate: {
title: '表格填写率计算方式',
description: '已完成填写的表格数量 ÷ 应填写的表格总数 × 100%,反映团队的工作完成度。'
description: '已完成填写的表格数量 ÷ 应填写的表格总数 × 100%'
}
};

View File

@@ -71,6 +71,7 @@
:groups="groups"
:teamRanking="teamRanking"
@select-group="selectGroup"
@team-double-click="handleTeamDoubleClick"
/>
</div>
</div>
@@ -553,6 +554,7 @@ const selectedGroup = ref(groups[0])
// 选择组别函数
const selectGroup = async (group) => {
console.log('选择的组别:', group)
selectedGroup.value = group
// 获取部门名称并调用团队业绩详情接口
// 从teamRanking数据中查找对应的原始部门名称
@@ -582,6 +584,20 @@ const selectGroup = async (group) => {
}
}
// 处理团队双击事件
const handleTeamDoubleClick = (group) => {
console.log('团队双击事件触发,团队数据:', group)
// 跳转到manager页面携带团队负责人和用户等级
router.push({
path: '/manager',
query: {
user_name: group.leader,
user_level: 2
}
})
}
// 处理成员双击事件
const handleMemberDoubleClick = (member) => {
console.log('双击事件触发,成员数据:', member)