diff --git a/common/api/customer.js b/common/api/customer.js
index 9c3954e..d5bfc7e 100644
--- a/common/api/customer.js
+++ b/common/api/customer.js
@@ -7,7 +7,7 @@
* @param {Object} params 请求参数(可选)
* @param {number} params.pageNum 页码(从1开始)
* @param {number} params.pageSize 每页数量
- * @param {string[]} params.statusList 客户状态列表:["1"] 正在跟进, ["2"] 待跟进
+ * @param {string[]} params.statusList 客户状态列表:["1"] 潜在, ["2"] 意向, ["3"] 成交, ["4"] 失效
* @param {string} params.excludeld 排除id
* @param {string[]} params.ids id列表
* @param {string} params.intent 意向
diff --git a/components/CustomerManagement.vue b/components/CustomerManagement.vue
index 382b498..f9c2bd8 100644
--- a/components/CustomerManagement.vue
+++ b/components/CustomerManagement.vue
@@ -21,14 +21,24 @@
>全部
正在跟进
+ :class="{ 'active': filterStatus === 'potential' }"
+ @click="filterStatus = 'potential'"
+ >潜在
待跟进
+ :class="{ 'active': filterStatus === 'intent' }"
+ @click="filterStatus = 'intent'"
+ >意向
+ 成交
+ 失效
@@ -73,7 +83,7 @@
- ✓
+ ✓
跟进
@@ -147,18 +157,20 @@ const {
// 获取状态样式类
const getStatusClass = (status) => {
return {
- 'status-following': status === '1', // 正在跟进
- 'status-pending': status === '2' // 待跟进
+ 'status-potential': status === '1', // 潜在
+ 'status-intent': status === '2', // 意向
+ 'status-deal': status === '3', // 成交
+ 'status-invalid': status === '4' // 失效
};
};
// 获取状态文本
const getStatusText = (status) => {
const statusMap = {
- '1': '正在跟进',
- '2': '待跟进',
- '3': '其他',
- '4': '无效客户'
+ '1': '潜在',
+ '2': '意向',
+ '3': '成交',
+ '4': '失效'
};
return statusMap[status] || '未知';
};
@@ -187,9 +199,10 @@ const buildQueryParams = () => {
// 只有有效的筛选状态才添加statusList参数
if (filterStatus.value) {
const statusMap = {
- 'following': ['1'], // 正在跟进
- 'pending': ['2'], // 待跟进
-
+ 'potential': ['1'], // 潜在
+ 'intent': ['2'], // 意向
+ 'deal': ['3'], // 成交
+ 'invalid': ['4'] // 失效
};
const statusList = statusMap[filterStatus.value];
@@ -593,13 +606,24 @@ defineExpose({
border-radius: 50%;
flex-shrink: 0;
- &.status-following {
- background-color: #2885ff;
- box-shadow: 0 0 4px rgba(40, 133, 255, 0.4);
+ &.status-potential {
+ background-color: #e6a23c;
+ box-shadow: 0 0 4px rgba(230, 162, 60, 0.4);
}
- &.status-pending {
- background-color: #909399;
+ &.status-intent {
+ background-color: #409eff;
+ box-shadow: 0 0 4px rgba(64, 158, 255, 0.4);
+ }
+
+ &.status-deal {
+ background-color: #67c23a;
+ box-shadow: 0 0 4px rgba(103, 194, 58, 0.4);
+ }
+
+ &.status-invalid {
+ background-color: #f56c6c;
+ box-shadow: 0 0 4px rgba(245, 108, 108, 0.4);
}
}
diff --git a/pages/customer/detail/index.vue b/pages/customer/detail/index.vue
index 317c827..6f30b00 100644
--- a/pages/customer/detail/index.vue
+++ b/pages/customer/detail/index.vue
@@ -219,18 +219,20 @@ const loadProjectList = async () => {
// 获取状态样式类
const getStatusClass = (status) => {
return {
- 'status-following': status === '1',
- 'status-pending': status === '2'
+ 'status-potential': status === '1', // 潜在
+ 'status-intent': status === '2', // 意向
+ 'status-deal': status === '3', // 成交
+ 'status-invalid': status === '4' // 失效
};
};
// 获取状态文本
const getStatusText = (status) => {
const statusMap = {
- '1': '正在跟进',
- '2': '待跟进',
- '3': '其他',
- '4': '无效客户'
+ '1': '潜在',
+ '2': '意向',
+ '3': '成交',
+ '4': '失效'
};
return statusMap[status] || '未知';
};
@@ -495,14 +497,24 @@ onShow(() => {
border-radius: 4px;
font-size: 12px;
- &.status-following {
- background-color: #e3f2fd;
- color: #1976d2;
+ &.status-potential {
+ background-color: #fdf6ec;
+ color: #e6a23c;
}
- &.status-pending {
- background-color: #f5f5f5;
- color: #666;
+ &.status-intent {
+ background-color: #ecf5ff;
+ color: #409eff;
+ }
+
+ &.status-deal {
+ background-color: #f0f9ff;
+ color: #67c23a;
+ }
+
+ &.status-invalid {
+ background-color: #fef0f0;
+ color: #f56c6c;
}
}
diff --git a/pages/customer/follow/detail/index.vue b/pages/customer/follow/detail/index.vue
index cb3b444..1c0de6c 100644
--- a/pages/customer/follow/detail/index.vue
+++ b/pages/customer/follow/detail/index.vue
@@ -293,18 +293,20 @@ const formatIntents = (intents) => {
// 获取状态样式类
const getStatusClass = (status) => {
return {
- 'status-following': status === '1',
- 'status-pending': status === '2'
+ 'status-potential': status === '1', // 潜在
+ 'status-intent': status === '2', // 意向
+ 'status-deal': status === '3', // 成交
+ 'status-invalid': status === '4' // 失效
};
};
// 获取状态文本
const getStatusText = (status) => {
const statusMap = {
- '1': '正在跟进',
- '2': '待跟进',
- '3': '其他',
- '4': '无效客户'
+ '1': '潜在',
+ '2': '意向',
+ '3': '成交',
+ '4': '失效'
};
return statusMap[status] || '未知';
};
@@ -312,18 +314,20 @@ const getStatusText = (status) => {
// 获取客户状态样式类
const getCustomerStatusClass = (status) => {
return {
- 'status-following': status === '1',
- 'status-pending': status === '2'
+ 'status-potential': status === '1', // 潜在
+ 'status-intent': status === '2', // 意向
+ 'status-deal': status === '3', // 成交
+ 'status-invalid': status === '4' // 失效
};
};
// 获取客户状态文本
const getCustomerStatusText = (status) => {
const statusMap = {
- '1': '正在跟进',
- '2': '待跟进',
- '3': '其他',
- '4': '无效客户'
+ '1': '潜在',
+ '2': '意向',
+ '3': '成交',
+ '4': '失效'
};
return statusMap[status] || '未知';
};
@@ -536,14 +540,24 @@ onMounted(() => {
border-radius: 4px;
font-size: 12px;
- &.status-following {
- background-color: #e3f2fd;
- color: #1976d2;
+ &.status-potential {
+ background-color: #fdf6ec;
+ color: #e6a23c;
}
- &.status-pending {
- background-color: #f5f5f5;
- color: #666;
+ &.status-intent {
+ background-color: #ecf5ff;
+ color: #409eff;
+ }
+
+ &.status-deal {
+ background-color: #f0f9ff;
+ color: #67c23a;
+ }
+
+ &.status-invalid {
+ background-color: #fef0f0;
+ color: #f56c6c;
}
}