|
|
@@ -29,7 +29,7 @@
|
|
|
</div>
|
|
|
<div class="detail-item">
|
|
|
<label>负责人</label>
|
|
|
- <span>{{ selectedCampaign.owner }}</span>
|
|
|
+ <span>{{ supervisorUser }}</span>
|
|
|
</div>
|
|
|
<div class="detail-item">
|
|
|
<label>创建时间</label>
|
|
|
@@ -50,31 +50,31 @@
|
|
|
<div class="detail-section">
|
|
|
<div class="section-header">
|
|
|
<h4><i class="fas fa-chart-line"></i> 核心数据</h4>
|
|
|
- <div class="progress-info">达成 {{ selectedCampaign.progressPercent || 0 }}%</div>
|
|
|
+ <div class="progress-info">达成 {{ statsData.achievementRate }}%</div>
|
|
|
</div>
|
|
|
<div class="detail-progress-bar">
|
|
|
- <div class="progress-fill" :style="{ width: (selectedCampaign.progressPercent || 0) + '%' }"></div>
|
|
|
+ <div class="progress-fill" :style="{ width: (statsData.achievementRate) + '%' }"></div>
|
|
|
</div>
|
|
|
<div class="metrics-grid">
|
|
|
<div class="metric-card">
|
|
|
<div class="metric-icon blue"><i class="fas fa-paper-plane"></i></div>
|
|
|
<div class="metric-content">
|
|
|
- <div class="metric-value">{{ formatNumber(selectedCampaign.sendVolume) }}</div>
|
|
|
+ <div class="metric-value">{{ statsData.sentCount }}</div>
|
|
|
<div class="metric-label">已发送</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="metric-card">
|
|
|
<div class="metric-icon green"><i class="fas fa-envelope-open"></i></div>
|
|
|
<div class="metric-content">
|
|
|
- <div class="metric-value">{{ Math.round(selectedCampaign.sendVolume * selectedCampaign.openRate / 100) }}</div>
|
|
|
- <div class="metric-label">打开数 ({{ selectedCampaign.openRate }}%)</div>
|
|
|
+ <div class="metric-value">{{ statsData.openCount }}</div>
|
|
|
+ <div class="metric-label">打开数 ({{ statsData.openRate }}%)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="metric-card">
|
|
|
<div class="metric-icon purple"><i class="fas fa-reply"></i></div>
|
|
|
<div class="metric-content">
|
|
|
- <div class="metric-value">{{ Math.round(selectedCampaign.sendVolume * selectedCampaign.replyRate / 100) }}</div>
|
|
|
- <div class="metric-label">回复数 ({{ selectedCampaign.replyRate }}%)</div>
|
|
|
+ <div class="metric-value">{{ statsData.replyCount }}</div>
|
|
|
+ <div class="metric-label">回复数 ({{ statsData.replyRate }}%)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -149,7 +149,7 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 最近互动 -->
|
|
|
- <div class="detail-section">
|
|
|
+ <!-- <div class="detail-section">
|
|
|
<div class="section-header">
|
|
|
<h4><i class="fas fa-comments"></i> 最近互动</h4>
|
|
|
<button class="btn-link" @click="showAllInteractions">查看全部</button>
|
|
|
@@ -196,7 +196,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
<div class="modal-footer">
|
|
|
<!-- <button class="btn btn-secondary" @click="duplicateCampaign(selectedCampaign)">
|
|
|
@@ -230,6 +230,8 @@
|
|
|
const selectedCampaign = ref()
|
|
|
const sopDetails = ref([])
|
|
|
const customerData = ref([])
|
|
|
+ const statsData = ref()
|
|
|
+ const supervisorUser = ref()
|
|
|
const open = (data) => {
|
|
|
getData(data.id)
|
|
|
showCampaignDetailModal.value = true
|
|
|
@@ -242,6 +244,8 @@
|
|
|
sopDetails.value = res.result.sopDetailList || []
|
|
|
customerData.value = res.result.customerList || []
|
|
|
sopName.value = res.result.sopEntity.name
|
|
|
+ statsData.value = res.result.stats
|
|
|
+ supervisorUser.value = (res.result.supervisorUserList || []).map(item => item.realName).join(',')
|
|
|
})
|
|
|
}
|
|
|
|