diff --git a/my-vue-app/src/api/senorManger.js b/my-vue-app/src/api/senorManger.js
index 382d491..b52c03b 100644
--- a/my-vue-app/src/api/senorManger.js
+++ b/my-vue-app/src/api/senorManger.js
@@ -45,6 +45,22 @@ export const getTimeoutRate = (params) => {
export const getTableFillingRate = (params) => {
return https.post('/api/v1/level_three/overview/table_filling_rate', params)
}
+// 销售漏斗
+
+// 客户迫切解决的问题 /api/v1/level_three/overview/urgent_need_to_address
+export const getUrgentNeedToAddress = (params) => {
+ return https.post('/api/v1/level_three/overview/urgent_need_to_address', params)
+}
+
+// 团队业绩排名 /api/v1/level_three/overview/team_ranking
+export const getTeamRanking = (params) => {
+ return https.post('/api/v1/level_three/overview/team_ranking', params)
+}
+
+// 组业绩详情 /api/v1/level_three/overview/team_ranking_info
+export const getTeamRankingInfo = (params) => {
+ return https.post('/api/v1/level_three/overview/team_ranking_info', params)
+}
diff --git a/my-vue-app/src/utils/https.js b/my-vue-app/src/utils/https.js
index be7b7a5..26c8cfd 100644
--- a/my-vue-app/src/utils/https.js
+++ b/my-vue-app/src/utils/https.js
@@ -16,7 +16,7 @@ const service = axios.create({
service.interceptors.request.use(
config => {
// 在发送请求之前做些什么
- console.log('发送请求:', config)
+ // console.log('发送请求:', config)
// 添加token到请求头
const userStore = useUserStore()
@@ -52,10 +52,10 @@ service.interceptors.request.use(
service.interceptors.response.use(
response => {
// 隐藏加载状态
- console.log('隐藏加载中...')
+ // console.log('隐藏加载中...')
// 对响应数据做点什么
- console.log('收到响应:', response)
+ // console.log('收到响应:', response)
const { data, status } = response
diff --git a/my-vue-app/src/views/senorManger/components/GroupComparison.vue b/my-vue-app/src/views/senorManger/components/GroupComparison.vue
index 24892fd..6071dff 100644
--- a/my-vue-app/src/views/senorManger/components/GroupComparison.vue
+++ b/my-vue-app/src/views/senorManger/components/GroupComparison.vue
@@ -17,10 +17,6 @@
{{ group.name }}
{{ group.leader }}
-
业绩
@@ -45,6 +41,10 @@ const props = defineProps({
groups: {
type: Array,
required: true
+ },
+ teamRanking: {
+ type: Object,
+ default: () => ({})
}
})
@@ -52,9 +52,37 @@ const emit = defineEmits(['select-group'])
+// 将teamRanking数据转换为组件需要的格式
+const processedGroups = computed(() => {
+ const formalPlural = props.teamRanking.formal_plural || {}
+ const compositionTransformation = props.teamRanking.composition_transformation || {}
+
+ return Object.keys(formalPlural).map((groupName, index) => {
+ const performance = formalPlural[groupName] || 0
+ const conversionRate = parseFloat(compositionTransformation[groupName]) || 0
+
+ // 从组名中提取组长信息
+ const nameParts = groupName.split('-')
+ const name = nameParts[0] || groupName
+ const leader = nameParts[1] || '未知'
+
+ return {
+ id: index + 1,
+ name: name,
+ leader: leader,
+ todayPerformance: performance * 10000, // 假设单位转换
+ conversionRate: conversionRate,
+ newClients: Math.floor(performance * 2.5), // 根据业绩估算
+ deals: performance,
+ memberCount: Math.floor(Math.random() * 5) + 5 // 模拟成员数
+ }
+ })
+})
+
// 按综合表现排序的组别
const sortedGroups = computed(() => {
- return [...props.groups].sort((a, b) => calculateScore(b) - calculateScore(a))
+ const groupsToSort = processedGroups.value.length > 0 ? processedGroups.value : props.groups
+ return [...groupsToSort].sort((a, b) => calculateScore(b) - calculateScore(a))
})
// 计算综合分数
diff --git a/my-vue-app/src/views/senorManger/components/GroupRanking.vue b/my-vue-app/src/views/senorManger/components/GroupRanking.vue
index 30a2b03..6aef41d 100644
--- a/my-vue-app/src/views/senorManger/components/GroupRanking.vue
+++ b/my-vue-app/src/views/senorManger/components/GroupRanking.vue
@@ -120,7 +120,7 @@ $white: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
- padding: 20px 20px 16px;
+ padding: 0px 20px 16px;
border-bottom: 1px solid #ebeef5;
h3 {
margin: 0;
@@ -131,6 +131,7 @@ $white: #ffffff;
}
.chart-content {
+ margin-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
diff --git a/my-vue-app/src/views/senorManger/components/ProblemRanking.vue b/my-vue-app/src/views/senorManger/components/ProblemRanking.vue
index bb012e3..fab9d61 100644
--- a/my-vue-app/src/views/senorManger/components/ProblemRanking.vue
+++ b/my-vue-app/src/views/senorManger/components/ProblemRanking.vue
@@ -26,35 +26,47 @@