feat(secondTop): 优化团队成员展示和排序逻辑
refactor(sale): 调整数据分析区域布局和样式 fix(router): 移除路由元信息注释 style(StatisticData): 调整统计卡片网格布局 feat(api): 新增顶级管理接口文件
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
{{ routeUserName }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 自己登录时的顶栏:原有样式 -->
|
||||
<template v-else>
|
||||
<h1 class="app-title">销售驾驶舱</h1>
|
||||
@@ -39,23 +39,7 @@
|
||||
<UserDropdown />
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<!-- 数据分析区域加载状态 -->
|
||||
<div v-if="isKpiLoading || isStatisticsLoading || isUrgentProblemLoading" class="section-loading">
|
||||
<div class="loading-spinner"></div>
|
||||
<div class="loading-text">正在加载数据分析...</div>
|
||||
</div>
|
||||
<!-- 数据分析内容 -->
|
||||
<PersonalDashboard
|
||||
v-else
|
||||
:kpi-data="kpiData"
|
||||
:funnel-data="funnelData"
|
||||
:contact-time-data="contactTimeData"
|
||||
:statistics-data="statisticsData"
|
||||
:urgent-problem-data="urgentProblemData"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<!-- 销售时间线区域 -->
|
||||
<section class="timeline-section">
|
||||
@@ -119,7 +103,25 @@
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<section class="analytics-section-full" style="width: 100%;">
|
||||
|
||||
<div class="section-content">
|
||||
<!-- 数据分析区域加载状态 -->
|
||||
<div v-if="isKpiLoading || isStatisticsLoading || isUrgentProblemLoading" class="section-loading">
|
||||
<div class="loading-spinner"></div>
|
||||
<div class="loading-text">正在加载数据分析...</div>
|
||||
</div>
|
||||
<!-- 数据分析内容 -->
|
||||
<PersonalDashboard
|
||||
v-else
|
||||
:kpi-data="kpiData"
|
||||
:funnel-data="funnelData"
|
||||
:contact-time-data="contactTimeData"
|
||||
:statistics-data="statisticsData"
|
||||
:urgent-problem-data="urgentProblemData"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
@@ -132,7 +134,6 @@ import CustomerDetail from "./components/CustomerDetail.vue";
|
||||
import PersonalDashboard from "./components/PersonalDashboard.vue";
|
||||
import SalesTimelineWithTaskList from "./components/SalesTimelineWithTaskList.vue";
|
||||
import RawDataCards from "./components/RawDataCards.vue";
|
||||
// import FloatingTodo from "./components/FloatingTodo.vue";
|
||||
import UserDropdown from "@/components/UserDropdown.vue";
|
||||
import Loading from "@/components/Loading.vue";
|
||||
import {getCustomerAttendance,getTodayCall,getProblemDistribution,getTableFillingRate,getAverageResponseTime,
|
||||
@@ -501,50 +502,6 @@ async function getCustomerChat() {
|
||||
}
|
||||
try {
|
||||
const res = await getCustomerChatInfo(params)
|
||||
/**
|
||||
* message:[
|
||||
* 0:{content
|
||||
:
|
||||
"您好孩子妈妈,我是负责咱们本次课程的王慧老师[玫瑰]"
|
||||
format_add_time
|
||||
:
|
||||
"2天前"
|
||||
format_direction
|
||||
:
|
||||
"我"
|
||||
type
|
||||
:
|
||||
"文本"},
|
||||
1:{
|
||||
content
|
||||
:
|
||||
"嗯,王老师好"
|
||||
format_add_time
|
||||
:
|
||||
"2天前"
|
||||
format_direction
|
||||
:
|
||||
"客户"
|
||||
type
|
||||
:
|
||||
"文本"
|
||||
},
|
||||
3:{
|
||||
content
|
||||
:
|
||||
"孩子妈妈,您好,这个是咱们的青少年成长评估表。您这个抽一分钟的时间填写一下孩子的基本信息。填写完了之后,您跟老师说一声。"
|
||||
format_add_time
|
||||
:
|
||||
"2天前"
|
||||
format_direction
|
||||
:
|
||||
"我"
|
||||
type
|
||||
:
|
||||
"语音"
|
||||
}
|
||||
* ]
|
||||
*/
|
||||
if(res.code === 200) {
|
||||
chatRecords.value = res.data
|
||||
console.log('聊天数据获取成功:', res.data)
|
||||
@@ -854,9 +811,6 @@ $primary: #3b82f6;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 主要布局
|
||||
.main-layout {
|
||||
width: 100vw;
|
||||
@@ -1348,7 +1302,7 @@ $primary: #3b82f6;
|
||||
min-height: 400px;
|
||||
|
||||
@include desktop {
|
||||
min-height: 450px;
|
||||
min-height: 150px;
|
||||
}
|
||||
|
||||
@include tablet {
|
||||
|
||||
Reference in New Issue
Block a user