refactor(导航): 优化团队导航逻辑和指标描述
- 统一从高级经理到经理页面的导航路径和参数传递 - 添加团队双击事件处理并跳转到经理页面 - 简化指标描述文本,移除冗余解释
This commit is contained in:
@@ -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'])
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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%'
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user