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 }}
-
-
{{ calculateScore(group) }}
-
综合分
-
业绩 @@ -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 @@