From 7146fdc9b9640c140d39e676453c09fe6a5248a2 Mon Sep 17 00:00:00 2001
From: Wanwan <913752709@qq.com>
Date: Mon, 6 Nov 2023 22:00:40 +0800
Subject: [PATCH 1/7] =?UTF-8?q?style:=20=E5=AE=A2=E6=88=B7=20review=20?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/crm/customer/detail/CustomerDetails.vue | 7 +++----
src/views/crm/customer/detail/index.vue | 3 +--
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/views/crm/customer/detail/CustomerDetails.vue b/src/views/crm/customer/detail/CustomerDetails.vue
index 1065b22c..2e584bd9 100644
--- a/src/views/crm/customer/detail/CustomerDetails.vue
+++ b/src/views/crm/customer/detail/CustomerDetails.vue
@@ -44,6 +44,9 @@
{{ customer.contactNextTime ? formatDate(customer.contactNextTime, 'YYYY-MM-DD') : '空' }}
+
+ {{ customer.contactLastTime ? formatDate(customer.contactLastTime) : '空' }}
+
@@ -71,10 +74,6 @@
{{ customer.updateTime ? formatDate(customer.updateTime) : '空' }}
-
-
- {{ customer.contactLastTime ? formatDate(customer.contactLastTime) : '空' }}
-
diff --git a/src/views/crm/customer/detail/index.vue b/src/views/crm/customer/detail/index.vue
index 1caeadef..f250bc28 100644
--- a/src/views/crm/customer/detail/index.vue
+++ b/src/views/crm/customer/detail/index.vue
@@ -63,8 +63,7 @@
-
-
+
From 288aa72cdd3ebd889118d02f8e66ca606ddc4d09 Mon Sep 17 00:00:00 2001
From: Wanwan <913752709@qq.com>
Date: Thu, 9 Nov 2023 00:05:10 +0800
Subject: [PATCH 2/7] =?UTF-8?q?feat:=20CRM=20=E5=AE=A2=E6=88=B7=E5=85=AC?=
=?UTF-8?q?=E6=B5=B7=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/crm/customerPoolConf/index.ts | 19 ++++
src/views/crm/customerPoolConf/index.vue | 134 +++++++++++++++++++++++
2 files changed, 153 insertions(+)
create mode 100644 src/api/crm/customerPoolConf/index.ts
create mode 100644 src/views/crm/customerPoolConf/index.vue
diff --git a/src/api/crm/customerPoolConf/index.ts b/src/api/crm/customerPoolConf/index.ts
new file mode 100644
index 00000000..8234ba36
--- /dev/null
+++ b/src/api/crm/customerPoolConf/index.ts
@@ -0,0 +1,19 @@
+import request from '@/config/axios'
+
+export interface CustomerPoolConfigVO {
+ enabled?: boolean
+ contactExpireDays?: number
+ dealExpireDays?: number
+ notifyEnabled?: boolean
+ notifyDays: number
+}
+
+// 获取客户公海规则设置
+export const getCustomerPoolConfig = async () => {
+ return await request.get({ url: `/crm/customer-pool-config/get` })
+}
+
+// 更新客户公海规则设置
+export const updateCustomerPoolConfig = async (data: ConfigVO) => {
+ return await request.put({ url: `/crm/customer-pool-config/update`, data })
+}
diff --git a/src/views/crm/customerPoolConf/index.vue b/src/views/crm/customerPoolConf/index.vue
new file mode 100644
index 00000000..518c6f3d
--- /dev/null
+++ b/src/views/crm/customerPoolConf/index.vue
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+ 不启用
+ 启用
+
+
+
+
+
+ 天不跟进或
+
+ 天未成交
+
+
+
+ 不提醒
+ 提醒
+
+
+
+
+ 提前
+
+ 天提醒
+
+
+
+
+
+
+
+
+
From 59b2d89a18855091851270d6c1cebcc1fb6b0178 Mon Sep 17 00:00:00 2001
From: Wanwan <913752709@qq.com>
Date: Thu, 9 Nov 2023 00:08:09 +0800
Subject: [PATCH 3/7] =?UTF-8?q?feat:=20CRM=20=E5=AE=A2=E6=88=B7=E5=85=AC?=
=?UTF-8?q?=E6=B5=B7=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/crm/customerPoolConf/index.vue | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/views/crm/customerPoolConf/index.vue b/src/views/crm/customerPoolConf/index.vue
index 518c6f3d..1ea61f94 100644
--- a/src/views/crm/customerPoolConf/index.vue
+++ b/src/views/crm/customerPoolConf/index.vue
@@ -11,7 +11,12 @@
- 保存
+ 保存
From 6369b334e311f5cc402685d230df8d453d4c5007 Mon Sep 17 00:00:00 2001
From: Wanwan <913752709@qq.com>
Date: Sat, 11 Nov 2023 20:50:33 +0800
Subject: [PATCH 4/7] =?UTF-8?q?feat:=20CRM=20=E5=AE=A2=E6=88=B7=E9=99=90?=
=?UTF-8?q?=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/crm/customerLimitConfig/index.ts | 35 +++
src/api/system/user/index.ts | 5 +
.../CustomerLimitConfigForm.vue | 222 ++++++++++++++++++
.../CustomerQuantityLimit.vue | 130 ++++++++++
.../customerLimitConfig/customerLimitConf.ts | 13 +
src/views/crm/customerLimitConfig/index.vue | 20 ++
src/views/crm/customerPoolConf/index.vue | 4 +-
7 files changed, 427 insertions(+), 2 deletions(-)
create mode 100644 src/api/crm/customerLimitConfig/index.ts
create mode 100644 src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue
create mode 100644 src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue
create mode 100644 src/views/crm/customerLimitConfig/customerLimitConf.ts
create mode 100644 src/views/crm/customerLimitConfig/index.vue
diff --git a/src/api/crm/customerLimitConfig/index.ts b/src/api/crm/customerLimitConfig/index.ts
new file mode 100644
index 00000000..22fde3ea
--- /dev/null
+++ b/src/api/crm/customerLimitConfig/index.ts
@@ -0,0 +1,35 @@
+import request from '@/config/axios'
+
+export interface CustomerLimitConfigVO {
+ id?: number
+ type?: number
+ userIds?: string
+ deptIds?: string
+ maxCount?: number
+ dealCountEnabled?: boolean
+}
+
+// 查询客户限制配置列表
+export const getCustomerLimitConfigPage = async (params) => {
+ return await request.get({ url: `/crm/customer-limit-config/page`, params })
+}
+
+// 查询客户限制配置详情
+export const getCustomerLimitConfig = async (id: number) => {
+ return await request.get({ url: `/crm/customer-limit-config/get?id=` + id })
+}
+
+// 新增客户限制配置
+export const createCustomerLimitConfig = async (data: CustomerLimitConfigVO) => {
+ return await request.post({ url: `/crm/customer-limit-config/create`, data })
+}
+
+// 修改客户限制配置
+export const updateCustomerLimitConfig = async (data: CustomerLimitConfigVO) => {
+ return await request.put({ url: `/crm/customer-limit-config/update`, data })
+}
+
+// 删除客户限制配置
+export const deleteCustomerLimitConfig = async (id: number) => {
+ return await request.delete({ url: `/crm/customer-limit-config/delete?id=` + id })
+}
diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts
index 6224f0e8..689fec0d 100644
--- a/src/api/system/user/index.ts
+++ b/src/api/system/user/index.ts
@@ -22,6 +22,11 @@ export const getUserPage = (params: PageParam) => {
return request.get({ url: '/system/user/page', params })
}
+// 查询所有用户列表
+export const getAllUser = () => {
+ return request.get({ url: '/system/user/all' })
+}
+
// 查询用户详情
export const getUser = (id: number) => {
return request.get({ url: '/system/user/get?id=' + id })
diff --git a/src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue b/src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue
new file mode 100644
index 00000000..006c1349
--- /dev/null
+++ b/src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue
@@ -0,0 +1,222 @@
+
+
+
+
diff --git a/src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue b/src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue
new file mode 100644
index 00000000..fec9acb4
--- /dev/null
+++ b/src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue
@@ -0,0 +1,130 @@
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/crm/customerLimitConfig/customerLimitConf.ts b/src/views/crm/customerLimitConfig/customerLimitConf.ts
new file mode 100644
index 00000000..188e6ef4
--- /dev/null
+++ b/src/views/crm/customerLimitConfig/customerLimitConf.ts
@@ -0,0 +1,13 @@
+/**
+ * 客户限制配置类型
+ */
+export enum LimitConfType {
+ /**
+ * 拥有客户数限制
+ */
+ CUSTOMER_QUANTITY_LIMIT = 1,
+ /**
+ * 锁定客户数限制
+ */
+ CUSTOMER_LOCK_LIMIT = 2
+}
diff --git a/src/views/crm/customerLimitConfig/index.vue b/src/views/crm/customerLimitConfig/index.vue
new file mode 100644
index 00000000..49582ca1
--- /dev/null
+++ b/src/views/crm/customerLimitConfig/index.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/crm/customerPoolConf/index.vue b/src/views/crm/customerPoolConf/index.vue
index 1ea61f94..92467fee 100644
--- a/src/views/crm/customerPoolConf/index.vue
+++ b/src/views/crm/customerPoolConf/index.vue
@@ -87,7 +87,6 @@ const getConfig = async () => {
return
}
formData.value = data
- console.log(formData.value)
} finally {
formLoading.value = false
}
@@ -107,7 +106,8 @@ const onSubmit = async () => {
const data = formData.value as unknown as CustomerPoolConfApi.CustomerPoolConfigVO
await CustomerPoolConfApi.updateCustomerPoolConfig(data)
message.success(t('common.updateSuccess'))
- dialogVisible.value = false
+ await getConfig()
+ formLoading.value = false
} finally {
formLoading.value = false
}
From a7f86dfd8bdc2813263d8a449d1b0efeec8fd490 Mon Sep 17 00:00:00 2001
From: Wanwan <913752709@qq.com>
Date: Sat, 11 Nov 2023 21:06:11 +0800
Subject: [PATCH 5/7] =?UTF-8?q?feat:=20CRM=20=E5=AE=A2=E6=88=B7=E9=99=90?=
=?UTF-8?q?=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../crm/customer/detail/CustomerDetails.vue | 160 +++++++++---------
src/views/crm/customer/detail/index.vue | 3 +-
.../CustomerQuantityLimit.vue | 17 +-
src/views/crm/customerLimitConfig/index.vue | 2 +-
4 files changed, 100 insertions(+), 82 deletions(-)
diff --git a/src/views/crm/customer/detail/CustomerDetails.vue b/src/views/crm/customer/detail/CustomerDetails.vue
index 2e584bd9..67beae94 100644
--- a/src/views/crm/customer/detail/CustomerDetails.vue
+++ b/src/views/crm/customer/detail/CustomerDetails.vue
@@ -1,82 +1,86 @@
-
-
-
- 基本信息
-
-
-
- {{ customer.name }}
-
-
-
-
-
-
-
-
-
-
-
- {{ customer.mobile }}
-
-
- {{ customer.telephone }}
-
-
- {{ customer.email }}
-
-
- {{ customer.qq }}
-
-
- {{ customer.wechat }}
-
-
- {{ customer.website }}
-
-
- {{ customer.areaName }}
-
-
- {{ customer.detailAddress }}
-
-
- {{ customer.contactNextTime ? formatDate(customer.contactNextTime, 'YYYY-MM-DD') : '空' }}
-
-
- {{ customer.contactLastTime ? formatDate(customer.contactLastTime) : '空' }}
-
-
-
-
- {{ customer.description }}
-
-
- {{ customer.remark }}
-
-
-
-
-
- 系统信息
-
-
-
- {{ customer.ownerUserName }}
-
-
- {{ customer.creatorName }}
-
-
- {{ customer.createTime ? formatDate(customer.createTime) : '空' }}
-
-
- {{ customer.updateTime ? formatDate(customer.updateTime) : '空' }}
-
-
-
-
+
+
+
+
+ 基本信息
+
+
+
+ {{ customer.name }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ customer.mobile }}
+
+
+ {{ customer.telephone }}
+
+
+ {{ customer.email }}
+
+
+ {{ customer.qq }}
+
+
+ {{ customer.wechat }}
+
+
+ {{ customer.website }}
+
+
+ {{ customer.areaName }}
+
+
+ {{ customer.detailAddress }}
+
+
+ {{
+ customer.contactNextTime ? formatDate(customer.contactNextTime, 'YYYY-MM-DD') : '空'
+ }}
+
+
+ {{ customer.contactLastTime ? formatDate(customer.contactLastTime) : '空' }}
+
+
+
+
+ {{ customer.description }}
+
+
+ {{ customer.remark }}
+
+
+
+
+
+ 系统信息
+
+
+
+ {{ customer.ownerUserName }}
+
+
+ {{ customer.creatorName }}
+
+
+ {{ customer.createTime ? formatDate(customer.createTime) : '空' }}
+
+
+ {{ customer.updateTime ? formatDate(customer.updateTime) : '空' }}
+
+
+
+
+