feat: 实现卡片可见性管理并优化多个组件功能

- 在UserDropdown组件中添加卡片名称映射
- 为sale.vue、seniorManager.vue、topone.vue和secondTop.vue添加卡片可见性控制
- 在CustomerDetail.vue中添加通话数据检查逻辑
- 将https.js中的API基础路径切换为生产环境
This commit is contained in:
2025-09-03 11:41:09 +08:00
parent e94ea6b592
commit f47211b0b0
7 changed files with 148 additions and 40 deletions

View File

@@ -15,9 +15,9 @@
<button
@click="startSopAnalysis"
class="analysis-button sop-button"
:disabled="isSopAnalysisLoading"
:disabled="isSopAnalysisLoading || !hasCallData"
>
{{ isSopAnalysisLoading ? 'SOP分析中...' : 'SOP通话分析' }}
{{ isSopAnalysisLoading ? 'SOP分析中...' : (hasCallData ? 'SOP通话分析' : '暂无通话数据') }}
</button>
<!-- <button
@click="startDemandAnalysis"
@@ -157,6 +157,11 @@ const formattedDemandAnalysis = computed(() => {
return md.render(demandAnalysisResult.value);
});
// 计算属性:检查是否有通话数据
const hasCallData = computed(() => {
return props.callRecords && props.callRecords.length > 0;
});
// 监听selectedContact变化重置所有分析结果
watch(() => props.selectedContact, (newContact) => {
if (newContact) {

View File

@@ -17,10 +17,6 @@
<div class="user-name">
{{ routeUserName }}
</div>
<UserDropdown
:card-visibility="cardVisibility"
@update-card-visibility="updateCardVisibility"
/>
</div>
</div>
@@ -66,7 +62,7 @@
</section>
<!-- 原始数据卡片区域 -->
<section v-if="cardVisibility.rawData" class="raw-data-section">
<section v-if="cardVisibility.rawData && selectedContact" class="raw-data-section">
<div class="section-header">
<h2>原始数据</h2>
<p class="section-subtitle">客户互动的原始记录和数据</p>
@@ -89,7 +85,7 @@
<!-- 主要工作区域 -->
<main class="main-content">
<!-- 客户详情区域 -->
<section v-if="cardVisibility.customerDetail" class="detail-section">
<section v-if="cardVisibility.customerDetail && selectedContact" class="detail-section">
<div class="section-header">
<h2>客户详情</h2>
</div>
@@ -125,7 +121,7 @@
</section>
<!-- 周期分析区域 -->
<section v-if="cardVisibility.weekAnalysis" class="week-analysis-section" style="width: 100%; margin-top: 24px;">
<section v-if="cardVisibility.weekAnalysis===false" class="week-analysis-section" style="width: 100%; margin-top: 24px;">
<div class="section-content">
<WeekAnalize :week-data="weekAnalysisData" />
</div>