feat(销售页面): 优化表单数据显示逻辑并添加二级顶部API

重构RawDataCards组件表单数据显示逻辑,支持两种不同格式的数据源
在sale.vue中添加表单数据加载功能并传递给子组件
添加secondTop.js包含二级顶部页面所需的所有API接口
调整SalesTimelineWithTaskList.vue中的未到课显示文案
This commit is contained in:
2025-08-14 16:14:32 +08:00
parent 24f9789999
commit 32e43a1c6d
5 changed files with 254 additions and 23 deletions

View File

@@ -158,17 +158,19 @@
<script setup>
import { ref } from 'vue'
import CenterOverview from './components/CenterOverview.vue'
// import ResourceAllocation from './components/ResourceAllocation.vue'
import GroupComparison from './components/GroupComparison.vue'
import GroupRanking from './components/GroupRanking.vue'
// import GroupDetails from './components/GroupDetails.vue'
import ActionItems from './components/ActionItems.vue'
import CustomerDetail from './components/CustomerDetail.vue'
import CustomerType from './components/CustomerType.vue'
import GoodMusic from './components/GoodMusic.vue'
import ProblemRanking from './components/ProblemRanking.vue'
import seniorManager from './components/seniorManager.vue'
import {getOverallCenterPerformance,getTotalGroupCount,getCenterConversionRate,getTotalCallCount,getNewCustomer
, getDepositConversionRate,getCustomerTypeDistribution,getUrgentNeedToAddress,getCenterAdvancedManagerList,getTeamRanking,getTeamRankingInfo
} from '@/api/secondTop.js'
import { useRouter } from 'vue-router'
import { useUserStore } from '@/stores/user.js'
// 组别数据
const groups = [
{
@@ -678,6 +680,43 @@ const groups = [
]
}
]
// 路由实例
const router = useRouter();
// 用户store实例
const userStore = useUserStore();
// 获取通用请求参数的函数
const getRequestParams = () => {
const params = {}
// 只从路由参数获取
const routeUserLevel = router.currentRoute.value.query.user_level || router.currentRoute.value.params.user_level
const routeUserName = router.currentRoute.value.query.user_name || router.currentRoute.value.params.user_name
// 如果路由有参数,使用路由参数
if (routeUserLevel) {
params.user_level = routeUserLevel.toString()
}
if (routeUserName) {
params.user_name = routeUserName
}
return params
}
// 中心整体概览
const overallCenterPerformance = ref({
})
// 中心总业绩
async function CenterOverallCenterPerformance() {
const params = getRequestParams()
try {
const res = await getOverallCenterPerformance(params)
if (res.code === 200) {
overallCenterPerformance.value = res.data
}
} catch (error) {
console.error('获取中心整体概览失败:', error)
}
}
// 当前选中的组别,默认为第一个
const selectedGroup = ref(groups[0])