客户列表页调整
This commit is contained in:
parent
e9a80b7c8b
commit
8840d08929
|
|
@ -70,14 +70,53 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 客户详细信息 -->
|
||||||
|
<view class="customer-details">
|
||||||
|
<!-- 客户意向 -->
|
||||||
|
<view class="detail-row" v-if="customer.intents && customer.intents.length > 0">
|
||||||
|
<text class="detail-label">客户意向:</text>
|
||||||
|
<view class="intent-tags">
|
||||||
|
<text
|
||||||
|
v-for="(intent, index) in customer.intents"
|
||||||
|
:key="index"
|
||||||
|
class="intent-tag"
|
||||||
|
>{{ intent }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 意向强度 -->
|
||||||
|
<view class="detail-row">
|
||||||
|
<text class="detail-label">意向强度:</text>
|
||||||
|
<text class="detail-value">{{ getIntentLevelText(customer.intentLevel) }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 微信号 -->
|
||||||
|
<view class="detail-row">
|
||||||
|
<text class="detail-label">微信号:</text>
|
||||||
|
<text class="detail-value">{{ customer.wechat || '--' }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 手机号 -->
|
||||||
|
<view class="detail-row">
|
||||||
|
<text class="detail-label">手机号:</text>
|
||||||
|
<text class="detail-value">{{ customer.mobile || '--' }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 上次跟进内容 -->
|
||||||
|
<view class="detail-row" v-if="customer.lastFollowRecord && customer.lastFollowRecord.content">
|
||||||
|
<text class="detail-label">跟进内容:</text>
|
||||||
|
<text class="detail-value follow-content">{{ truncateText(customer.lastFollowRecord.content, 30) }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 分配用户 -->
|
<!-- 分配用户 -->
|
||||||
<view class="assigned-user">
|
<view class="detail-row">
|
||||||
<image
|
<text class="detail-label">客户归属:</text>
|
||||||
class="user-avatar"
|
<text class="detail-value">{{ customer.followName || '--' }}</text>
|
||||||
:src="customer.assignedUserAvatar || '/static/default-avatar.png'"
|
|
||||||
mode="aspectFill"
|
</view>
|
||||||
/>
|
|
||||||
<text class="user-name">{{ customer.followName || '未分配' }}</text>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
|
|
@ -175,6 +214,23 @@ const getStatusText = (status) => {
|
||||||
return statusMap[status] || '未知';
|
return statusMap[status] || '未知';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 获取意向强度文本
|
||||||
|
const getIntentLevelText = (intentLevel) => {
|
||||||
|
const levelMap = {
|
||||||
|
'1': '高',
|
||||||
|
'2': '中',
|
||||||
|
'3': '低'
|
||||||
|
};
|
||||||
|
return levelMap[intentLevel] || '--';
|
||||||
|
};
|
||||||
|
|
||||||
|
// 截断文本
|
||||||
|
const truncateText = (text, maxLength) => {
|
||||||
|
if (!text) return '--';
|
||||||
|
if (text.length <= maxLength) return text;
|
||||||
|
return text.substring(0, maxLength) + '...';
|
||||||
|
};
|
||||||
|
|
||||||
// 格式化日期时间
|
// 格式化日期时间
|
||||||
const formatDateTime = (dateTime) => {
|
const formatDateTime = (dateTime) => {
|
||||||
if (!dateTime) return '暂无';
|
if (!dateTime) return '暂无';
|
||||||
|
|
@ -561,7 +617,7 @@ defineExpose({
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 14px;
|
|
||||||
padding-bottom: 12px;
|
padding-bottom: 12px;
|
||||||
border-bottom: 1px solid #f0f2f5;
|
border-bottom: 1px solid #f0f2f5;
|
||||||
}
|
}
|
||||||
|
|
@ -638,8 +694,8 @@ defineExpose({
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
margin-bottom: 14px;
|
|
||||||
padding: 8px 12px;
|
|
||||||
background-color: #fafbfc;
|
background-color: #fafbfc;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
@ -659,6 +715,67 @@ defineExpose({
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 客户详细信息 */
|
||||||
|
.customer-details {
|
||||||
|
|
||||||
|
padding: 12px;
|
||||||
|
background-color: #fafbfc;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-row {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 1.6;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-label {
|
||||||
|
color: #909399;
|
||||||
|
font-weight: 500;
|
||||||
|
flex-shrink: 0;
|
||||||
|
margin-right: 4px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-value {
|
||||||
|
color: #606266;
|
||||||
|
word-break: break-all;
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.follow-content {
|
||||||
|
color: #303133;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 客户意向标签 */
|
||||||
|
.intent-tags {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 6px;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intent-tag {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #2885ff;
|
||||||
|
background-color: #e6f2ff;
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 1px solid #b3d8ff;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
/* 操作按钮 */
|
/* 操作按钮 */
|
||||||
.action-buttons {
|
.action-buttons {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user