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] =?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
}